google-apis-compute_v1-0.140.0/0000755000004100000410000000000015140136377016201 5ustar www-datawww-datagoogle-apis-compute_v1-0.140.0/OVERVIEW.md0000644000004100000410000001360715140136377020000 0ustar www-datawww-data# Simple REST client for version V1 of the Compute Engine API This is a simple client library for version V1 of the Compute Engine API. It provides: * A client object that connects to the HTTP/JSON REST endpoint for the service. * Ruby objects for data structures related to the service. * Integration with the googleauth gem for authentication using OAuth, API keys, and service accounts. * Control of retry, pagination, and timeouts. Note that although this client library is supported and will continue to be updated to track changes to the service, it is otherwise considered complete and not under active development. Many Google services, especially Google Cloud Platform services, may provide a more modern client that is under more active development and improvement. See the section below titled *Which client should I use?* for more information. ## Getting started ### Before you begin There are a few setup steps you need to complete before you can use this library: 1. If you don't already have a Google account, [sign up](https://www.google.com/accounts). 2. If you have never created a Google APIs Console project, read about [Managing Projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects) and create a project in the [Google API Console](https://console.cloud.google.com/). 3. Most APIs need to be enabled for your project. [Enable it](https://console.cloud.google.com/apis/library/compute.googleapis.com) in the console. ### Installation Add this line to your application's Gemfile: ```ruby gem 'google-apis-compute_v1', '~> 0.1' ``` And then execute: ``` $ bundle ``` Or install it yourself as: ``` $ gem install google-apis-compute_v1 ``` ### Creating a client object Once the gem is installed, you can load the client code and instantiate a client. ```ruby # Load the client require "google/apis/compute_v1" # Create a client object client = Google::Apis::ComputeV1::ComputeService.new # Authenticate calls client.authorization = # ... use the googleauth gem to create credentials ``` See the class reference docs for information on the methods you can call from a client. ## Documentation More detailed descriptions of the Google simple REST clients are available in two documents. * The [Usage Guide](https://github.com/googleapis/google-api-ruby-client/blob/main/docs/usage-guide.md) discusses how to make API calls, how to use the provided data structures, and how to work the various features of the client library, including media upload and download, error handling, retries, pagination, and logging. * The [Auth Guide](https://github.com/googleapis/google-api-ruby-client/blob/main/docs/auth-guide.md) discusses authentication in the client libraries, including API keys, OAuth 2.0, service accounts, and environment variables. (Note: the above documents are written for the simple REST clients in general, and their examples may not reflect the Compute service in particular.) For reference information on specific calls in the Compute Engine API, see the {Google::Apis::ComputeV1::ComputeService class reference docs}. ## Which client should I use? Google provides two types of Ruby API client libraries: **simple REST clients** and **modern clients**. This library, `google-apis-compute_v1`, is a simple REST client. You can identify these clients by their gem names, which are always in the form `google-apis-_`. The simple REST clients connect to HTTP/JSON REST endpoints and are automatically generated from service discovery documents. They support most API functionality, but their class interfaces are sometimes awkward. Modern clients are produced by a modern code generator, sometimes combined with hand-crafted functionality. Most modern clients connect to high-performance gRPC endpoints, although a few are backed by REST services. Modern clients are available for many Google services, especially Google Cloud Platform services, but do not yet support all the services covered by the simple clients. Gem names for modern clients are often of the form `google-cloud-`. (For example, [google-cloud-pubsub](https://rubygems.org/gems/google-cloud-pubsub).) Note that most modern clients also have corresponding "versioned" gems with names like `google-cloud--`. (For example, [google-cloud-pubsub-v1](https://rubygems.org/gems/google-cloud-pubsub-v1).) The "versioned" gems can be used directly, but often provide lower-level interfaces. In most cases, the main gem is recommended. **For most users, we recommend the modern client, if one is available.** Compared with simple clients, modern clients are generally much easier to use and more Ruby-like, support more advanced features such as streaming and long-running operations, and often provide much better performance. You may consider using a simple client instead, if a modern client is not yet available for the service you want to use, or if you are not able to use gRPC on your infrastructure. The [product documentation](https://cloud.google.com/compute/) may provide guidance regarding the preferred client library to use. ## Supported Ruby versions This library is supported on Ruby 3.1+. Google provides official support for Ruby versions that are actively supported by Ruby Core -- that is, Ruby versions that are either in normal maintenance or in security maintenance, and not end of life. Older versions of Ruby _may_ still work, but are unsupported and not recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby support schedule. ## License This library is licensed under Apache 2.0. Full license text is available in the {file:LICENSE.md LICENSE}. ## Support Please [report bugs at the project on Github](https://github.com/google/google-api-ruby-client/issues). Don't hesitate to [ask questions](http://stackoverflow.com/questions/tagged/google-api-ruby-client) about the client or APIs on [StackOverflow](http://stackoverflow.com). google-apis-compute_v1-0.140.0/lib/0000755000004100000410000000000015140136377016747 5ustar www-datawww-datagoogle-apis-compute_v1-0.140.0/lib/google/0000755000004100000410000000000015140136377020223 5ustar www-datawww-datagoogle-apis-compute_v1-0.140.0/lib/google/apis/0000755000004100000410000000000015140136377021157 5ustar www-datawww-datagoogle-apis-compute_v1-0.140.0/lib/google/apis/compute_v1/0000755000004100000410000000000015140136377023241 5ustar www-datawww-datagoogle-apis-compute_v1-0.140.0/lib/google/apis/compute_v1/gem_version.rb0000644000004100000410000000164115140136377026105 0ustar www-datawww-data# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. module Google module Apis module ComputeV1 # Version of the google-apis-compute_v1 gem GEM_VERSION = "0.140.0" # Version of the code generator used to generate this client GENERATOR_VERSION = "0.18.0" # Revision of the discovery document this client was generated from REVISION = "20260122" end end end google-apis-compute_v1-0.140.0/lib/google/apis/compute_v1/service.rb0000644000004100000410001572155215140136377025250 0ustar www-datawww-data# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require 'google/apis/core/base_service' require 'google/apis/core/json_representation' require 'google/apis/core/hashable' require 'google/apis/errors' module Google module Apis module ComputeV1 # Compute Engine API # # Creates and runs virtual machines on Google Cloud Platform. # # @example # require 'google/apis/compute_v1' # # Compute = Google::Apis::ComputeV1 # Alias the module # service = Compute::ComputeService.new # # @see https://cloud.google.com/compute/ class ComputeService < Google::Apis::Core::BaseService DEFAULT_ENDPOINT_TEMPLATE = "https://compute.$UNIVERSE_DOMAIN$/" # @return [String] # 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. attr_accessor :key # @return [String] # 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. attr_accessor :quota_user # @return [String] # Legacy name for parameter that has been superseded by `quotaUser`. attr_accessor :user_ip def initialize super(DEFAULT_ENDPOINT_TEMPLATE, 'compute/v1/', client_name: 'google-apis-compute_v1', client_version: Google::Apis::ComputeV1::GEM_VERSION) @batch_path = 'batch/compute/v1' end # Retrieves an aggregated list of accelerator types. # To prevent failure, it is recommended that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::AcceleratorTypeAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::AcceleratorTypeAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_accelerator_type_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/acceleratorTypes', options) command.response_representation = Google::Apis::ComputeV1::AcceleratorTypeAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::AcceleratorTypeAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified accelerator type. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] accelerator_type # Name of the accelerator type to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::AcceleratorType] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::AcceleratorType] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_accelerator_type(project, zone, accelerator_type, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/acceleratorTypes/{acceleratorType}', options) command.response_representation = Google::Apis::ComputeV1::AcceleratorType::Representation command.response_class = Google::Apis::ComputeV1::AcceleratorType command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['acceleratorType'] = accelerator_type unless accelerator_type.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of accelerator types that are available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::AcceleratorTypeList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::AcceleratorTypeList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_accelerator_types(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/acceleratorTypes', options) command.response_representation = Google::Apis::ComputeV1::AcceleratorTypeList::Representation command.response_class = Google::Apis::ComputeV1::AcceleratorTypeList command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of addresses. # To prevent failure, it is recommended that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::AddressAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::AddressAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_aggregated_addresses(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/addresses', options) command.response_representation = Google::Apis::ComputeV1::AddressAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::AddressAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified address resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] address # Name of the address resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_address(project, region, address, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/addresses/{address}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['address'] = address unless address.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified address resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] address # Name of the address resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Address] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Address] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_address(project, region, address, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/addresses/{address}', options) command.response_representation = Google::Apis::ComputeV1::Address::Representation command.response_class = Google::Apis::ComputeV1::Address command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['address'] = address unless address.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates an address resource in the specified project by using the data # included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [Google::Apis::ComputeV1::Address] address_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_address(project, region, address_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/addresses', options) command.request_representation = Google::Apis::ComputeV1::Address::Representation command.request_object = address_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of addresses contained within # the specified region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::AddressList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::AddressList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_addresses(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/addresses', options) command.response_representation = Google::Apis::ComputeV1::AddressList::Representation command.response_class = Google::Apis::ComputeV1::AddressList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Moves the specified address resource. # @param [String] project # Source project ID which the Address is moved from. # @param [String] region # Name of the region for this request. # @param [String] address # Name of the address resource to move. # @param [Google::Apis::ComputeV1::RegionAddressesMoveRequest] region_addresses_move_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def move_address(project, region, address, region_addresses_move_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/addresses/{address}/move', options) command.request_representation = Google::Apis::ComputeV1::RegionAddressesMoveRequest::Representation command.request_object = region_addresses_move_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['address'] = address unless address.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on an Address. To learn more about labels, read theLabeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] region # The region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_address_labels(project, region, resource, region_set_labels_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/addresses/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::RegionSetLabelsRequest::Representation command.request_object = region_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_address_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/addresses/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Advise how, where and when to create the requested amount of instances # with specified accelerators, within the specified time and location limits. # The method recommends creating future reservations for the requested # resources. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [Google::Apis::ComputeV1::CalendarModeAdviceRequest] calendar_mode_advice_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::CalendarModeAdviceResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::CalendarModeAdviceResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def calendar_mode_advice(project, region, calendar_mode_advice_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/advice/calendarMode', options) command.request_representation = Google::Apis::ComputeV1::CalendarModeAdviceRequest::Representation command.request_object = calendar_mode_advice_request_object command.response_representation = Google::Apis::ComputeV1::CalendarModeAdviceResponse::Representation command.response_class = Google::Apis::ComputeV1::CalendarModeAdviceResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of autoscalers. # To prevent failure, it is recommended that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::AutoscalerAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::AutoscalerAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_aggregated_autoscalers(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/autoscalers', options) command.response_representation = Google::Apis::ComputeV1::AutoscalerAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::AutoscalerAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified autoscaler. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. # @param [String] autoscaler # Name of the autoscaler to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_autoscaler(project, zone, autoscaler, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/zones/{zone}/autoscalers/{autoscaler}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['autoscaler'] = autoscaler unless autoscaler.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified autoscaler resource. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. # @param [String] autoscaler # Name of the autoscaler to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Autoscaler] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Autoscaler] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_autoscaler(project, zone, autoscaler, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/autoscalers/{autoscaler}', options) command.response_representation = Google::Apis::ComputeV1::Autoscaler::Representation command.response_class = Google::Apis::ComputeV1::Autoscaler command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['autoscaler'] = autoscaler unless autoscaler.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates an autoscaler in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. # @param [Google::Apis::ComputeV1::Autoscaler] autoscaler_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_autoscaler(project, zone, autoscaler_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/autoscalers', options) command.request_representation = Google::Apis::ComputeV1::Autoscaler::Representation command.request_object = autoscaler_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of autoscalers contained within # the specified zone. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::AutoscalerList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::AutoscalerList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_autoscalers(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/autoscalers', options) command.response_representation = Google::Apis::ComputeV1::AutoscalerList::Representation command.response_class = Google::Apis::ComputeV1::AutoscalerList command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates an autoscaler in the specified project using the data # included in the request. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. # @param [Google::Apis::ComputeV1::Autoscaler] autoscaler_object # @param [String] autoscaler # Name of the autoscaler to patch. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_autoscaler(project, zone, autoscaler_object = nil, autoscaler: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/zones/{zone}/autoscalers', options) command.request_representation = Google::Apis::ComputeV1::Autoscaler::Representation command.request_object = autoscaler_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['autoscaler'] = autoscaler unless autoscaler.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_autoscaler_iam_permissions(project, zone, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/autoscalers/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates an autoscaler in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. # @param [Google::Apis::ComputeV1::Autoscaler] autoscaler_object # @param [String] autoscaler # Name of the autoscaler to update. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_autoscaler(project, zone, autoscaler_object = nil, autoscaler: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:put, 'projects/{project}/zones/{zone}/autoscalers', options) command.request_representation = Google::Apis::ComputeV1::Autoscaler::Representation command.request_object = autoscaler_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['autoscaler'] = autoscaler unless autoscaler.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Adds a key for validating requests with signed URLs for this backend # bucket. # @param [String] project # Project ID for this request. # @param [String] backend_bucket # Name of the BackendBucket resource to which the Signed URL Key should be # added. The name should conform to RFC1035. # @param [Google::Apis::ComputeV1::SignedUrlKey] signed_url_key_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_backend_bucket_signed_url_key(project, backend_bucket, signed_url_key_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/backendBuckets/{backendBucket}/addSignedUrlKey', options) command.request_representation = Google::Apis::ComputeV1::SignedUrlKey::Representation command.request_object = signed_url_key_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['backendBucket'] = backend_bucket unless backend_bucket.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified BackendBucket resource. # @param [String] project # Project ID for this request. # @param [String] backend_bucket # Name of the BackendBucket resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_backend_bucket(project, backend_bucket, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/backendBuckets/{backendBucket}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['backendBucket'] = backend_bucket unless backend_bucket.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes a key for validating requests with signed URLs for this backend # bucket. # @param [String] project # Project ID for this request. # @param [String] backend_bucket # Name of the BackendBucket resource to which the Signed URL Key should be # added. The name should conform to RFC1035. # @param [String] key_name # The name of the Signed URL Key to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_backend_bucket_signed_url_key(project, backend_bucket, key_name, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/backendBuckets/{backendBucket}/deleteSignedUrlKey', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['backendBucket'] = backend_bucket unless backend_bucket.nil? command.query['keyName'] = key_name unless key_name.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified BackendBucket resource. # @param [String] project # Project ID for this request. # @param [String] backend_bucket # Name of the BackendBucket resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::BackendBucket] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::BackendBucket] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_backend_bucket(project, backend_bucket, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/backendBuckets/{backendBucket}', options) command.response_representation = Google::Apis::ComputeV1::BackendBucket::Representation command.response_class = Google::Apis::ComputeV1::BackendBucket command.params['project'] = project unless project.nil? command.params['backendBucket'] = backend_bucket unless backend_bucket.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_backend_bucket_iam_policy(project, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/backendBuckets/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a BackendBucket resource in the specified project using # the data included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::BackendBucket] backend_bucket_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_backend_bucket(project, backend_bucket_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/backendBuckets', options) command.request_representation = Google::Apis::ComputeV1::BackendBucket::Representation command.request_object = backend_bucket_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of BackendBucket resources available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::BackendBucketList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::BackendBucketList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_backend_buckets(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/backendBuckets', options) command.response_representation = Google::Apis::ComputeV1::BackendBucketList::Representation command.response_class = Google::Apis::ComputeV1::BackendBucketList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified BackendBucket resource with the data included in the # request. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] backend_bucket # Name of the BackendBucket resource to patch. # @param [Google::Apis::ComputeV1::BackendBucket] backend_bucket_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_backend_bucket(project, backend_bucket, backend_bucket_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/backendBuckets/{backendBucket}', options) command.request_representation = Google::Apis::ComputeV1::BackendBucket::Representation command.request_object = backend_bucket_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['backendBucket'] = backend_bucket unless backend_bucket.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the edge security policy for the specified backend bucket. # @param [String] project # Project ID for this request. # @param [String] backend_bucket # Name of the BackendBucket resource to which the security policy should be # set. The name should conform to RFC1035. # @param [Google::Apis::ComputeV1::SecurityPolicyReference] security_policy_reference_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_backend_bucket_edge_security_policy(project, backend_bucket, security_policy_reference_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/backendBuckets/{backendBucket}/setEdgeSecurityPolicy', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicyReference::Representation command.request_object = security_policy_reference_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['backendBucket'] = backend_bucket unless backend_bucket.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetPolicyRequest] global_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_backend_bucket_iam_policy(project, resource, global_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/backendBuckets/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetPolicyRequest::Representation command.request_object = global_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_backend_bucket_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/backendBuckets/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified BackendBucket resource with the data included in the # request. # @param [String] project # Project ID for this request. # @param [String] backend_bucket # Name of the BackendBucket resource to update. # @param [Google::Apis::ComputeV1::BackendBucket] backend_bucket_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_backend_bucket(project, backend_bucket, backend_bucket_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:put, 'projects/{project}/global/backendBuckets/{backendBucket}', options) command.request_representation = Google::Apis::ComputeV1::BackendBucket::Representation command.request_object = backend_bucket_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['backendBucket'] = backend_bucket unless backend_bucket.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Adds a key for validating requests with signed URLs for this backend # service. # @param [String] project # Project ID for this request. # @param [String] backend_service # Name of the BackendService resource to which the Signed URL Key should be # added. The name should conform to RFC1035. # @param [Google::Apis::ComputeV1::SignedUrlKey] signed_url_key_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_backend_service_signed_url_key(project, backend_service, signed_url_key_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/backendServices/{backendService}/addSignedUrlKey', options) command.request_representation = Google::Apis::ComputeV1::SignedUrlKey::Representation command.request_object = signed_url_key_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['backendService'] = backend_service unless backend_service.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of all BackendService resources, regional and global, # available to the specified project. # To prevent failure, it is recommended that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Name of the project scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::BackendServiceAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::BackendServiceAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_backend_service_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/backendServices', options) command.response_representation = Google::Apis::ComputeV1::BackendServiceAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::BackendServiceAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified BackendService resource. # @param [String] project # Project ID for this request. # @param [String] backend_service # Name of the BackendService resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_backend_service(project, backend_service, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/backendServices/{backendService}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['backendService'] = backend_service unless backend_service.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes a key for validating requests with signed URLs for this backend # service. # @param [String] project # Project ID for this request. # @param [String] backend_service # Name of the BackendService resource to which the Signed URL Key should be # added. The name should conform to RFC1035. # @param [String] key_name # The name of the Signed URL Key to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_backend_service_signed_url_key(project, backend_service, key_name, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/backendServices/{backendService}/deleteSignedUrlKey', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['backendService'] = backend_service unless backend_service.nil? command.query['keyName'] = key_name unless key_name.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified BackendService resource. # @param [String] project # Project ID for this request. # @param [String] backend_service # Name of the BackendService resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::BackendService] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::BackendService] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_backend_service(project, backend_service, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/backendServices/{backendService}', options) command.response_representation = Google::Apis::ComputeV1::BackendService::Representation command.response_class = Google::Apis::ComputeV1::BackendService command.params['project'] = project unless project.nil? command.params['backendService'] = backend_service unless backend_service.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns effective security policies applied to this backend service. # @param [String] project # Project ID for this request. # @param [String] backend_service # Name of the Backend Service for this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [NilClass] No result returned for this method # @yieldparam err [StandardError] error object if request failed # # @return [void] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_backend_service_effective_security_policies(project, backend_service, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/backendServices/{backendService}/getEffectiveSecurityPolicies', options) command.params['project'] = project unless project.nil? command.params['backendService'] = backend_service unless backend_service.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the most recent health check results for this # BackendService. # Example request body: # ` # "group": "/zones/us-east1-b/instanceGroups/lb-backend-example" # ` # @param [String] project # @param [String] backend_service # Name of the BackendService resource to which the queried instance belongs. # @param [Google::Apis::ComputeV1::ResourceGroupReference] resource_group_reference_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::BackendServiceGroupHealth] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::BackendServiceGroupHealth] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_backend_service_health(project, backend_service, resource_group_reference_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/backendServices/{backendService}/getHealth', options) command.request_representation = Google::Apis::ComputeV1::ResourceGroupReference::Representation command.request_object = resource_group_reference_object command.response_representation = Google::Apis::ComputeV1::BackendServiceGroupHealth::Representation command.response_class = Google::Apis::ComputeV1::BackendServiceGroupHealth command.params['project'] = project unless project.nil? command.params['backendService'] = backend_service unless backend_service.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_backend_service_iam_policy(project, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/backendServices/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a BackendService resource in the specified project using # the data included in the request. For more information, see # Backend services overview. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::BackendService] backend_service_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_backend_service(project, backend_service_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/backendServices', options) command.request_representation = Google::Apis::ComputeV1::BackendService::Representation command.request_object = backend_service_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of BackendService resources available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::BackendServiceList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::BackendServiceList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_backend_services(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/backendServices', options) command.response_representation = Google::Apis::ComputeV1::BackendServiceList::Representation command.response_class = Google::Apis::ComputeV1::BackendServiceList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of all usable backend services in the specified project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::BackendServiceListUsable] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::BackendServiceListUsable] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_backend_service_usable(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/backendServices/listUsable', options) command.response_representation = Google::Apis::ComputeV1::BackendServiceListUsable::Representation command.response_class = Google::Apis::ComputeV1::BackendServiceListUsable command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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. # @param [String] project # Project ID for this request. # @param [String] backend_service # Name of the BackendService resource to patch. # @param [Google::Apis::ComputeV1::BackendService] backend_service_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_backend_service(project, backend_service, backend_service_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/backendServices/{backendService}', options) command.request_representation = Google::Apis::ComputeV1::BackendService::Representation command.request_object = backend_service_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['backendService'] = backend_service unless backend_service.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the edge security policy for the specified backend service. # @param [String] project # Project ID for this request. # @param [String] backend_service # Name of the BackendService resource to which the edge security policy # should be set. The name should conform to RFC1035. # @param [Google::Apis::ComputeV1::SecurityPolicyReference] security_policy_reference_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_backend_service_edge_security_policy(project, backend_service, security_policy_reference_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/backendServices/{backendService}/setEdgeSecurityPolicy', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicyReference::Representation command.request_object = security_policy_reference_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['backendService'] = backend_service unless backend_service.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetPolicyRequest] global_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_backend_service_iam_policy(project, resource, global_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/backendServices/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetPolicyRequest::Representation command.request_object = global_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the Google Cloud Armor security policy for the specified backend # service. For more information, seeGoogle # Cloud Armor Overview # @param [String] project # Project ID for this request. # @param [String] backend_service # Name of the BackendService resource to which the security policy should be # set. The name should conform to RFC1035. # @param [Google::Apis::ComputeV1::SecurityPolicyReference] security_policy_reference_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_backend_service_security_policy(project, backend_service, security_policy_reference_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/backendServices/{backendService}/setSecurityPolicy', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicyReference::Representation command.request_object = security_policy_reference_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['backendService'] = backend_service unless backend_service.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_backend_service_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/backendServices/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified BackendService resource with the data included in the # request. For more information, seeBackend # services overview. # @param [String] project # Project ID for this request. # @param [String] backend_service # Name of the BackendService resource to update. # @param [Google::Apis::ComputeV1::BackendService] backend_service_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_backend_service(project, backend_service, backend_service_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:put, 'projects/{project}/global/backendServices/{backendService}', options) command.request_representation = Google::Apis::ComputeV1::BackendService::Representation command.request_object = backend_service_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['backendService'] = backend_service unless backend_service.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified cross-site network in the given scope. # @param [String] project # Project ID for this request. # @param [String] cross_site_network # Name of the cross-site network to delete. # @param [String] request_id # 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 # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_cross_site_network(project, cross_site_network, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['crossSiteNetwork'] = cross_site_network unless cross_site_network.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified cross-site network in the given scope. # @param [String] project # Project ID for this request. # @param [String] cross_site_network # Name of the cross-site network to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::CrossSiteNetwork] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::CrossSiteNetwork] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_cross_site_network(project, cross_site_network, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}', options) command.response_representation = Google::Apis::ComputeV1::CrossSiteNetwork::Representation command.response_class = Google::Apis::ComputeV1::CrossSiteNetwork command.params['project'] = project unless project.nil? command.params['crossSiteNetwork'] = cross_site_network unless cross_site_network.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a cross-site network in the specified project in the given scope # using the parameters that are included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::CrossSiteNetwork] cross_site_network_object # @param [String] request_id # 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 # @param [Boolean] validate_only # [Input Only] Validate the new configuration, but don't create it. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_cross_site_network(project, cross_site_network_object = nil, request_id: nil, validate_only: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/crossSiteNetworks', options) command.request_representation = Google::Apis::ComputeV1::CrossSiteNetwork::Representation command.request_object = cross_site_network_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['validateOnly'] = validate_only unless validate_only.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the cross-site networks for a project in the given scope. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::CrossSiteNetworkList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::CrossSiteNetworkList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_cross_site_networks(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/crossSiteNetworks', options) command.response_representation = Google::Apis::ComputeV1::CrossSiteNetworkList::Representation command.response_class = Google::Apis::ComputeV1::CrossSiteNetworkList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified cross-site network with the data included in # the request. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] cross_site_network # Name of the cross-site network to update. # @param [Google::Apis::ComputeV1::CrossSiteNetwork] cross_site_network_object # @param [String] request_id # 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 # @param [String] update_mask # update_mask indicates fields to be updated as part of this request. # @param [Boolean] validate_only # [Input Only] Validate the new configuration, but don't update it. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_cross_site_network(project, cross_site_network, cross_site_network_object = nil, request_id: nil, update_mask: nil, validate_only: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}', options) command.request_representation = Google::Apis::ComputeV1::CrossSiteNetwork::Representation command.request_object = cross_site_network_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['crossSiteNetwork'] = cross_site_network unless cross_site_network.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['validateOnly'] = validate_only unless validate_only.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of disk types. # To prevent failure, it is recommended that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::DiskTypeAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::DiskTypeAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_aggregated_disk_types(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/diskTypes', options) command.response_representation = Google::Apis::ComputeV1::DiskTypeAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::DiskTypeAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified disk type. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] disk_type # Name of the disk type to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::DiskType] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::DiskType] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_disk_type(project, zone, disk_type, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/diskTypes/{diskType}', options) command.response_representation = Google::Apis::ComputeV1::DiskType::Representation command.response_class = Google::Apis::ComputeV1::DiskType command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['diskType'] = disk_type unless disk_type.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of disk types available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::DiskTypeList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::DiskTypeList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_disk_types(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/diskTypes', options) command.response_representation = Google::Apis::ComputeV1::DiskTypeList::Representation command.response_class = Google::Apis::ComputeV1::DiskTypeList command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Adds existing resource policies to a disk. You can only add one # policy which will be applied to this disk for scheduling snapshot # creation. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] disk # The disk name for this request. # @param [Google::Apis::ComputeV1::DisksAddResourcePoliciesRequest] disks_add_resource_policies_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_disk_resource_policies(project, zone, disk, disks_add_resource_policies_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies', options) command.request_representation = Google::Apis::ComputeV1::DisksAddResourcePoliciesRequest::Representation command.request_object = disks_add_resource_policies_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['disk'] = disk unless disk.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of persistent disks. # To prevent failure, it is recommended that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::DiskAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::DiskAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_aggregated_disk(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/disks', options) command.response_representation = Google::Apis::ComputeV1::DiskAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::DiskAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Bulk create a set of disks. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [Google::Apis::ComputeV1::BulkInsertDiskResource] bulk_insert_disk_resource_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def bulk_disk_insert(project, zone, bulk_insert_disk_resource_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/disks/bulkInsert', options) command.request_representation = Google::Apis::ComputeV1::BulkInsertDiskResource::Representation command.request_object = bulk_insert_disk_resource_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on many disks at once. To learn more about labels, read # theLabeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [Google::Apis::ComputeV1::BulkZoneSetLabelsRequest] bulk_zone_set_labels_request_object # @param [String] request_id # 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). # @param [String] resource # Name or id of the resource for this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def bulk_disk_set_labels(project, zone, bulk_zone_set_labels_request_object = nil, request_id: nil, resource: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/disks/bulkSetLabels', options) command.request_representation = Google::Apis::ComputeV1::BulkZoneSetLabelsRequest::Representation command.request_object = bulk_zone_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] disk # Name of the persistent disk to snapshot. # @param [Google::Apis::ComputeV1::Snapshot] snapshot_object # @param [Boolean] guest_flush # [Input Only] Whether to attempt an application consistent snapshot by # informing the OS to prepare for the snapshot process. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def create_disk_snapshot(project, zone, disk, snapshot_object = nil, guest_flush: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/disks/{disk}/createSnapshot', options) command.request_representation = Google::Apis::ComputeV1::Snapshot::Representation command.request_object = snapshot_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['disk'] = disk unless disk.nil? command.query['guestFlush'] = guest_flush unless guest_flush.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified persistent disk. Deleting a disk removes its data # permanently and is irreversible. However, deleting a disk does not # delete any snapshots # previously made from the disk. You must separatelydelete # snapshots. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] disk # Name of the persistent disk to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_disk(project, zone, disk, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/zones/{zone}/disks/{disk}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['disk'] = disk unless disk.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified persistent disk. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] disk # Name of the persistent disk to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Disk] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Disk] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_disk(project, zone, disk, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/disks/{disk}', options) command.response_representation = Google::Apis::ComputeV1::Disk::Representation command.response_class = Google::Apis::ComputeV1::Disk command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['disk'] = disk unless disk.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_disk_iam_policy(project, zone, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/disks/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a persistent disk in the specified project using the data # in the request. You can create a disk from a source # (sourceImage, sourceSnapshot, orsourceDisk) or create an empty 500 GB data # disk by # omitting all properties. You can also create a disk that is larger than # the default size by specifying the sizeGb property. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [Google::Apis::ComputeV1::Disk] disk_object # @param [String] request_id # 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). # @param [String] source_image # Source image to restore onto a disk. This field is optional. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_disk(project, zone, disk_object = nil, request_id: nil, source_image: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/disks', options) command.request_representation = Google::Apis::ComputeV1::Disk::Representation command.request_object = disk_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['sourceImage'] = source_image unless source_image.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of persistent disks contained within # the specified zone. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::DiskList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::DiskList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_disks(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/disks', options) command.response_representation = Google::Apis::ComputeV1::DiskList::Representation command.response_class = Google::Apis::ComputeV1::DiskList command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Removes resource policies from a disk. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] disk # The disk name for this request. # @param [Google::Apis::ComputeV1::DisksRemoveResourcePoliciesRequest] disks_remove_resource_policies_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_disk_resource_policies(project, zone, disk, disks_remove_resource_policies_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies', options) command.request_representation = Google::Apis::ComputeV1::DisksRemoveResourcePoliciesRequest::Representation command.request_object = disks_remove_resource_policies_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['disk'] = disk unless disk.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Resizes the specified persistent disk. # You can only increase the size of the disk. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] disk # The name of the persistent disk. # @param [Google::Apis::ComputeV1::DisksResizeRequest] disks_resize_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def resize_disk(project, zone, disk, disks_resize_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/disks/{disk}/resize', options) command.request_representation = Google::Apis::ComputeV1::DisksResizeRequest::Representation command.request_object = disks_resize_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['disk'] = disk unless disk.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::ZoneSetPolicyRequest] zone_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_disk_iam_policy(project, zone, resource, zone_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/disks/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::ZoneSetPolicyRequest::Representation command.request_object = zone_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on a disk. To learn more about labels, read theLabeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::ZoneSetLabelsRequest] zone_set_labels_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_disk_labels(project, zone, resource, zone_set_labels_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/disks/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::ZoneSetLabelsRequest::Representation command.request_object = zone_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Starts asynchronous replication. # Must be invoked on the primary disk. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] disk # The name of the persistent disk. # @param [Google::Apis::ComputeV1::DisksStartAsyncReplicationRequest] disks_start_async_replication_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def start_disk_async_replication(project, zone, disk, disks_start_async_replication_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/disks/{disk}/startAsyncReplication', options) command.request_representation = Google::Apis::ComputeV1::DisksStartAsyncReplicationRequest::Representation command.request_object = disks_start_async_replication_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['disk'] = disk unless disk.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Stops asynchronous replication. # Can be invoked either on the primary or on the secondary disk. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] disk # The name of the persistent disk. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def stop_disk_async_replication(project, zone, disk, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/disks/{disk}/stopAsyncReplication', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['disk'] = disk unless disk.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Stops asynchronous replication for a consistency group of disks. # Can be invoked either in the primary or secondary scope. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. This must be the zone of the primary # or secondary disks in the consistency group. # @param [Google::Apis::ComputeV1::DisksStopGroupAsyncReplicationResource] disks_stop_group_async_replication_resource_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def stop_disk_group_async_replication(project, zone, disks_stop_group_async_replication_resource_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/disks/stopGroupAsyncReplication', options) command.request_representation = Google::Apis::ComputeV1::DisksStopGroupAsyncReplicationResource::Representation command.request_object = disks_stop_group_async_replication_resource_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_disk_iam_permissions(project, zone, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/disks/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] disk # The disk name for this request. # @param [Google::Apis::ComputeV1::Disk] disk_object # @param [Array, String] paths # @param [String] request_id # 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). # @param [String] update_mask # update_mask indicates fields to be updated as part of this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_disk(project, zone, disk, disk_object = nil, paths: nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/zones/{zone}/disks/{disk}', options) command.request_representation = Google::Apis::ComputeV1::Disk::Representation command.request_object = disk_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['disk'] = disk unless disk.nil? command.query['paths'] = paths unless paths.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified externalVpnGateway. # @param [String] project # Project ID for this request. # @param [String] external_vpn_gateway # Name of the externalVpnGateways to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_external_vpn_gateway(project, external_vpn_gateway, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/externalVpnGateways/{externalVpnGateway}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['externalVpnGateway'] = external_vpn_gateway unless external_vpn_gateway.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified externalVpnGateway. Get a list of available # externalVpnGateways by making a list() request. # @param [String] project # Project ID for this request. # @param [String] external_vpn_gateway # Name of the externalVpnGateway to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ExternalVpnGateway] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ExternalVpnGateway] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_external_vpn_gateway(project, external_vpn_gateway, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/externalVpnGateways/{externalVpnGateway}', options) command.response_representation = Google::Apis::ComputeV1::ExternalVpnGateway::Representation command.response_class = Google::Apis::ComputeV1::ExternalVpnGateway command.params['project'] = project unless project.nil? command.params['externalVpnGateway'] = external_vpn_gateway unless external_vpn_gateway.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a ExternalVpnGateway in the specified project using # the data included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::ExternalVpnGateway] external_vpn_gateway_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_external_vpn_gateway(project, external_vpn_gateway_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/externalVpnGateways', options) command.request_representation = Google::Apis::ComputeV1::ExternalVpnGateway::Representation command.request_object = external_vpn_gateway_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of ExternalVpnGateway available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ExternalVpnGatewayList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ExternalVpnGatewayList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_external_vpn_gateways(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/externalVpnGateways', options) command.response_representation = Google::Apis::ComputeV1::ExternalVpnGatewayList::Representation command.response_class = Google::Apis::ComputeV1::ExternalVpnGatewayList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on an ExternalVpnGateway. To learn more about labels, # read the Labeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_external_vpn_gateway_labels(project, resource, global_set_labels_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/externalVpnGateways/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetLabelsRequest::Representation command.request_object = global_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_external_vpn_gateway_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/externalVpnGateways/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Inserts an association for the specified firewall policy. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Google::Apis::ComputeV1::FirewallPolicyAssociation] firewall_policy_association_object # @param [Boolean] replace_existing_association # Indicates whether or not to replace it if an association of the attachment # already exists. This is false by default, in which case an error will be # returned if an association already exists. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_firewall_policy_association(firewall_policy, firewall_policy_association_object = nil, replace_existing_association: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/firewallPolicies/{firewallPolicy}/addAssociation', options) command.request_representation = Google::Apis::ComputeV1::FirewallPolicyAssociation::Representation command.request_object = firewall_policy_association_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['replaceExistingAssociation'] = replace_existing_association unless replace_existing_association.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Inserts a rule into a firewall policy. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Google::Apis::ComputeV1::FirewallPolicyRule] firewall_policy_rule_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_firewall_policy_rule(firewall_policy, firewall_policy_rule_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/firewallPolicies/{firewallPolicy}/addRule', options) command.request_representation = Google::Apis::ComputeV1::FirewallPolicyRule::Representation command.request_object = firewall_policy_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Copies rules to the specified firewall policy. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [String] request_id # 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). # @param [String] source_firewall_policy # The firewall policy from which to copy rules. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def clone_firewall_policy_rules(firewall_policy, request_id: nil, source_firewall_policy: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/firewallPolicies/{firewallPolicy}/cloneRules', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['sourceFirewallPolicy'] = source_firewall_policy unless source_firewall_policy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified policy. # @param [String] firewall_policy # Name of the firewall policy to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_firewall_policy(firewall_policy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'locations/global/firewallPolicies/{firewallPolicy}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified firewall policy. # @param [String] firewall_policy # Name of the firewall policy to get. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FirewallPolicy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FirewallPolicy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_firewall_policy(firewall_policy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'locations/global/firewallPolicies/{firewallPolicy}', options) command.response_representation = Google::Apis::ComputeV1::FirewallPolicy::Representation command.response_class = Google::Apis::ComputeV1::FirewallPolicy command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets an association with the specified name. # @param [String] firewall_policy # Name of the firewall policy to which the queried rule belongs. # @param [String] name # The name of the association to get from the firewall policy. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FirewallPolicyAssociation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FirewallPolicyAssociation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_firewall_policy_association(firewall_policy, name: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'locations/global/firewallPolicies/{firewallPolicy}/getAssociation', options) command.response_representation = Google::Apis::ComputeV1::FirewallPolicyAssociation::Representation command.response_class = Google::Apis::ComputeV1::FirewallPolicyAssociation command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_firewall_policy_iam_policy(resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'locations/global/firewallPolicies/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets a rule of the specified priority. # @param [String] firewall_policy # Name of the firewall policy to which the queried rule belongs. # @param [Fixnum] priority # The priority of the rule to get from the firewall policy. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FirewallPolicyRule] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FirewallPolicyRule] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_firewall_policy_rule(firewall_policy, priority: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'locations/global/firewallPolicies/{firewallPolicy}/getRule', options) command.response_representation = Google::Apis::ComputeV1::FirewallPolicyRule::Representation command.response_class = Google::Apis::ComputeV1::FirewallPolicyRule command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a new policy in the specified project using the data included in # the request. # @param [Google::Apis::ComputeV1::FirewallPolicy] firewall_policy_object # @param [String] parent_id # 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. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_firewall_policy(firewall_policy_object = nil, parent_id: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/firewallPolicies', options) command.request_representation = Google::Apis::ComputeV1::FirewallPolicy::Representation command.request_object = firewall_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.query['parentId'] = parent_id unless parent_id.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists all the policies that have been configured for the specified # folder or organization. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [String] parent_id # 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. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FirewallPolicyList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FirewallPolicyList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_firewall_policies(filter: nil, max_results: nil, order_by: nil, page_token: nil, parent_id: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'locations/global/firewallPolicies', options) command.response_representation = Google::Apis::ComputeV1::FirewallPolicyList::Representation command.response_class = Google::Apis::ComputeV1::FirewallPolicyList command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['parentId'] = parent_id unless parent_id.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists associations of a specified target, i.e., organization or folder. # @param [String] target_resource # The target resource to list associations. It is an organization, or a # folder. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FirewallPoliciesListAssociationsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FirewallPoliciesListAssociationsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_firewall_policy_associations(target_resource: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'locations/global/firewallPolicies/listAssociations', options) command.response_representation = Google::Apis::ComputeV1::FirewallPoliciesListAssociationsResponse::Representation command.response_class = Google::Apis::ComputeV1::FirewallPoliciesListAssociationsResponse command.query['targetResource'] = target_resource unless target_resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Moves the specified firewall policy. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [String] parent_id # 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. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def move_firewall_policy(firewall_policy, parent_id: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/firewallPolicies/{firewallPolicy}/move', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['parentId'] = parent_id unless parent_id.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified policy with the data included in the request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Google::Apis::ComputeV1::FirewallPolicy] firewall_policy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_firewall_policy(firewall_policy, firewall_policy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'locations/global/firewallPolicies/{firewallPolicy}', options) command.request_representation = Google::Apis::ComputeV1::FirewallPolicy::Representation command.request_object = firewall_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches a rule of the specified priority. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Google::Apis::ComputeV1::FirewallPolicyRule] firewall_policy_rule_object # @param [Fixnum] priority # The priority of the rule to patch. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_firewall_policy_rule(firewall_policy, firewall_policy_rule_object = nil, priority: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/firewallPolicies/{firewallPolicy}/patchRule', options) command.request_representation = Google::Apis::ComputeV1::FirewallPolicyRule::Representation command.request_object = firewall_policy_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Removes an association for the specified firewall policy. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [String] name # Name for the attachment that will be removed. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_firewall_policy_association(firewall_policy, name: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/firewallPolicies/{firewallPolicy}/removeAssociation', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['name'] = name unless name.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes a rule of the specified priority. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Fixnum] priority # The priority of the rule to remove from the firewall policy. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_firewall_policy_rule(firewall_policy, priority: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/firewallPolicies/{firewallPolicy}/removeRule', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalOrganizationSetPolicyRequest] global_organization_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_firewall_policy_iam_policy(resource, global_organization_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/firewallPolicies/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::GlobalOrganizationSetPolicyRequest::Representation command.request_object = global_organization_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_firewall_policy_iam_permissions(resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/firewallPolicies/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified firewall. # @param [String] project # Project ID for this request. # @param [String] firewall # Name of the firewall rule to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_firewall(project, firewall, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/firewalls/{firewall}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['firewall'] = firewall unless firewall.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified firewall. # @param [String] project # Project ID for this request. # @param [String] firewall # Name of the firewall rule to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Firewall] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Firewall] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_firewall(project, firewall, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/firewalls/{firewall}', options) command.response_representation = Google::Apis::ComputeV1::Firewall::Representation command.response_class = Google::Apis::ComputeV1::Firewall command.params['project'] = project unless project.nil? command.params['firewall'] = firewall unless firewall.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a firewall rule in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::Firewall] firewall_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_firewall(project, firewall_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/firewalls', options) command.request_representation = Google::Apis::ComputeV1::Firewall::Representation command.request_object = firewall_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of firewall rules available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FirewallList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FirewallList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_firewalls(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/firewalls', options) command.response_representation = Google::Apis::ComputeV1::FirewallList::Representation command.response_class = Google::Apis::ComputeV1::FirewallList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified firewall rule with the data included in the # request. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] firewall # Name of the firewall rule to patch. # @param [Google::Apis::ComputeV1::Firewall] firewall_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_firewall(project, firewall, firewall_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/firewalls/{firewall}', options) command.request_representation = Google::Apis::ComputeV1::Firewall::Representation command.request_object = firewall_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['firewall'] = firewall unless firewall.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_firewall_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/firewalls/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified firewall rule with the data included in the # request. # Note that all fields will be updated if using PUT, even fields that are not # specified. To update individual fields, please use PATCH instead. # @param [String] project # Project ID for this request. # @param [String] firewall # Name of the firewall rule to update. # @param [Google::Apis::ComputeV1::Firewall] firewall_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_firewall(project, firewall, firewall_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:put, 'projects/{project}/global/firewalls/{firewall}', options) command.request_representation = Google::Apis::ComputeV1::Firewall::Representation command.request_object = firewall_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['firewall'] = firewall unless firewall.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of forwarding rules. # To prevent failure, it is recommended that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ForwardingRuleAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ForwardingRuleAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_aggregated_forwarding_rules(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/forwardingRules', options) command.response_representation = Google::Apis::ComputeV1::ForwardingRuleAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::ForwardingRuleAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified ForwardingRule resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] forwarding_rule # Name of the ForwardingRule resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_forwarding_rule(project, region, forwarding_rule, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/forwardingRules/{forwardingRule}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['forwardingRule'] = forwarding_rule unless forwarding_rule.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified ForwardingRule resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] forwarding_rule # Name of the ForwardingRule resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ForwardingRule] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ForwardingRule] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_forwarding_rule(project, region, forwarding_rule, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/forwardingRules/{forwardingRule}', options) command.response_representation = Google::Apis::ComputeV1::ForwardingRule::Representation command.response_class = Google::Apis::ComputeV1::ForwardingRule command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['forwardingRule'] = forwarding_rule unless forwarding_rule.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a ForwardingRule resource in the specified project and region using # the data included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::ForwardingRule] forwarding_rule_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_forwarding_rule(project, region, forwarding_rule_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/forwardingRules', options) command.request_representation = Google::Apis::ComputeV1::ForwardingRule::Representation command.request_object = forwarding_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of ForwardingRule resources available to the specified # project and region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ForwardingRuleList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ForwardingRuleList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_forwarding_rules(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/forwardingRules', options) command.response_representation = Google::Apis::ComputeV1::ForwardingRuleList::Representation command.response_class = Google::Apis::ComputeV1::ForwardingRuleList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified forwarding rule with the data included in the # request. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. Currently, you can only # patch the network_tier field. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] forwarding_rule # Name of the ForwardingRule resource to patch. # @param [Google::Apis::ComputeV1::ForwardingRule] forwarding_rule_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_forwarding_rule(project, region, forwarding_rule, forwarding_rule_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/forwardingRules/{forwardingRule}', options) command.request_representation = Google::Apis::ComputeV1::ForwardingRule::Representation command.request_object = forwarding_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['forwardingRule'] = forwarding_rule unless forwarding_rule.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on the specified resource. To learn more about labels, # read the # Labeling Resources documentation. # @param [String] project # Project ID for this request. # @param [String] region # The region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_forwarding_rule_labels(project, region, resource, region_set_labels_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/forwardingRules/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::RegionSetLabelsRequest::Representation command.request_object = region_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes target URL for forwarding rule. The new target should be of the # same type as the old target. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] forwarding_rule # Name of the ForwardingRule resource in which target is to be set. # @param [Google::Apis::ComputeV1::TargetReference] target_reference_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_forwarding_rule_target(project, region, forwarding_rule, target_reference_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget', options) command.request_representation = Google::Apis::ComputeV1::TargetReference::Representation command.request_object = target_reference_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['forwardingRule'] = forwarding_rule unless forwarding_rule.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of future reservations. # To prevent failure, it is recommended that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FutureReservationsAggregatedListResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FutureReservationsAggregatedListResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_future_reservation_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/futureReservations', options) command.response_representation = Google::Apis::ComputeV1::FutureReservationsAggregatedListResponse::Representation command.response_class = Google::Apis::ComputeV1::FutureReservationsAggregatedListResponse command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Cancel the specified future reservation. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. Name should conform to RFC1035. # @param [String] future_reservation # Name of the future reservation to retrieve. Name should conform to RFC1035. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def cancel_future_reservation(project, zone, future_reservation, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/futureReservations/{futureReservation}/cancel', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['futureReservation'] = future_reservation unless future_reservation.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified future reservation. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. Name should conform to RFC1035. # @param [String] future_reservation # Name of the future reservation to retrieve. Name should conform to RFC1035. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_future_reservation(project, zone, future_reservation, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/zones/{zone}/futureReservations/{futureReservation}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['futureReservation'] = future_reservation unless future_reservation.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves information about the specified future reservation. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. Name should conform to RFC1035. # @param [String] future_reservation # Name of the future reservation to retrieve. Name should conform to RFC1035. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FutureReservation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FutureReservation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_future_reservation(project, zone, future_reservation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/futureReservations/{futureReservation}', options) command.response_representation = Google::Apis::ComputeV1::FutureReservation::Representation command.response_class = Google::Apis::ComputeV1::FutureReservation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['futureReservation'] = future_reservation unless future_reservation.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a new Future Reservation. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. Name should conform to RFC1035. # @param [Google::Apis::ComputeV1::FutureReservation] future_reservation_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_future_reservation(project, zone, future_reservation_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/futureReservations', options) command.request_representation = Google::Apis::ComputeV1::FutureReservation::Representation command.request_object = future_reservation_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # A list of all the future reservations that have been configured for the # specified project in specified zone. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. Name should conform to RFC1035. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FutureReservationsListResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FutureReservationsListResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_future_reservations(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/futureReservations', options) command.response_representation = Google::Apis::ComputeV1::FutureReservationsListResponse::Representation command.response_class = Google::Apis::ComputeV1::FutureReservationsListResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified future reservation. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. Name should conform to RFC1035. # @param [String] future_reservation # Name of the reservation to update. Name should conform to RFC1035. # @param [Google::Apis::ComputeV1::FutureReservation] future_reservation_object # @param [String] request_id # 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). # @param [String] update_mask # update_mask indicates fields to be updated as part of this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_future_reservation(project, zone, future_reservation, future_reservation_object = nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/zones/{zone}/futureReservations/{futureReservation}', options) command.request_representation = Google::Apis::ComputeV1::FutureReservation::Representation command.request_object = future_reservation_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['futureReservation'] = future_reservation unless future_reservation.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified address resource. # @param [String] project # Project ID for this request. # @param [String] address # Name of the address resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_global_address(project, address, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/addresses/{address}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['address'] = address unless address.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified address resource. # @param [String] project # Project ID for this request. # @param [String] address # Name of the address resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Address] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Address] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_global_address(project, address, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/addresses/{address}', options) command.response_representation = Google::Apis::ComputeV1::Address::Representation command.response_class = Google::Apis::ComputeV1::Address command.params['project'] = project unless project.nil? command.params['address'] = address unless address.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates an address resource in the specified project by using the data # included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::Address] address_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_global_address(project, address_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/addresses', options) command.request_representation = Google::Apis::ComputeV1::Address::Representation command.request_object = address_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of global addresses. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::AddressList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::AddressList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_global_addresses(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/addresses', options) command.response_representation = Google::Apis::ComputeV1::AddressList::Representation command.response_class = Google::Apis::ComputeV1::AddressList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Moves the specified address resource from one project to another project. # @param [String] project # Source project ID which the Address is moved from. # @param [String] address # Name of the address resource to move. # @param [Google::Apis::ComputeV1::GlobalAddressesMoveRequest] global_addresses_move_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def move_global_address(project, address, global_addresses_move_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/addresses/{address}/move', options) command.request_representation = Google::Apis::ComputeV1::GlobalAddressesMoveRequest::Representation command.request_object = global_addresses_move_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['address'] = address unless address.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on a GlobalAddress. To learn more about labels, read # theLabeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_global_address_labels(project, resource, global_set_labels_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/addresses/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetLabelsRequest::Representation command.request_object = global_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_global_address_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/addresses/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified GlobalForwardingRule resource. # @param [String] project # Project ID for this request. # @param [String] forwarding_rule # Name of the ForwardingRule resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_global_forwarding_rule(project, forwarding_rule, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/forwardingRules/{forwardingRule}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['forwardingRule'] = forwarding_rule unless forwarding_rule.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified GlobalForwardingRule resource. Gets a list of # available forwarding rules by making a list() request. # @param [String] project # Project ID for this request. # @param [String] forwarding_rule # Name of the ForwardingRule resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ForwardingRule] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ForwardingRule] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_global_forwarding_rule(project, forwarding_rule, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/forwardingRules/{forwardingRule}', options) command.response_representation = Google::Apis::ComputeV1::ForwardingRule::Representation command.response_class = Google::Apis::ComputeV1::ForwardingRule command.params['project'] = project unless project.nil? command.params['forwardingRule'] = forwarding_rule unless forwarding_rule.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a GlobalForwardingRule resource in the specified project using # the data included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::ForwardingRule] forwarding_rule_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_global_forwarding_rule(project, forwarding_rule_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/forwardingRules', options) command.request_representation = Google::Apis::ComputeV1::ForwardingRule::Representation command.request_object = forwarding_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of GlobalForwardingRule resources available to the # specified project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ForwardingRuleList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ForwardingRuleList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_global_forwarding_rules(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/forwardingRules', options) command.response_representation = Google::Apis::ComputeV1::ForwardingRuleList::Representation command.response_class = Google::Apis::ComputeV1::ForwardingRuleList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified forwarding rule with the data included in the # request. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. Currently, you can only # patch the network_tier field. # @param [String] project # Project ID for this request. # @param [String] forwarding_rule # Name of the ForwardingRule resource to patch. # @param [Google::Apis::ComputeV1::ForwardingRule] forwarding_rule_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_global_forwarding_rule(project, forwarding_rule, forwarding_rule_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/forwardingRules/{forwardingRule}', options) command.request_representation = Google::Apis::ComputeV1::ForwardingRule::Representation command.request_object = forwarding_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['forwardingRule'] = forwarding_rule unless forwarding_rule.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on the specified resource. To learn more about labels, # read the # Labeling resources documentation. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_global_forwarding_rule_labels(project, resource, global_set_labels_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/forwardingRules/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetLabelsRequest::Representation command.request_object = global_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes target URL for the GlobalForwardingRule resource. The new target # should be of the same type as the old target. # @param [String] project # Project ID for this request. # @param [String] forwarding_rule # Name of the ForwardingRule resource in which target is to be set. # @param [Google::Apis::ComputeV1::TargetReference] target_reference_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_global_forwarding_rule_target(project, forwarding_rule, target_reference_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/forwardingRules/{forwardingRule}/setTarget', options) command.request_representation = Google::Apis::ComputeV1::TargetReference::Representation command.request_object = target_reference_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['forwardingRule'] = forwarding_rule unless forwarding_rule.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Attach a network endpoint to the specified network endpoint group. # @param [String] project # Project ID for this request. # @param [String] network_endpoint_group # The name of the network endpoint group where you are attaching network # endpoints to. It should comply with RFC1035. # @param [Google::Apis::ComputeV1::GlobalNetworkEndpointGroupsAttachEndpointsRequest] global_network_endpoint_groups_attach_endpoints_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def attach_global_network_endpoint_group_network_endpoints(project, network_endpoint_group, global_network_endpoint_groups_attach_endpoints_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints', options) command.request_representation = Google::Apis::ComputeV1::GlobalNetworkEndpointGroupsAttachEndpointsRequest::Representation command.request_object = global_network_endpoint_groups_attach_endpoints_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['networkEndpointGroup'] = network_endpoint_group unless network_endpoint_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified network endpoint group.Note that the NEG cannot be # deleted if there are backend services referencing it. # @param [String] project # Project ID for this request. # @param [String] network_endpoint_group # The name of the network endpoint group to delete. It should comply with # RFC1035. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_global_network_endpoint_group(project, network_endpoint_group, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['networkEndpointGroup'] = network_endpoint_group unless network_endpoint_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Detach the network endpoint from the specified network endpoint group. # @param [String] project # Project ID for this request. # @param [String] network_endpoint_group # The name of the network endpoint group where you are removing network # endpoints. It should comply with RFC1035. # @param [Google::Apis::ComputeV1::GlobalNetworkEndpointGroupsDetachEndpointsRequest] global_network_endpoint_groups_detach_endpoints_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def detach_global_network_endpoint_group_network_endpoints(project, network_endpoint_group, global_network_endpoint_groups_detach_endpoints_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints', options) command.request_representation = Google::Apis::ComputeV1::GlobalNetworkEndpointGroupsDetachEndpointsRequest::Representation command.request_object = global_network_endpoint_groups_detach_endpoints_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['networkEndpointGroup'] = network_endpoint_group unless network_endpoint_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified network endpoint group. # @param [String] project # Project ID for this request. # @param [String] network_endpoint_group # The name of the network endpoint group. It should comply with RFC1035. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkEndpointGroup] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkEndpointGroup] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_global_network_endpoint_group(project, network_endpoint_group, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}', options) command.response_representation = Google::Apis::ComputeV1::NetworkEndpointGroup::Representation command.response_class = Google::Apis::ComputeV1::NetworkEndpointGroup command.params['project'] = project unless project.nil? command.params['networkEndpointGroup'] = network_endpoint_group unless network_endpoint_group.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a network endpoint group in the specified project using the # parameters that are included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::NetworkEndpointGroup] network_endpoint_group_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_global_network_endpoint_group(project, network_endpoint_group_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/networkEndpointGroups', options) command.request_representation = Google::Apis::ComputeV1::NetworkEndpointGroup::Representation command.request_object = network_endpoint_group_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of network endpoint groups that are located in the # specified project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkEndpointGroupList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkEndpointGroupList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_global_network_endpoint_groups(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/networkEndpointGroups', options) command.response_representation = Google::Apis::ComputeV1::NetworkEndpointGroupList::Representation command.response_class = Google::Apis::ComputeV1::NetworkEndpointGroupList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the network endpoints in the specified network endpoint group. # @param [String] project # Project ID for this request. # @param [String] network_endpoint_group # The name of the network endpoint group from which you want to generate a # list of included network endpoints. It should comply with RFC1035. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkEndpointGroupsListNetworkEndpoints] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkEndpointGroupsListNetworkEndpoints] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_global_network_endpoint_group_network_endpoints(project, network_endpoint_group, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints', options) command.response_representation = Google::Apis::ComputeV1::NetworkEndpointGroupsListNetworkEndpoints::Representation command.response_class = Google::Apis::ComputeV1::NetworkEndpointGroupsListNetworkEndpoints command.params['project'] = project unless project.nil? command.params['networkEndpointGroup'] = network_endpoint_group unless network_endpoint_group.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of all operations. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::OperationAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::OperationAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_aggregated_global_operation(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/operations', options) command.response_representation = Google::Apis::ComputeV1::OperationAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::OperationAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified Operations resource. # @param [String] project # Project ID for this request. # @param [String] operation # Name of the Operations resource to delete, or its unique numeric # identifier. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [NilClass] No result returned for this method # @yieldparam err [StandardError] error object if request failed # # @return [void] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_global_operation(project, operation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/operations/{operation}', options) command.params['project'] = project unless project.nil? command.params['operation'] = operation unless operation.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the specified Operations resource. # @param [String] project # Project ID for this request. # @param [String] operation # Name of the Operations resource to return, or its unique numeric # identifier. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_global_operation(project, operation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/operations/{operation}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['operation'] = operation unless operation.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of Operation resources contained within the specified # project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::OperationList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::OperationList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_global_operations(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/operations', options) command.response_representation = Google::Apis::ComputeV1::OperationList::Representation command.response_class = Google::Apis::ComputeV1::OperationList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Waits for the specified Operation resource to return as `DONE` # or for the request to approach the 2 minute deadline, and retrieves the # specified Operation resource. This method differs from the # `GET` method in that it waits for no more than the default # deadline (2 minutes) and then returns the current state of the operation, # which might be `DONE` or still in progress. # This method is called on a best-effort basis. Specifically: # # # - In uncommon cases, when the server is overloaded, the request might # return before the default deadline is reached, or might return after zero # seconds. # - If the default deadline is reached, there is no guarantee that the # operation is actually done when the method returns. Be prepared to retry # if the operation is not `DONE`. # @param [String] project # Project ID for this request. # @param [String] operation # Name of the Operations resource to return, or its unique numeric # identifier. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def wait_global_operation(project, operation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/operations/{operation}/wait', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['operation'] = operation unless operation.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified Operations resource. # @param [String] operation # Name of the Operations resource to delete, or its unique numeric # identifier. # @param [String] parent_id # Parent ID for this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [NilClass] No result returned for this method # @yieldparam err [StandardError] error object if request failed # # @return [void] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_global_organization_operation(operation, parent_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'locations/global/operations/{operation}', options) command.params['operation'] = operation unless operation.nil? command.query['parentId'] = parent_id unless parent_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the specified Operations resource. Gets a list of operations # by making a `list()` request. # @param [String] operation # Name of the Operations resource to return. Parent is derived from this # field. # @param [String] parent_id # Parent ID for this request. Not used. Parent is derived from resource_id. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_global_organization_operation(operation, parent_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'locations/global/operations/{operation}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['operation'] = operation unless operation.nil? command.query['parentId'] = parent_id unless parent_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of Operation resources contained within the specified # organization. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [String] parent_id # Parent ID for this request. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::OperationList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::OperationList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_global_organization_operations(filter: nil, max_results: nil, order_by: nil, page_token: nil, parent_id: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'locations/global/operations', options) command.response_representation = Google::Apis::ComputeV1::OperationList::Representation command.response_class = Google::Apis::ComputeV1::OperationList command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['parentId'] = parent_id unless parent_id.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified global PublicDelegatedPrefix. # @param [String] project # Project ID for this request. # @param [String] public_delegated_prefix # Name of the PublicDelegatedPrefix resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_global_public_delegated_prefix(project, public_delegated_prefix, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['publicDelegatedPrefix'] = public_delegated_prefix unless public_delegated_prefix.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified global PublicDelegatedPrefix resource. # @param [String] project # Project ID for this request. # @param [String] public_delegated_prefix # Name of the PublicDelegatedPrefix resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::PublicDelegatedPrefix] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::PublicDelegatedPrefix] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_global_public_delegated_prefix(project, public_delegated_prefix, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}', options) command.response_representation = Google::Apis::ComputeV1::PublicDelegatedPrefix::Representation command.response_class = Google::Apis::ComputeV1::PublicDelegatedPrefix command.params['project'] = project unless project.nil? command.params['publicDelegatedPrefix'] = public_delegated_prefix unless public_delegated_prefix.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a global PublicDelegatedPrefix in the specified project using the # parameters that are included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::PublicDelegatedPrefix] public_delegated_prefix_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_global_public_delegated_prefix(project, public_delegated_prefix_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/publicDelegatedPrefixes', options) command.request_representation = Google::Apis::ComputeV1::PublicDelegatedPrefix::Representation command.request_object = public_delegated_prefix_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the global PublicDelegatedPrefixes for a project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::PublicDelegatedPrefixList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_global_public_delegated_prefixes(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/publicDelegatedPrefixes', options) command.response_representation = Google::Apis::ComputeV1::PublicDelegatedPrefixList::Representation command.response_class = Google::Apis::ComputeV1::PublicDelegatedPrefixList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified global PublicDelegatedPrefix resource with the data # included in the request. This method supportsPATCH # semantics and usesJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] public_delegated_prefix # Name of the PublicDelegatedPrefix resource to patch. # @param [Google::Apis::ComputeV1::PublicDelegatedPrefix] public_delegated_prefix_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_global_public_delegated_prefix(project, public_delegated_prefix, public_delegated_prefix_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}', options) command.request_representation = Google::Apis::ComputeV1::PublicDelegatedPrefix::Representation command.request_object = public_delegated_prefix_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['publicDelegatedPrefix'] = public_delegated_prefix unless public_delegated_prefix.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Name of the project scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::HealthChecksAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::HealthChecksAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_health_check_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/healthChecks', options) command.response_representation = Google::Apis::ComputeV1::HealthChecksAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::HealthChecksAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified HealthCheck resource. # @param [String] project # Project ID for this request. # @param [String] health_check # Name of the HealthCheck resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_health_check(project, health_check, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/healthChecks/{healthCheck}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['healthCheck'] = health_check unless health_check.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified HealthCheck resource. # @param [String] project # Project ID for this request. # @param [String] health_check # Name of the HealthCheck resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::HealthCheck] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::HealthCheck] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_health_check(project, health_check, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/healthChecks/{healthCheck}', options) command.response_representation = Google::Apis::ComputeV1::HealthCheck::Representation command.response_class = Google::Apis::ComputeV1::HealthCheck command.params['project'] = project unless project.nil? command.params['healthCheck'] = health_check unless health_check.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a HealthCheck resource in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::HealthCheck] health_check_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_health_check(project, health_check_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/healthChecks', options) command.request_representation = Google::Apis::ComputeV1::HealthCheck::Representation command.request_object = health_check_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of HealthCheck resources available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::HealthCheckList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::HealthCheckList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_health_checks(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/healthChecks', options) command.response_representation = Google::Apis::ComputeV1::HealthCheckList::Representation command.response_class = Google::Apis::ComputeV1::HealthCheckList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates a HealthCheck resource in the specified project using the data # included in the request. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] health_check # Name of the HealthCheck resource to patch. # @param [Google::Apis::ComputeV1::HealthCheck] health_check_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_health_check(project, health_check, health_check_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/healthChecks/{healthCheck}', options) command.request_representation = Google::Apis::ComputeV1::HealthCheck::Representation command.request_object = health_check_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['healthCheck'] = health_check unless health_check.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_health_check_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/healthChecks/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates a HealthCheck resource in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [String] health_check # Name of the HealthCheck resource to update. # @param [Google::Apis::ComputeV1::HealthCheck] health_check_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_health_check(project, health_check, health_check_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:put, 'projects/{project}/global/healthChecks/{healthCheck}', options) command.request_representation = Google::Apis::ComputeV1::HealthCheck::Representation command.request_object = health_check_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['healthCheck'] = health_check unless health_check.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified HttpHealthCheck resource. # @param [String] project # Project ID for this request. # @param [String] http_health_check # Name of the HttpHealthCheck resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_http_health_check(project, http_health_check, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/httpHealthChecks/{httpHealthCheck}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['httpHealthCheck'] = http_health_check unless http_health_check.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified HttpHealthCheck resource. # @param [String] project # Project ID for this request. # @param [String] http_health_check # Name of the HttpHealthCheck resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::HttpHealthCheck] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::HttpHealthCheck] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_http_health_check(project, http_health_check, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/httpHealthChecks/{httpHealthCheck}', options) command.response_representation = Google::Apis::ComputeV1::HttpHealthCheck::Representation command.response_class = Google::Apis::ComputeV1::HttpHealthCheck command.params['project'] = project unless project.nil? command.params['httpHealthCheck'] = http_health_check unless http_health_check.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a HttpHealthCheck resource in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::HttpHealthCheck] http_health_check_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_http_health_check(project, http_health_check_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/httpHealthChecks', options) command.request_representation = Google::Apis::ComputeV1::HttpHealthCheck::Representation command.request_object = http_health_check_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of HttpHealthCheck resources available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::HttpHealthCheckList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::HttpHealthCheckList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_http_health_checks(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/httpHealthChecks', options) command.response_representation = Google::Apis::ComputeV1::HttpHealthCheckList::Representation command.response_class = Google::Apis::ComputeV1::HttpHealthCheckList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates a HttpHealthCheck resource in the specified project using the data # included in the request. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] http_health_check # Name of the HttpHealthCheck resource to patch. # @param [Google::Apis::ComputeV1::HttpHealthCheck] http_health_check_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_http_health_check(project, http_health_check, http_health_check_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/httpHealthChecks/{httpHealthCheck}', options) command.request_representation = Google::Apis::ComputeV1::HttpHealthCheck::Representation command.request_object = http_health_check_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['httpHealthCheck'] = http_health_check unless http_health_check.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_http_health_check_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/httpHealthChecks/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates a HttpHealthCheck resource in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [String] http_health_check # Name of the HttpHealthCheck resource to update. # @param [Google::Apis::ComputeV1::HttpHealthCheck] http_health_check_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_http_health_check(project, http_health_check, http_health_check_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:put, 'projects/{project}/global/httpHealthChecks/{httpHealthCheck}', options) command.request_representation = Google::Apis::ComputeV1::HttpHealthCheck::Representation command.request_object = http_health_check_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['httpHealthCheck'] = http_health_check unless http_health_check.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified HttpsHealthCheck resource. # @param [String] project # Project ID for this request. # @param [String] https_health_check # Name of the HttpsHealthCheck resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_https_health_check(project, https_health_check, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['httpsHealthCheck'] = https_health_check unless https_health_check.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified HttpsHealthCheck resource. # @param [String] project # Project ID for this request. # @param [String] https_health_check # Name of the HttpsHealthCheck resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::HttpsHealthCheck] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::HttpsHealthCheck] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_https_health_check(project, https_health_check, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}', options) command.response_representation = Google::Apis::ComputeV1::HttpsHealthCheck::Representation command.response_class = Google::Apis::ComputeV1::HttpsHealthCheck command.params['project'] = project unless project.nil? command.params['httpsHealthCheck'] = https_health_check unless https_health_check.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a HttpsHealthCheck resource in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::HttpsHealthCheck] https_health_check_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_https_health_check(project, https_health_check_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/httpsHealthChecks', options) command.request_representation = Google::Apis::ComputeV1::HttpsHealthCheck::Representation command.request_object = https_health_check_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of HttpsHealthCheck resources available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::HttpsHealthCheckList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::HttpsHealthCheckList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_https_health_checks(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/httpsHealthChecks', options) command.response_representation = Google::Apis::ComputeV1::HttpsHealthCheckList::Representation command.response_class = Google::Apis::ComputeV1::HttpsHealthCheckList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates a HttpsHealthCheck resource in the specified project using the data # included in the request. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] https_health_check # Name of the HttpsHealthCheck resource to patch. # @param [Google::Apis::ComputeV1::HttpsHealthCheck] https_health_check_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_https_health_check(project, https_health_check, https_health_check_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}', options) command.request_representation = Google::Apis::ComputeV1::HttpsHealthCheck::Representation command.request_object = https_health_check_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['httpsHealthCheck'] = https_health_check unless https_health_check.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_https_health_check_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/httpsHealthChecks/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates a HttpsHealthCheck resource in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [String] https_health_check # Name of the HttpsHealthCheck resource to update. # @param [Google::Apis::ComputeV1::HttpsHealthCheck] https_health_check_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_https_health_check(project, https_health_check, https_health_check_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:put, 'projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}', options) command.request_representation = Google::Apis::ComputeV1::HttpsHealthCheck::Representation command.request_object = https_health_check_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['httpsHealthCheck'] = https_health_check unless https_health_check.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the latest image that is part of an image family, is not # deprecated and is rolled out in the specified zone. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] family # Name of the image family to search for. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ImageFamilyView] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ImageFamilyView] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_image_family_view(project, zone, family, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/imageFamilyViews/{family}', options) command.response_representation = Google::Apis::ComputeV1::ImageFamilyView::Representation command.response_class = Google::Apis::ComputeV1::ImageFamilyView command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['family'] = family unless family.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified image. # @param [String] project # Project ID for this request. # @param [String] image # Name of the image resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_image(project, image, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/images/{image}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['image'] = image unless image.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the deprecation status of an image. # If an empty request body is given, clears the deprecation status instead. # @param [String] project # Project ID for this request. # @param [String] image # Image name. # @param [Google::Apis::ComputeV1::DeprecationStatus] deprecation_status_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def deprecate_image(project, image, deprecation_status_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/images/{image}/deprecate', options) command.request_representation = Google::Apis::ComputeV1::DeprecationStatus::Representation command.request_object = deprecation_status_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['image'] = image unless image.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified image. # @param [String] project # Project ID for this request. # @param [String] image # Name of the image resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Image] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Image] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_image(project, image, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/images/{image}', options) command.response_representation = Google::Apis::ComputeV1::Image::Representation command.response_class = Google::Apis::ComputeV1::Image command.params['project'] = project unless project.nil? command.params['image'] = image unless image.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the latest image that is part of an image family and is not # deprecated. For more information on image families, seePublic # image families documentation. # @param [String] project # The image project that the image belongs to. For example, to get a CentOS # image, specify centos-cloud as the image project. # @param [String] family # Name of the image family to search for. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Image] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Image] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_image_from_family(project, family, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/images/family/{family}', options) command.response_representation = Google::Apis::ComputeV1::Image::Representation command.response_class = Google::Apis::ComputeV1::Image command.params['project'] = project unless project.nil? command.params['family'] = family unless family.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_image_iam_policy(project, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/images/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates an image in the specified project using the data included # in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::Image] image_object # @param [Boolean] force_create # Force image creation if true. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_image(project, image_object = nil, force_create: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/images', options) command.request_representation = Google::Apis::ComputeV1::Image::Representation command.request_object = image_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['forceCreate'] = force_create unless force_create.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of custom images # available to the specified project. Custom images are images you # create that belong to your project. This method does not # get any images that belong to other projects, including publicly-available # images, like Debian 8. If you want to get a list of publicly-available # images, use this method to make a request to the respective image project, # such as debian-cloud or windows-cloud. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ImageList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ImageList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_images(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/images', options) command.response_representation = Google::Apis::ComputeV1::ImageList::Representation command.response_class = Google::Apis::ComputeV1::ImageList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified image with the data included in the request. # Only the following fields can be modified: family, description, # deprecation status. # @param [String] project # Project ID for this request. # @param [String] image # Name of the image resource to patch. # @param [Google::Apis::ComputeV1::Image] image_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_image(project, image, image_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/images/{image}', options) command.request_representation = Google::Apis::ComputeV1::Image::Representation command.request_object = image_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['image'] = image unless image.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetPolicyRequest] global_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_image_iam_policy(project, resource, global_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/images/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetPolicyRequest::Representation command.request_object = global_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on an image. To learn more about labels, read theLabeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_image_labels(project, resource, global_set_labels_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/images/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetLabelsRequest::Representation command.request_object = global_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_image_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/images/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Cancels the specified resize request and removes it from the queue. # Cancelled resize request does no longer wait for the resources to be # provisioned. Cancel is only possible for requests that are accepted in the # queue. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. The name should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group. # The name should conform to RFC1035 or be a resource ID. # @param [String] resize_request # The name of the resize request to cancel. # The name should conform to RFC1035 or be a resource ID. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def cancel_instance_group_manager_resize_request(project, zone, instance_group_manager, resize_request, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.params['resizeRequest'] = resize_request unless resize_request.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified, inactive resize request. Requests that are still # active cannot be deleted. Deleting request does not delete instances that # were provisioned previously. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. The name should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group. # The name should conform to RFC1035 or be a resource ID. # @param [String] resize_request # The name of the resize request to delete. # The name should conform to RFC1035 or be a resource ID. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_instance_group_manager_resize_request(project, zone, instance_group_manager, resize_request, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.params['resizeRequest'] = resize_request unless resize_request.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns all of the details about the specified resize request. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the href="/compute/docs/regions-zones/#available">zone # scoping this request. Name should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group. # Name should conform to RFC1035 or be a resource ID. # @param [String] resize_request # The name of the resize request. # Name should conform to RFC1035 or be a resource ID. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceGroupManagerResizeRequest] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceGroupManagerResizeRequest] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_instance_group_manager_resize_request(project, zone, instance_group_manager, resize_request, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}', options) command.response_representation = Google::Apis::ComputeV1::InstanceGroupManagerResizeRequest::Representation command.response_class = Google::Apis::ComputeV1::InstanceGroupManagerResizeRequest command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.params['resizeRequest'] = resize_request unless resize_request.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a new resize request that starts provisioning VMs immediately # or queues VM creation. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located and where the resize request will be created. # Name should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group to which the resize request will # be added. # Name should conform to RFC1035 or be a resource ID. # @param [Google::Apis::ComputeV1::InstanceGroupManagerResizeRequest] instance_group_manager_resize_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_instance_group_manager_resize_request(project, zone, instance_group_manager, instance_group_manager_resize_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManagerResizeRequest::Representation command.request_object = instance_group_manager_resize_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of resize requests that are contained in the # managed instance group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. The name should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group. The name should conform to RFC1035. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestsListResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestsListResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_instance_group_manager_resize_requests(project, zone, instance_group_manager, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests', options) command.response_representation = Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestsListResponse::Representation command.response_class = Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestsListResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Flags the specified instances to be removed from the # managed instance group. Abandoning an instance does not delete the # instance, but it does remove the instance from any target pools that are # applied by the managed instance group. This method reduces thetargetSize of # the managed instance group by the # number of instances that you abandon. This operation is marked asDONE when the # action is scheduled even if the instances have # not yet been removed from the group. You must separately verify the # status of the abandoning action with thelistmanagedinstances # method. # If the group is part of a backend # service that has enabled # connection draining, it can take up to 60 seconds after the connection # draining duration has elapsed before the VM instance is removed or deleted. # You can specify a maximum of 1000 instances with this method per request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. # @param [String] instance_group_manager # The name of the managed instance group. # @param [Google::Apis::ComputeV1::InstanceGroupManagersAbandonInstancesRequest] instance_group_managers_abandon_instances_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def abandon_instance_group_manager_instances(project, zone, instance_group_manager, instance_group_managers_abandon_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManagersAbandonInstancesRequest::Representation command.request_object = instance_group_managers_abandon_instances_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceGroupManagerAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceGroupManagerAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_aggregated_instance_group_managers(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/instanceGroupManagers', options) command.response_representation = Google::Apis::ComputeV1::InstanceGroupManagerAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::InstanceGroupManagerAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Applies changes to selected instances on the managed instance group. # This method can be used to apply new overrides and/or new versions. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone # where the managed instance group is located. Should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group, should conform to RFC1035. # @param [Google::Apis::ComputeV1::InstanceGroupManagersApplyUpdatesRequest] instance_group_managers_apply_updates_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def apply_instance_group_manager_updates_to_instances(project, zone, instance_group_manager, instance_group_managers_apply_updates_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManagersApplyUpdatesRequest::Representation command.request_object = instance_group_managers_apply_updates_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates instances with per-instance configurations in this managed instance # group. Instances are created using the current instance template. Thecreate # instances operation is marked DONE if thecreateInstances request is successful. # The underlying actions # take additional time. You must separately verify the status of thecreating or # actions with the listmanagedinstances # method. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone # where the managed instance group is located. # It should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group. # It should conform to RFC1035. # @param [Google::Apis::ComputeV1::InstanceGroupManagersCreateInstancesRequest] instance_group_managers_create_instances_request_object # @param [String] request_id # 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. # The request ID must be # a valid UUID with the exception that zero UUID is not supported # (00000000-0000-0000-0000-000000000000). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def create_instance_group_manager_instances(project, zone, instance_group_manager, instance_group_managers_create_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManagersCreateInstancesRequest::Representation command.request_object = instance_group_managers_create_instances_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified managed instance group and all of the instances # in that group. Note that the instance group must not belong to a # backend service. Read # Deleting an instance group for more information. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. # @param [String] instance_group_manager # The name of the managed instance group to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_instance_group_manager(project, zone, instance_group_manager, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Flags the specified instances in the managed instance group for immediate # deletion. The instances are also removed from any target # pools of which they were a member. This method reduces thetargetSize of the # managed instance group by the number of # instances that you delete. This operation is marked as DONE # when the action is scheduled even if the instances are still being deleted. # You must separately verify the status of the deleting action # with thelistmanagedinstances # method. # If the group is part of a backend # service that has enabled # connection draining, it can take up to 60 seconds after the connection # draining duration has elapsed before the VM instance is removed or deleted. # You can specify a maximum of 1000 instances with this method per request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. # @param [String] instance_group_manager # The name of the managed instance group. # @param [Google::Apis::ComputeV1::InstanceGroupManagersDeleteInstancesRequest] instance_group_managers_delete_instances_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_instance_group_manager_instances(project, zone, instance_group_manager, instance_group_managers_delete_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManagersDeleteInstancesRequest::Representation command.request_object = instance_group_managers_delete_instances_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes selected per-instance configurations for the managed instance # group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone # where the managed instance # group is located. # It should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group. # It should conform to RFC1035. # @param [Google::Apis::ComputeV1::InstanceGroupManagersDeletePerInstanceConfigsReq] instance_group_managers_delete_per_instance_configs_req_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_instance_group_manager_per_instance_configs(project, zone, instance_group_manager, instance_group_managers_delete_per_instance_configs_req_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManagersDeletePerInstanceConfigsReq::Representation command.request_object = instance_group_managers_delete_per_instance_configs_req_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns all of the details about the specified managed instance group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. # @param [String] instance_group_manager # The name of the managed instance group. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceGroupManager] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceGroupManager] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_instance_group_manager(project, zone, instance_group_manager, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}', options) command.response_representation = Google::Apis::ComputeV1::InstanceGroupManager::Representation command.response_class = Google::Apis::ComputeV1::InstanceGroupManager command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a managed instance group using the information that you specify # in the request. After the group is created, instances in the group are # created using the specified instance template. # This operation is marked as DONE when the group is created # even if the instances in the group have not yet been created. You # must separately verify the status of the individual instances with # thelistmanagedinstances # method. # A managed instance group can have up to 1000 VM instances per group. Please # contact Cloud Support if you need an increase in # this limit. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone # where you want to create the managed instance group. # @param [Google::Apis::ComputeV1::InstanceGroupManager] instance_group_manager_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_instance_group_manager(project, zone, instance_group_manager_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManager::Representation command.request_object = instance_group_manager_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of managed instance groups that are contained within the # specified project and zone. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceGroupManagerList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceGroupManagerList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_instance_group_managers(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instanceGroupManagers', options) command.response_representation = Google::Apis::ComputeV1::InstanceGroupManagerList::Representation command.response_class = Google::Apis::ComputeV1::InstanceGroupManagerList command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists all errors thrown by actions on instances for a given managed # instance group. The filter and orderBy query # parameters are not supported. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. # It should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group. # It must be a string that meets the requirements in RFC1035, or an # unsigned long integer: must match regexp pattern: # (?:[a-z](?:[-a-z0-9]`0,61`[a-z0-9])?)|1-9`0,19`. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceGroupManagersListErrorsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceGroupManagersListErrorsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_instance_group_manager_errors(project, zone, instance_group_manager, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listErrors', options) command.response_representation = Google::Apis::ComputeV1::InstanceGroupManagersListErrorsResponse::Representation command.response_class = Google::Apis::ComputeV1::InstanceGroupManagersListErrorsResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. # @param [String] instance_group_manager # The name of the managed instance group. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceGroupManagersListManagedInstancesResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceGroupManagersListManagedInstancesResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_instance_group_manager_managed_instances(project, zone, instance_group_manager, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances', options) command.response_representation = Google::Apis::ComputeV1::InstanceGroupManagersListManagedInstancesResponse::Representation command.response_class = Google::Apis::ComputeV1::InstanceGroupManagersListManagedInstancesResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists all of the per-instance configurations defined for the managed # instance group. The orderBy query parameter is not supported. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone # where the managed instance group is located. # It should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group. It should conform to RFC1035. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceGroupManagersListPerInstanceConfigsResp] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceGroupManagersListPerInstanceConfigsResp] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_instance_group_manager_per_instance_configs(project, zone, instance_group_manager, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs', options) command.response_representation = Google::Apis::ComputeV1::InstanceGroupManagersListPerInstanceConfigsResp::Representation command.response_class = Google::Apis::ComputeV1::InstanceGroupManagersListPerInstanceConfigsResp command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates a managed instance group using the information that you specify # in the request. # This operation is marked as DONE when the group is patched # even if the instances in the group are still in the process of being # patched. You must separately verify the status of the individual instances # with thelistManagedInstances # method. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # If you update your group to specify a new template or instance # configuration, it's possible that your intended specification for each VM # in the group is different from the current state of that VM. To learn how # to apply an updated configuration to the VMs in a MIG, seeUpdating instances # in # a MIG. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone where # you want to create the managed instance group. # @param [String] instance_group_manager # The name of the instance group manager. # @param [Google::Apis::ComputeV1::InstanceGroupManager] instance_group_manager_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_instance_group_manager(project, zone, instance_group_manager, instance_group_manager_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManager::Representation command.request_object = instance_group_manager_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Inserts or patches per-instance configurations for the managed instance # group. perInstanceConfig.name serves as a key used to # distinguish whether to perform insert or patch. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone # where the managed instance group is located. # It should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group. # It should conform to RFC1035. # @param [Google::Apis::ComputeV1::InstanceGroupManagersPatchPerInstanceConfigsReq] instance_group_managers_patch_per_instance_configs_req_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_instance_group_manager_per_instance_configs(project, zone, instance_group_manager, instance_group_managers_patch_per_instance_configs_req_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManagersPatchPerInstanceConfigsReq::Representation command.request_object = instance_group_managers_patch_per_instance_configs_req_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Flags the specified VM instances in the managed instance group to be # immediately recreated. Each instance is recreated using the group's current # configuration. This operation is marked as DONE when the flag # is set even if the instances have not yet been recreated. You must # separately verify the status of each instance by checking itscurrentAction # field; for more information, see Checking # the status of managed instances. # If the group is part of a backend # service that has enabled # connection draining, it can take up to 60 seconds after the connection # draining duration has elapsed before the VM instance is removed or deleted. # You can specify a maximum of 1000 instances with this method per request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. # @param [String] instance_group_manager # The name of the managed instance group. # @param [Google::Apis::ComputeV1::InstanceGroupManagersRecreateInstancesRequest] instance_group_managers_recreate_instances_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def recreate_instance_group_manager_instances(project, zone, instance_group_manager, instance_group_managers_recreate_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManagersRecreateInstancesRequest::Representation command.request_object = instance_group_managers_recreate_instances_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Resizes the managed instance group. If you increase the size, the group # creates new instances using the current instance template. If you decrease # the size, the group deletes instances. The resize operation is markedDONE when # the resize actions are scheduled even if the group # has not yet added or deleted any instances. You must separately # verify the status of the creating or deleting # actions with thelistmanagedinstances # method. # When resizing down, the instance group arbitrarily chooses the order in # which VMs are deleted. The group takes into account some VM attributes when # making the selection including: # + The status of the VM instance. # + The health of the VM instance. # + The instance template version the VM is based on. # + For regional managed instance groups, the location of the VM instance. # This list is subject to change. # If the group is part of a backend # service that has enabled # connection draining, it can take up to 60 seconds after the connection # draining duration has elapsed before the VM instance is removed or deleted. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. # @param [String] instance_group_manager # The name of the managed instance group. # @param [Fixnum] size # The number of running instances that the managed instance group should # maintain at any given time. The group automatically adds or removes # instances to maintain the number of instances specified by this parameter. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def resize_instance_group_manager(project, zone, instance_group_manager, size, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['size'] = size unless size.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Flags the specified instances in the managed instance group to be # resumed. This method increases thetargetSize and decreases the # targetSuspendedSize # of the managed instance group by the number of instances that you resume. # The resumeInstances operation is marked DONE if # the resumeInstances request is successful. The underlying # actions take additional time. You must separately verify the status of # theRESUMING action with thelistmanagedinstances # method. # In this request, you can only specify instances that are suspended. For # example, if an instance was previously suspended using the suspendInstances # method, it can be resumed using the resumeInstances method. # If a health check is attached to the managed instance group, the specified # instances will be verified as healthy after they are resumed. # You can specify a maximum of 1000 instances with this method per request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. # @param [String] instance_group_manager # The name of the managed instance group. # @param [Google::Apis::ComputeV1::InstanceGroupManagersResumeInstancesRequest] instance_group_managers_resume_instances_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def resume_instance_group_manager_instances(project, zone, instance_group_manager, instance_group_managers_resume_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resumeInstances', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManagersResumeInstancesRequest::Representation command.request_object = instance_group_managers_resume_instances_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Specifies the instance template to use when creating new instances in this # group. The templates for existing instances in the group do not change # unless you run recreateInstances, runapplyUpdatesToInstances, or set the group' # supdatePolicy.type to PROACTIVE. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. # @param [String] instance_group_manager # The name of the managed instance group. # @param [Google::Apis::ComputeV1::InstanceGroupManagersSetInstanceTemplateRequest] instance_group_managers_set_instance_template_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instance_group_manager_instance_template(project, zone, instance_group_manager, instance_group_managers_set_instance_template_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManagersSetInstanceTemplateRequest::Representation command.request_object = instance_group_managers_set_instance_template_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Modifies the target pools to which all instances in this managed instance # group are assigned. The target pools automatically apply to all of the # instances in the managed instance group. This operation is markedDONE when you # make the request even if the instances have not # yet been added to their target pools. The change might take some time to # apply to all of the instances in the group depending on the size of the # group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. # @param [String] instance_group_manager # The name of the managed instance group. # @param [Google::Apis::ComputeV1::InstanceGroupManagersSetTargetPoolsRequest] instance_group_managers_set_target_pools_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instance_group_manager_target_pools(project, zone, instance_group_manager, instance_group_managers_set_target_pools_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManagersSetTargetPoolsRequest::Representation command.request_object = instance_group_managers_set_target_pools_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Flags the specified instances in the managed instance group to be # started. This method increases thetargetSize and decreases the # targetStoppedSize # of the managed instance group by the number of instances that you start. # The startInstances operation is marked DONE if # the startInstances request is successful. The underlying # actions take additional time. You must separately verify the status of # theSTARTING action with thelistmanagedinstances # method. # In this request, you can only specify instances that are stopped. For # example, if an instance was previously stopped using the stopInstances # method, it can be started using the startInstances method. # If a health check is attached to the managed instance group, the specified # instances will be verified as healthy after they are started. # You can specify a maximum of 1000 instances with this method per request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. # @param [String] instance_group_manager # The name of the managed instance group. # @param [Google::Apis::ComputeV1::InstanceGroupManagersStartInstancesRequest] instance_group_managers_start_instances_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def start_instance_group_manager_instances(project, zone, instance_group_manager, instance_group_managers_start_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/startInstances', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManagersStartInstancesRequest::Representation command.request_object = instance_group_managers_start_instances_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Flags the specified instances in the managed instance group to be # immediately stopped. You can only specify instances that are running in # this request. This method reduces thetargetSize and increases the # targetStoppedSize # of the managed instance group by the number of instances that you stop. # The stopInstances operation is marked DONE if # the stopInstances request is successful. The underlying # actions take additional time. You must separately verify the status of # theSTOPPING action with thelistmanagedinstances # method. # If the standbyPolicy.initialDelaySec field is set, the group # delays stopping the instances until initialDelaySec have # passed from instance.creationTimestamp (that is, when the # instance was created). This delay gives your application time to # set itself up and initialize on the instance. If more thaninitialDelaySec # seconds have passed sinceinstance.creationTimestamp when this method is called, # there # will be zero delay. # If the group is part of a backend # service that has enabled # connection draining, it can take up to 60 seconds after the connection # draining duration has elapsed before the VM instance is stopped. # Stopped instances can be started using the startInstances # method. # You can specify a maximum of 1000 instances with this method per request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. # @param [String] instance_group_manager # The name of the managed instance group. # @param [Google::Apis::ComputeV1::InstanceGroupManagersStopInstancesRequest] instance_group_managers_stop_instances_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def stop_instance_group_manager_instances(project, zone, instance_group_manager, instance_group_managers_stop_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/stopInstances', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManagersStopInstancesRequest::Representation command.request_object = instance_group_managers_stop_instances_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Flags the specified instances in the managed instance group to be # immediately suspended. You can only specify instances that are running in # this request. This method reduces thetargetSize and increases the # targetSuspendedSize # of the managed instance group by the number of instances that you suspend. # The suspendInstances operation is marked DONE if # the suspendInstances request is successful. The underlying # actions take additional time. You must separately verify the status of # theSUSPENDING action with thelistmanagedinstances # method. # If the standbyPolicy.initialDelaySec field is set, the group # delays suspension of the instances until initialDelaySec have # passed from instance.creationTimestamp (that is, when the # instance was created). This delay gives your application time to # set itself up and initialize on the instance. If more thaninitialDelaySec # seconds have passed sinceinstance.creationTimestamp when this method is called, # there # will be zero delay. # If the group is part of a backend # service that has enabled # connection draining, it can take up to 60 seconds after the connection # draining duration has elapsed before the VM instance is suspended. # Suspended instances can be resumed using the resumeInstances # method. # You can specify a maximum of 1000 instances with this method per request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone where the managed # instance group is located. # @param [String] instance_group_manager # The name of the managed instance group. # @param [Google::Apis::ComputeV1::InstanceGroupManagersSuspendInstancesRequest] instance_group_managers_suspend_instances_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def suspend_instance_group_manager_instances(project, zone, instance_group_manager, instance_group_managers_suspend_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/suspendInstances', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManagersSuspendInstancesRequest::Representation command.request_object = instance_group_managers_suspend_instances_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Inserts or updates per-instance configurations for the managed instance # group. perInstanceConfig.name serves as a key used to # distinguish whether to perform insert or patch. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone # where the managed instance group is located. # It should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group. # It should conform to RFC1035. # @param [Google::Apis::ComputeV1::InstanceGroupManagersUpdatePerInstanceConfigsReq] instance_group_managers_update_per_instance_configs_req_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_instance_group_manager_per_instance_configs(project, zone, instance_group_manager, instance_group_managers_update_per_instance_configs_req_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManagersUpdatePerInstanceConfigsReq::Representation command.request_object = instance_group_managers_update_per_instance_configs_req_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Adds a list of instances to the specified instance group. All of the # instances in the instance group must be in the same network/subnetwork. # Read # Adding instances for more information. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone # where the instance group is located. # @param [String] instance_group # The name of the instance group where you are adding instances. # @param [Google::Apis::ComputeV1::InstanceGroupsAddInstancesRequest] instance_groups_add_instances_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_instance_group_instances(project, zone, instance_group, instance_groups_add_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupsAddInstancesRequest::Representation command.request_object = instance_groups_add_instances_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroup'] = instance_group unless instance_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of instance groups and sorts them by zone. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceGroupAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceGroupAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_aggregated_instance_groups(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/instanceGroups', options) command.response_representation = Google::Apis::ComputeV1::InstanceGroupAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::InstanceGroupAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified instance group. The instances in the group are not # deleted. Note that instance group must not belong to a backend service. # Read # Deleting an instance group for more information. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone # where the instance group is located. # @param [String] instance_group # The name of the instance group to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_instance_group(project, zone, instance_group, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroup'] = instance_group unless instance_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified zonal instance group. Get a list of available zonal # instance groups by making a list() request. # For managed instance groups, use theinstanceGroupManagers # or regionInstanceGroupManagers # methods instead. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone # where the instance group is located. # @param [String] instance_group # The name of the instance group. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceGroup] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceGroup] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_instance_group(project, zone, instance_group, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}', options) command.response_representation = Google::Apis::ComputeV1::InstanceGroup::Representation command.response_class = Google::Apis::ComputeV1::InstanceGroup command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroup'] = instance_group unless instance_group.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates an instance group in the specified project using the # parameters that are included in the request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone # where you want to create the instance group. # @param [Google::Apis::ComputeV1::InstanceGroup] instance_group_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_instance_group(project, zone, instance_group_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroups', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroup::Representation command.request_object = instance_group_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of zonal instance group resources contained within the # specified zone. # For managed instance groups, use theinstanceGroupManagers # or regionInstanceGroupManagers # methods instead. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone # where the instance group is located. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceGroupList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceGroupList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_instance_groups(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instanceGroups', options) command.response_representation = Google::Apis::ComputeV1::InstanceGroupList::Representation command.response_class = Google::Apis::ComputeV1::InstanceGroupList command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the instances in the specified instance group. # The orderBy query parameter is not supported. # The filter query parameter is supported, but only for # expressions that use `eq` (equal) or `ne` (not equal) operators. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone # where the instance group is located. # @param [String] instance_group # The name of the instance group from which you want to generate a list # of included instances. # @param [Google::Apis::ComputeV1::InstanceGroupsListInstancesRequest] instance_groups_list_instances_request_object # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceGroupsListInstances] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceGroupsListInstances] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_instance_group_instances(project, zone, instance_group, instance_groups_list_instances_request_object = nil, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupsListInstancesRequest::Representation command.request_object = instance_groups_list_instances_request_object command.response_representation = Google::Apis::ComputeV1::InstanceGroupsListInstances::Representation command.response_class = Google::Apis::ComputeV1::InstanceGroupsListInstances command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroup'] = instance_group unless instance_group.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Removes one or more instances from the specified instance group, but does # not delete those instances. # If the group is part of a backend # service that has enabled # connection draining, it can take up to 60 seconds after the connection # draining duration before the VM instance is removed or deleted. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone # where the instance group is located. # @param [String] instance_group # The name of the instance group where the specified instances will be # removed. # @param [Google::Apis::ComputeV1::InstanceGroupsRemoveInstancesRequest] instance_groups_remove_instances_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_instance_group_instances(project, zone, instance_group, instance_groups_remove_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupsRemoveInstancesRequest::Representation command.request_object = instance_groups_remove_instances_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroup'] = instance_group unless instance_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the named ports for the specified instance group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone # where the instance group is located. # @param [String] instance_group # The name of the instance group where the named ports are updated. # @param [Google::Apis::ComputeV1::InstanceGroupsSetNamedPortsRequest] instance_groups_set_named_ports_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instance_group_named_ports(project, zone, instance_group, instance_groups_set_named_ports_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupsSetNamedPortsRequest::Representation command.request_object = instance_groups_set_named_ports_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instanceGroup'] = instance_group unless instance_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_instance_group_iam_permissions(project, zone, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instanceGroups/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Get Instance settings. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceSettings] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceSettings] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_instance_setting(project, zone, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instanceSettings', options) command.response_representation = Google::Apis::ComputeV1::InstanceSettings::Representation command.response_class = Google::Apis::ComputeV1::InstanceSettings command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patch Instance settings # @param [String] project # Project ID for this request. # @param [String] zone # The zone scoping this request. It should conform to RFC1035. # @param [Google::Apis::ComputeV1::InstanceSettings] instance_settings_object # @param [String] request_id # 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). # @param [String] update_mask # update_mask indicates fields to be updated as part of this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_instance_setting(project, zone, instance_settings_object = nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/zones/{zone}/instanceSettings', options) command.request_representation = Google::Apis::ComputeV1::InstanceSettings::Representation command.request_object = instance_settings_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Name of the project scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceTemplateAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceTemplateAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_instance_template_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/instanceTemplates', options) command.response_representation = Google::Apis::ComputeV1::InstanceTemplateAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::InstanceTemplateAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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. # @param [String] project # Project ID for this request. # @param [String] instance_template # The name of the instance template to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_instance_template(project, instance_template, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/instanceTemplates/{instanceTemplate}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['instanceTemplate'] = instance_template unless instance_template.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified instance template. # @param [String] project # Project ID for this request. # @param [String] instance_template # The name of the instance template. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceTemplate] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceTemplate] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_instance_template(project, instance_template, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/instanceTemplates/{instanceTemplate}', options) command.response_representation = Google::Apis::ComputeV1::InstanceTemplate::Representation command.response_class = Google::Apis::ComputeV1::InstanceTemplate command.params['project'] = project unless project.nil? command.params['instanceTemplate'] = instance_template unless instance_template.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_instance_template_iam_policy(project, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/instanceTemplates/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates an instance template in the specified project using the # data that is included in the request. If you are creating a new template to # update an existing instance group, your new instance template must use the # same network or, if applicable, the same subnetwork as the original # template. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::InstanceTemplate] instance_template_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_instance_template(project, instance_template_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/instanceTemplates', options) command.request_representation = Google::Apis::ComputeV1::InstanceTemplate::Representation command.request_object = instance_template_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of instance templates that are contained within # the specified project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceTemplateList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceTemplateList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_instance_templates(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/instanceTemplates', options) command.response_representation = Google::Apis::ComputeV1::InstanceTemplateList::Representation command.response_class = Google::Apis::ComputeV1::InstanceTemplateList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetPolicyRequest] global_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instance_template_iam_policy(project, resource, global_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/instanceTemplates/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetPolicyRequest::Representation command.request_object = global_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_instance_template_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/instanceTemplates/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Adds an access config to an instance's network interface. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # The instance name for this request. # @param [String] network_interface # The name of the network interface to add to this instance. # @param [Google::Apis::ComputeV1::AccessConfig] access_config_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_instance_access_config(project, zone, instance, network_interface, access_config_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/addAccessConfig', options) command.request_representation = Google::Apis::ComputeV1::AccessConfig::Representation command.request_object = access_config_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['networkInterface'] = network_interface unless network_interface.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Adds one dynamic network interface to an active instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # The instance name for this request stored as resource_id. # Name should conform to RFC1035 or be an unsigned long integer. # @param [Google::Apis::ComputeV1::NetworkInterface] network_interface_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_instance_network_interface(project, zone, instance, network_interface_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/addNetworkInterface', options) command.request_representation = Google::Apis::ComputeV1::NetworkInterface::Representation command.request_object = network_interface_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Adds existing resource policies to an instance. You can only add one # policy right now which will be applied to this instance for scheduling live # migrations. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # The instance name for this request. # @param [Google::Apis::ComputeV1::InstancesAddResourcePoliciesRequest] instances_add_resource_policies_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_instance_resource_policies(project, zone, instance, instances_add_resource_policies_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/addResourcePolicies', options) command.request_representation = Google::Apis::ComputeV1::InstancesAddResourcePoliciesRequest::Representation command.request_object = instances_add_resource_policies_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_aggregated_instances(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/instances', options) command.response_representation = Google::Apis::ComputeV1::InstanceAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::InstanceAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Attaches an existing Disk resource to an instance. You must first # create the disk before you can attach it. It is not possible to create # and attach a disk at the same time. For more information, readAdding a # persistent disk to your instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # The instance name for this request. # @param [Google::Apis::ComputeV1::AttachedDisk] attached_disk_object # @param [Boolean] force_attach # Whether to force attach the regional disk even if it's currently attached # to another instance. If you try to force attach a zonal disk to an # instance, you will receive an error. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def attach_disk(project, zone, instance, attached_disk_object = nil, force_attach: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/attachDisk', options) command.request_representation = Google::Apis::ComputeV1::AttachedDisk::Representation command.request_object = attached_disk_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['forceAttach'] = force_attach unless force_attach.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates multiple instances. Count specifies the number of instances to # create. For more information, seeAbout bulk # creation of VMs. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [Google::Apis::ComputeV1::BulkInsertInstanceResource] bulk_insert_instance_resource_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def bulk_instance_insert(project, zone, bulk_insert_instance_resource_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/bulkInsert', options) command.request_representation = Google::Apis::ComputeV1::BulkInsertInstanceResource::Representation command.request_object = bulk_insert_instance_resource_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified Instance resource. For more information, seeDeleting # an instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_instance(project, zone, instance, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/zones/{zone}/instances/{instance}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes an access config from an instance's network interface. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # The instance name for this request. # @param [String] access_config # The name of the access config to delete. # @param [String] network_interface # The name of the network interface. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_instance_access_config(project, zone, instance, access_config, network_interface, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/deleteAccessConfig', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['accessConfig'] = access_config unless access_config.nil? command.query['networkInterface'] = network_interface unless network_interface.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes one dynamic network interface from an active instance. # InstancesDeleteNetworkInterfaceRequest indicates: # - instance from which to delete, using project+zone+resource_id fields; # - dynamic network interface to be deleted, using network_interface_name # field; # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # The instance name for this request stored as resource_id. # Name should conform to RFC1035 or be an unsigned long integer. # @param [String] network_interface_name # The name of the dynamic network interface to be deleted from the instance. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_instance_network_interface(project, zone, instance, network_interface_name, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/deleteNetworkInterface', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['networkInterfaceName'] = network_interface_name unless network_interface_name.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Detaches a disk from an instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Instance name for this request. # @param [String] device_name # The device name of the disk to detach. Make a get() request on # the instance to view currently attached disks and device names. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def detach_disk(project, zone, instance, device_name, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/detachDisk', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['deviceName'] = device_name unless device_name.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified Instance resource. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Instance] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Instance] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_instance(project, zone, instance, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instances/{instance}', options) command.response_representation = Google::Apis::ComputeV1::Instance::Representation command.response_class = Google::Apis::ComputeV1::Instance command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns effective firewalls applied to an interface of the instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance scoping this request. # @param [String] network_interface # The name of the network interface to get the effective firewalls. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstancesGetEffectiveFirewallsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstancesGetEffectiveFirewallsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_instance_effective_firewalls(project, zone, instance, network_interface, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instances/{instance}/getEffectiveFirewalls', options) command.response_representation = Google::Apis::ComputeV1::InstancesGetEffectiveFirewallsResponse::Representation command.response_class = Google::Apis::ComputeV1::InstancesGetEffectiveFirewallsResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['networkInterface'] = network_interface unless network_interface.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified guest attributes entry. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance scoping this request. # @param [String] query_path # Specifies the guest attributes path to be queried. # @param [String] variable_key # Specifies the key for the guest attributes entry. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::GuestAttributes] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::GuestAttributes] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_instance_guest_attributes(project, zone, instance, query_path: nil, variable_key: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes', options) command.response_representation = Google::Apis::ComputeV1::GuestAttributes::Representation command.response_class = Google::Apis::ComputeV1::GuestAttributes command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['queryPath'] = query_path unless query_path.nil? command.query['variableKey'] = variable_key unless variable_key.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_instance_iam_policy(project, zone, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instances/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the screenshot from the specified instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance scoping this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Screenshot] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Screenshot] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_instance_screenshot(project, zone, instance, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instances/{instance}/screenshot', options) command.response_representation = Google::Apis::ComputeV1::Screenshot::Representation command.response_class = Google::Apis::ComputeV1::Screenshot command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the last 1 MB of serial port output from the specified instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance for this request. # @param [Fixnum] port # Specifies which COM or serial port to retrieve data from. # @param [Fixnum] start # Specifies the starting byte position of the output to return. To start with # the first byte of output to the specified port, omit this field or set it # to `0`. # If the output for that byte position is available, this field matches the # `start` parameter sent with the request. If the amount of serial console # output exceeds the size of the buffer (1 MB), the oldest output is # discarded and is no longer available. If the requested start position # refers to discarded output, the start position is adjusted to the oldest # output still available, and the adjusted start position is returned as the # `start` property value. # You can also provide a negative start position, which translates to the # most recent number of bytes written to the serial port. For example, -3 is # interpreted as the most recent 3 bytes written to the serial console. Note # that the negative start is bounded by the retained buffer size, and the # returned serial console output will not exceed the max buffer size. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SerialPortOutput] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SerialPortOutput] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_instance_serial_port_output(project, zone, instance, port: nil, start: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instances/{instance}/serialPort', options) command.response_representation = Google::Apis::ComputeV1::SerialPortOutput::Representation command.response_class = Google::Apis::ComputeV1::SerialPortOutput command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['port'] = port unless port.nil? command.query['start'] = start unless start.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the Shielded Instance Identity of an instance # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name or id of the instance scoping this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ShieldedInstanceIdentity] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ShieldedInstanceIdentity] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_instance_shielded_instance_identity(project, zone, instance, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instances/{instance}/getShieldedInstanceIdentity', options) command.response_representation = Google::Apis::ComputeV1::ShieldedInstanceIdentity::Representation command.response_class = Google::Apis::ComputeV1::ShieldedInstanceIdentity command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates an instance resource in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [Google::Apis::ComputeV1::Instance] instance_object # @param [String] request_id # 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). # @param [String] source_instance_template # Specifies instance template to create the instance. # This field is optional. 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 # @param [String] source_machine_image # Specifies the machine image to use to create the instance. # This field is optional. It can be a full or partial URL. For example, the # following are all valid URLs to a machine image: # # # - https://www.googleapis.com/compute/v1/projects/project/global/global/ # machineImages/machineImage # - projects/project/global/global/machineImages/machineImage # - global/machineImages/machineImage # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_instance(project, zone, instance_object = nil, request_id: nil, source_instance_template: nil, source_machine_image: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances', options) command.request_representation = Google::Apis::ComputeV1::Instance::Representation command.request_object = instance_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['sourceInstanceTemplate'] = source_instance_template unless source_instance_template.nil? command.query['sourceMachineImage'] = source_machine_image unless source_machine_image.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of instances contained within # the specified zone. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_instances(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instances', options) command.response_representation = Google::Apis::ComputeV1::InstanceList::Representation command.response_class = Google::Apis::ComputeV1::InstanceList command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of resources that refer to the VM instance specified in # the request. For example, if the VM instance is part of a managed or # unmanaged instance group, the referrers list includes the instance group. # For more information, readViewing # referrers to VM instances. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the target instance scoping this request, or '-' if the # request should span over all instances in the container. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceListReferrers] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceListReferrers] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_instance_referrers(project, zone, instance, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instances/{instance}/referrers', options) command.response_representation = Google::Apis::ComputeV1::InstanceListReferrers::Representation command.response_class = Google::Apis::ComputeV1::InstanceListReferrers command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Perform a manual maintenance on the instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance scoping this request. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def perform_instance_maintenance(project, zone, instance, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/performMaintenance', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Removes resource policies from an instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # The instance name for this request. # @param [Google::Apis::ComputeV1::InstancesRemoveResourcePoliciesRequest] instances_remove_resource_policies_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_instance_resource_policies(project, zone, instance, instances_remove_resource_policies_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/removeResourcePolicies', options) command.request_representation = Google::Apis::ComputeV1::InstancesRemoveResourcePoliciesRequest::Representation command.request_object = instances_remove_resource_policies_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Mark the host as faulty and try to restart the instance on a new host. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance scoping this request. # @param [Google::Apis::ComputeV1::InstancesReportHostAsFaultyRequest] instances_report_host_as_faulty_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def report_instance_host_as_faulty(project, zone, instance, instances_report_host_as_faulty_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/reportHostAsFaulty', options) command.request_representation = Google::Apis::ComputeV1::InstancesReportHostAsFaultyRequest::Representation command.request_object = instances_report_host_as_faulty_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Performs a reset on the instance. This is a hard reset. The VM # does not do a graceful shutdown. For more information, seeResetting # an instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance scoping this request. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def reset_instance(project, zone, instance, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/reset', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Resumes an instance that was suspended using theinstances().suspend # method. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance resource to resume. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def resume_instance(project, zone, instance, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/resume', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sends diagnostic interrupt to the instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance scoping this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [NilClass] No result returned for this method # @yieldparam err [StandardError] error object if request failed # # @return [void] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def send_instance_diagnostic_interrupt(project, zone, instance, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/sendDiagnosticInterrupt', options) command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets deletion protection on the instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Boolean] deletion_protection # Whether the resource should be protected against deletion. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instance_deletion_protection(project, zone, resource, deletion_protection: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{resource}/setDeletionProtection', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['deletionProtection'] = deletion_protection unless deletion_protection.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the auto-delete flag for a disk attached to an instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # The instance name for this request. # @param [Boolean] auto_delete # Whether to auto-delete the disk when the instance is deleted. # @param [String] device_name # The device name of the disk to modify. Make a get() request # on the instance to view currently attached disks and device names. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_disk_auto_delete(project, zone, instance, auto_delete, device_name, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['autoDelete'] = auto_delete unless auto_delete.nil? command.query['deviceName'] = device_name unless device_name.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::ZoneSetPolicyRequest] zone_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instance_iam_policy(project, zone, resource, zone_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::ZoneSetPolicyRequest::Representation command.request_object = zone_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets labels on an instance. To learn more about labels, read theLabeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance scoping this request. # @param [Google::Apis::ComputeV1::InstancesSetLabelsRequest] instances_set_labels_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instance_labels(project, zone, instance, instances_set_labels_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::InstancesSetLabelsRequest::Representation command.request_object = instances_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes the number and/or type of accelerator for a stopped instance to the # values specified in the request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance scoping this request. # @param [Google::Apis::ComputeV1::InstancesSetMachineResourcesRequest] instances_set_machine_resources_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instance_machine_resources(project, zone, instance, instances_set_machine_resources_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/setMachineResources', options) command.request_representation = Google::Apis::ComputeV1::InstancesSetMachineResourcesRequest::Representation command.request_object = instances_set_machine_resources_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes the machine type for a stopped instance to the machine # type specified in the request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance scoping this request. # @param [Google::Apis::ComputeV1::InstancesSetMachineTypeRequest] instances_set_machine_type_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instance_machine_type(project, zone, instance, instances_set_machine_type_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/setMachineType', options) command.request_representation = Google::Apis::ComputeV1::InstancesSetMachineTypeRequest::Representation command.request_object = instances_set_machine_type_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets metadata for the specified instance to the data included # in the request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance scoping this request. # @param [Google::Apis::ComputeV1::Metadata] metadata_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instance_metadata(project, zone, instance, metadata_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/setMetadata', options) command.request_representation = Google::Apis::ComputeV1::Metadata::Representation command.request_object = metadata_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes the minimum CPU platform that this instance should use. # This method can only # be called on a stopped instance. For more information, readSpecifying a # Minimum CPU Platform. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance scoping this request. # @param [Google::Apis::ComputeV1::InstancesSetMinCpuPlatformRequest] instances_set_min_cpu_platform_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instance_min_cpu_platform(project, zone, instance, instances_set_min_cpu_platform_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/setMinCpuPlatform', options) command.request_representation = Google::Apis::ComputeV1::InstancesSetMinCpuPlatformRequest::Representation command.request_object = instances_set_min_cpu_platform_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets name of an instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # The instance name for this request. # @param [Google::Apis::ComputeV1::InstancesSetNameRequest] instances_set_name_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instance_name(project, zone, instance, instances_set_name_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/setName', options) command.request_representation = Google::Apis::ComputeV1::InstancesSetNameRequest::Representation command.request_object = instances_set_name_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets an instance's scheduling options. You can only call this method on # astopped instance, # that is, a VM instance that is in a `TERMINATED` state. SeeInstance Life # Cycle for more information on the possible instance states. # For more information about setting scheduling options for a VM, seeSet # VM host maintenance policy. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Instance name for this request. # @param [Google::Apis::ComputeV1::Scheduling] scheduling_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instance_scheduling(project, zone, instance, scheduling_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/setScheduling', options) command.request_representation = Google::Apis::ComputeV1::Scheduling::Representation command.request_object = scheduling_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the Google Cloud Armor security policy for the specified instance. # For more information, seeGoogle # Cloud Armor Overview # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone scoping this request. # @param [String] instance # Name of the Instance resource to which the security policy should be # set. The name should conform to RFC1035. # @param [Google::Apis::ComputeV1::InstancesSetSecurityPolicyRequest] instances_set_security_policy_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instance_security_policy(project, zone, instance, instances_set_security_policy_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/setSecurityPolicy', options) command.request_representation = Google::Apis::ComputeV1::InstancesSetSecurityPolicyRequest::Representation command.request_object = instances_set_security_policy_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the service account on the instance. For more information, # readChanging # the service account and access scopes for an instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance resource to start. # @param [Google::Apis::ComputeV1::InstancesSetServiceAccountRequest] instances_set_service_account_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instance_service_account(project, zone, instance, instances_set_service_account_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/setServiceAccount', options) command.request_representation = Google::Apis::ComputeV1::InstancesSetServiceAccountRequest::Representation command.request_object = instances_set_service_account_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name or id of the instance scoping this request. # @param [Google::Apis::ComputeV1::ShieldedInstanceIntegrityPolicy] shielded_instance_integrity_policy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instance_shielded_instance_integrity_policy(project, zone, instance, shielded_instance_integrity_policy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/zones/{zone}/instances/{instance}/setShieldedInstanceIntegrityPolicy', options) command.request_representation = Google::Apis::ComputeV1::ShieldedInstanceIntegrityPolicy::Representation command.request_object = shielded_instance_integrity_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets network tags # for the specified instance to the data included in the request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance scoping this request. # @param [Google::Apis::ComputeV1::Tags] tags_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instance_tags(project, zone, instance, tags_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/setTags', options) command.request_representation = Google::Apis::ComputeV1::Tags::Representation command.request_object = tags_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Simulates a host maintenance event on a VM. For more information, see # Simulate a host maintenance event. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance scoping this request. # @param [String] request_id # 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). # @param [Boolean] with_extended_notifications # Determines whether the customers receive notifications before migration. # Only applicable to SF vms. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def simulate_instance_maintenance_event(project, zone, instance, request_id: nil, with_extended_notifications: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/simulateMaintenanceEvent', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['withExtendedNotifications'] = with_extended_notifications unless with_extended_notifications.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Starts an instance that was stopped using theinstances().stop # method. For more information, seeRestart an # instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance resource to start. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def start_instance(project, zone, instance, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/start', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Starts an instance that was stopped using theinstances().stop # method. For more information, seeRestart an # instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance resource to start. # @param [Google::Apis::ComputeV1::InstancesStartWithEncryptionKeyRequest] instances_start_with_encryption_key_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def start_instance_with_encryption_key(project, zone, instance, instances_start_with_encryption_key_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey', options) command.request_representation = Google::Apis::ComputeV1::InstancesStartWithEncryptionKeyRequest::Representation command.request_object = instances_start_with_encryption_key_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Stops a running instance, shutting it down cleanly, and allows # you to restart the instance at a later time. Stopped instances do not incur # VM usage charges while they are stopped. However, resources that the VM is # using, such as persistent disks and static IP addresses, will continue to # be charged until they are deleted. For more information, seeStopping # an instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance resource to stop. # @param [Boolean] discard_local_ssd # 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. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def stop_instance(project, zone, instance, discard_local_ssd: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/stop', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['discardLocalSsd'] = discard_local_ssd unless discard_local_ssd.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # This method suspends a running instance, saving its state to persistent # storage, and allows you to resume the instance at a later time. Suspended # instances have no compute costs (cores or RAM), and incur only storage # charges for the saved VM memory and localSSD data. Any charged resources # the virtual machine was using, such as persistent disks and static IP # addresses, will continue to be charged while the instance is suspended. # For more information, see # Suspending and resuming an instance. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance resource to suspend. # @param [Boolean] discard_local_ssd # 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. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def suspend_instance(project, zone, instance, discard_local_ssd: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/suspend', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['discardLocalSsd'] = discard_local_ssd unless discard_local_ssd.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_instance_iam_permissions(project, zone, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates an instance only if the necessary resources are available. This # method can update only a specific set of instance properties. See # Updating a running instance for a list of updatable instance # properties. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance resource to update. # @param [Google::Apis::ComputeV1::Instance] instance_object # @param [String] minimal_action # Specifies the action to take when updating an instance even if the # updated properties do not require it. If not specified, then # Compute Engine acts based on the minimum action that the updated # properties require. # @param [String] most_disruptive_allowed_action # Specifies the most disruptive action that can be taken on the instance # as part of the update. Compute Engine returns an error if the # instance properties require a more disruptive action as part of the # instance update. Valid options from lowest to highest are # NO_EFFECT, REFRESH, and RESTART. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_instance(project, zone, instance, instance_object = nil, minimal_action: nil, most_disruptive_allowed_action: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:put, 'projects/{project}/zones/{zone}/instances/{instance}', options) command.request_representation = Google::Apis::ComputeV1::Instance::Representation command.request_object = instance_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['minimalAction'] = minimal_action unless minimal_action.nil? command.query['mostDisruptiveAllowedAction'] = most_disruptive_allowed_action unless most_disruptive_allowed_action.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified access config from an instance's network interface # with the data included in the request. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # The instance name for this request. # @param [String] network_interface # The name of the network interface where the access config is attached. # @param [Google::Apis::ComputeV1::AccessConfig] access_config_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_instance_access_config(project, zone, instance, network_interface, access_config_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instances/{instance}/updateAccessConfig', options) command.request_representation = Google::Apis::ComputeV1::AccessConfig::Representation command.request_object = access_config_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['networkInterface'] = network_interface unless network_interface.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the Display config for a VM instance. You can # only use this method on a stopped VM instance. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name of the instance scoping this request. # @param [Google::Apis::ComputeV1::DisplayDevice] display_device_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_instance_display_device(project, zone, instance, display_device_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/zones/{zone}/instances/{instance}/updateDisplayDevice', options) command.request_representation = Google::Apis::ComputeV1::DisplayDevice::Representation command.request_object = display_device_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates an instance's network interface. This method can only update an # interface's alias IP range and attached network. See Modifying # alias IP ranges for an existing instance for instructions on # changing alias IP ranges. See Migrating # a VM between networks for instructions on migrating an interface. # This method follows PATCH semantics. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # The instance name for this request. # @param [String] network_interface # The name of the network interface to update. # @param [Google::Apis::ComputeV1::NetworkInterface] network_interface_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_instance_network_interface(project, zone, instance, network_interface, network_interface_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/zones/{zone}/instances/{instance}/updateNetworkInterface', options) command.request_representation = Google::Apis::ComputeV1::NetworkInterface::Representation command.request_object = network_interface_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['networkInterface'] = network_interface unless network_interface.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the Shielded Instance config for an instance. You can # only use this method on a stopped instance. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instance # Name or id of the instance scoping this request. # @param [Google::Apis::ComputeV1::ShieldedInstanceConfig] shielded_instance_config_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_instance_shielded_instance_config(project, zone, instance, shielded_instance_config_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/zones/{zone}/instances/{instance}/updateShieldedInstanceConfig', options) command.request_representation = Google::Apis::ComputeV1::ShieldedInstanceConfig::Representation command.request_object = shielded_instance_config_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instance'] = instance unless instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of instantSnapshots. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstantSnapshotAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstantSnapshotAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_instant_snapshot_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/instantSnapshots', options) command.response_representation = Google::Apis::ComputeV1::InstantSnapshotAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::InstantSnapshotAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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, seeDeleting # instantSnapshots. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instant_snapshot # Name of the InstantSnapshot resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_instant_snapshot(project, zone, instant_snapshot, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instantSnapshot'] = instant_snapshot unless instant_snapshot.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified InstantSnapshot resource in the specified zone. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] instant_snapshot # Name of the InstantSnapshot resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstantSnapshot] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstantSnapshot] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_instant_snapshot(project, zone, instant_snapshot, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}', options) command.response_representation = Google::Apis::ComputeV1::InstantSnapshot::Representation command.response_class = Google::Apis::ComputeV1::InstantSnapshot command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['instantSnapshot'] = instant_snapshot unless instant_snapshot.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_instant_snapshot_iam_policy(project, zone, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instantSnapshots/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates an instant snapshot in the specified zone. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. # @param [Google::Apis::ComputeV1::InstantSnapshot] instant_snapshot_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_instant_snapshot(project, zone, instant_snapshot_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instantSnapshots', options) command.request_representation = Google::Apis::ComputeV1::InstantSnapshot::Representation command.request_object = instant_snapshot_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of InstantSnapshot resources contained within # the specified zone. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstantSnapshotList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstantSnapshotList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_instant_snapshots(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/instantSnapshots', options) command.response_representation = Google::Apis::ComputeV1::InstantSnapshotList::Representation command.response_class = Google::Apis::ComputeV1::InstantSnapshotList command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::ZoneSetPolicyRequest] zone_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instant_snapshot_iam_policy(project, zone, resource, zone_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instantSnapshots/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::ZoneSetPolicyRequest::Representation command.request_object = zone_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on a instantSnapshot in the given zone. To learn more about # labels, read the Labeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::ZoneSetLabelsRequest] zone_set_labels_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_instant_snapshot_labels(project, zone, resource, zone_set_labels_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instantSnapshots/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::ZoneSetLabelsRequest::Representation command.request_object = zone_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_instant_snapshot_iam_permissions(project, zone, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/instantSnapshots/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified InterconnectAttachmentGroup in the given scope # @param [String] project # Project ID for this request. # @param [String] interconnect_attachment_group # Name of the InterconnectAttachmentGroup resource to delete. # @param [String] request_id # 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 # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_interconnect_attachment_group(project, interconnect_attachment_group, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['interconnectAttachmentGroup'] = interconnect_attachment_group unless interconnect_attachment_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified InterconnectAttachmentGroup resource in the given # scope. # @param [String] project # Project ID for this request. # @param [String] interconnect_attachment_group # Name of the InterconnectAttachmentGroup resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InterconnectAttachmentGroup] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InterconnectAttachmentGroup] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_interconnect_attachment_group(project, interconnect_attachment_group, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}', options) command.response_representation = Google::Apis::ComputeV1::InterconnectAttachmentGroup::Representation command.response_class = Google::Apis::ComputeV1::InterconnectAttachmentGroup command.params['project'] = project unless project.nil? command.params['interconnectAttachmentGroup'] = interconnect_attachment_group unless interconnect_attachment_group.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_interconnect_attachment_group_iam_policy(project, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/interconnectAttachmentGroups/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the InterconnectAttachmentStatuses for the specified # InterconnectAttachmentGroup resource. # @param [String] project # Project ID for this request. # @param [String] interconnect_attachment_group # Name of the interconnectAttachmentGroup resource to query. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InterconnectAttachmentGroupsGetOperationalStatusResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InterconnectAttachmentGroupsGetOperationalStatusResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_interconnect_attachment_group_operational_status(project, interconnect_attachment_group, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}/getOperationalStatus', options) command.response_representation = Google::Apis::ComputeV1::InterconnectAttachmentGroupsGetOperationalStatusResponse::Representation command.response_class = Google::Apis::ComputeV1::InterconnectAttachmentGroupsGetOperationalStatusResponse command.params['project'] = project unless project.nil? command.params['interconnectAttachmentGroup'] = interconnect_attachment_group unless interconnect_attachment_group.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a InterconnectAttachmentGroup in the specified project in the given # scope using the parameters that are included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::InterconnectAttachmentGroup] interconnect_attachment_group_object # @param [String] request_id # 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 # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_interconnect_attachment_group(project, interconnect_attachment_group_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/interconnectAttachmentGroups', options) command.request_representation = Google::Apis::ComputeV1::InterconnectAttachmentGroup::Representation command.request_object = interconnect_attachment_group_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the InterconnectAttachmentGroups for a project in the given scope. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InterconnectAttachmentGroupsListResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InterconnectAttachmentGroupsListResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_interconnect_attachment_groups(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/interconnectAttachmentGroups', options) command.response_representation = Google::Apis::ComputeV1::InterconnectAttachmentGroupsListResponse::Representation command.response_class = Google::Apis::ComputeV1::InterconnectAttachmentGroupsListResponse command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified InterconnectAttachmentGroup resource with the data # included in the request. This method supports PATCH # semantics and usesJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] interconnect_attachment_group # Name of the InterconnectAttachmentGroup resource to patch. # @param [Google::Apis::ComputeV1::InterconnectAttachmentGroup] interconnect_attachment_group_object # @param [String] request_id # 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 # @param [String] update_mask # The list of fields to update. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_interconnect_attachment_group(project, interconnect_attachment_group, interconnect_attachment_group_object = nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}', options) command.request_representation = Google::Apis::ComputeV1::InterconnectAttachmentGroup::Representation command.request_object = interconnect_attachment_group_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['interconnectAttachmentGroup'] = interconnect_attachment_group unless interconnect_attachment_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetPolicyRequest] global_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_interconnect_attachment_group_iam_policy(project, resource, global_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/interconnectAttachmentGroups/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetPolicyRequest::Representation command.request_object = global_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_interconnect_attachment_group_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/interconnectAttachmentGroups/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of interconnect attachments. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_interconnect_attachment_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/interconnectAttachments', options) command.response_representation = Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified interconnect attachment. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] interconnect_attachment # Name of the interconnect attachment to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_interconnect_attachment(project, region, interconnect_attachment, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['interconnectAttachment'] = interconnect_attachment unless interconnect_attachment.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified interconnect attachment. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] interconnect_attachment # Name of the interconnect attachment to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InterconnectAttachment] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InterconnectAttachment] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_interconnect_attachment(project, region, interconnect_attachment, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}', options) command.response_representation = Google::Apis::ComputeV1::InterconnectAttachment::Representation command.response_class = Google::Apis::ComputeV1::InterconnectAttachment command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['interconnectAttachment'] = interconnect_attachment unless interconnect_attachment.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates an InterconnectAttachment in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [Google::Apis::ComputeV1::InterconnectAttachment] interconnect_attachment_object # @param [String] request_id # 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). # @param [Boolean] validate_only # If true, the request will not be committed. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_interconnect_attachment(project, region, interconnect_attachment_object = nil, request_id: nil, validate_only: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/interconnectAttachments', options) command.request_representation = Google::Apis::ComputeV1::InterconnectAttachment::Representation command.request_object = interconnect_attachment_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['validateOnly'] = validate_only unless validate_only.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of interconnect attachments contained within # the specified region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InterconnectAttachmentList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InterconnectAttachmentList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_interconnect_attachments(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/interconnectAttachments', options) command.response_representation = Google::Apis::ComputeV1::InterconnectAttachmentList::Representation command.response_class = Google::Apis::ComputeV1::InterconnectAttachmentList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified interconnect attachment with the data included in the # request. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] interconnect_attachment # Name of the interconnect attachment to patch. # @param [Google::Apis::ComputeV1::InterconnectAttachment] interconnect_attachment_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_interconnect_attachment(project, region, interconnect_attachment, interconnect_attachment_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}', options) command.request_representation = Google::Apis::ComputeV1::InterconnectAttachment::Representation command.request_object = interconnect_attachment_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['interconnectAttachment'] = interconnect_attachment unless interconnect_attachment.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on an InterconnectAttachment. To learn more about labels, # read the Labeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] region # The region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_interconnect_attachment_labels(project, region, resource, region_set_labels_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::RegionSetLabelsRequest::Representation command.request_object = region_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Create Interconnects with redundancy by creating them in a specified # interconnect group. # @param [String] project # Project ID for this request. # @param [String] interconnect_group # Name of the group resource to create members for. # @param [Google::Apis::ComputeV1::InterconnectGroupsCreateMembersRequest] interconnect_groups_create_members_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def create_interconnect_group_members(project, interconnect_group, interconnect_groups_create_members_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/interconnectGroups/{interconnectGroup}/createMembers', options) command.request_representation = Google::Apis::ComputeV1::InterconnectGroupsCreateMembersRequest::Representation command.request_object = interconnect_groups_create_members_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['interconnectGroup'] = interconnect_group unless interconnect_group.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified InterconnectGroup in the given scope # @param [String] project # Project ID for this request. # @param [String] interconnect_group # Name of the InterconnectGroup resource to delete. # @param [String] request_id # 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 # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_interconnect_group(project, interconnect_group, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/interconnectGroups/{interconnectGroup}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['interconnectGroup'] = interconnect_group unless interconnect_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified InterconnectGroup resource in the given scope. # @param [String] project # Project ID for this request. # @param [String] interconnect_group # Name of the InterconnectGroup resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InterconnectGroup] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InterconnectGroup] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_interconnect_group(project, interconnect_group, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/interconnectGroups/{interconnectGroup}', options) command.response_representation = Google::Apis::ComputeV1::InterconnectGroup::Representation command.response_class = Google::Apis::ComputeV1::InterconnectGroup command.params['project'] = project unless project.nil? command.params['interconnectGroup'] = interconnect_group unless interconnect_group.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_interconnect_group_iam_policy(project, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/interconnectGroups/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the interconnectStatuses for the specified # InterconnectGroup. # @param [String] project # Project ID for this request. # @param [String] interconnect_group # Name of the interconnectGroup resource to query. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InterconnectGroupsGetOperationalStatusResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InterconnectGroupsGetOperationalStatusResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_interconnect_group_operational_status(project, interconnect_group, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/interconnectGroups/{interconnectGroup}/getOperationalStatus', options) command.response_representation = Google::Apis::ComputeV1::InterconnectGroupsGetOperationalStatusResponse::Representation command.response_class = Google::Apis::ComputeV1::InterconnectGroupsGetOperationalStatusResponse command.params['project'] = project unless project.nil? command.params['interconnectGroup'] = interconnect_group unless interconnect_group.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a InterconnectGroup in the specified project in the given scope # using the parameters that are included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::InterconnectGroup] interconnect_group_object # @param [String] request_id # 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 # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_interconnect_group(project, interconnect_group_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/interconnectGroups', options) command.request_representation = Google::Apis::ComputeV1::InterconnectGroup::Representation command.request_object = interconnect_group_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the InterconnectGroups for a project in the given scope. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InterconnectGroupsListResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InterconnectGroupsListResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_interconnect_groups(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/interconnectGroups', options) command.response_representation = Google::Apis::ComputeV1::InterconnectGroupsListResponse::Representation command.response_class = Google::Apis::ComputeV1::InterconnectGroupsListResponse command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified InterconnectGroup resource with the data included in # the request. This method supports PATCH # semantics and usesJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] interconnect_group # Name of the InterconnectGroup resource to patch. # @param [Google::Apis::ComputeV1::InterconnectGroup] interconnect_group_object # @param [String] request_id # 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 # @param [String] update_mask # The list of fields to update. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_interconnect_group(project, interconnect_group, interconnect_group_object = nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/interconnectGroups/{interconnectGroup}', options) command.request_representation = Google::Apis::ComputeV1::InterconnectGroup::Representation command.request_object = interconnect_group_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['interconnectGroup'] = interconnect_group unless interconnect_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetPolicyRequest] global_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_interconnect_group_iam_policy(project, resource, global_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/interconnectGroups/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetPolicyRequest::Representation command.request_object = global_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_interconnect_group_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/interconnectGroups/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the details for the specified interconnect location. Gets a list of # available interconnect locations by making a list() request. # @param [String] project # Project ID for this request. # @param [String] interconnect_location # Name of the interconnect location to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InterconnectLocation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InterconnectLocation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_interconnect_location(project, interconnect_location, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/interconnectLocations/{interconnectLocation}', options) command.response_representation = Google::Apis::ComputeV1::InterconnectLocation::Representation command.response_class = Google::Apis::ComputeV1::InterconnectLocation command.params['project'] = project unless project.nil? command.params['interconnectLocation'] = interconnect_location unless interconnect_location.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of interconnect locations available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InterconnectLocationList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InterconnectLocationList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_interconnect_locations(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/interconnectLocations', options) command.response_representation = Google::Apis::ComputeV1::InterconnectLocationList::Representation command.response_class = Google::Apis::ComputeV1::InterconnectLocationList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the details for the specified interconnect remote location. Gets a # list of available interconnect remote locations by making alist() request. # @param [String] project # Project ID for this request. # @param [String] interconnect_remote_location # Name of the interconnect remote location to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InterconnectRemoteLocation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InterconnectRemoteLocation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_interconnect_remote_location(project, interconnect_remote_location, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}', options) command.response_representation = Google::Apis::ComputeV1::InterconnectRemoteLocation::Representation command.response_class = Google::Apis::ComputeV1::InterconnectRemoteLocation command.params['project'] = project unless project.nil? command.params['interconnectRemoteLocation'] = interconnect_remote_location unless interconnect_remote_location.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of interconnect remote locations available to the # specified project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InterconnectRemoteLocationList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InterconnectRemoteLocationList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_interconnect_remote_locations(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/interconnectRemoteLocations', options) command.response_representation = Google::Apis::ComputeV1::InterconnectRemoteLocationList::Representation command.response_class = Google::Apis::ComputeV1::InterconnectRemoteLocationList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified Interconnect. # @param [String] project # Project ID for this request. # @param [String] interconnect # Name of the interconnect to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_interconnect(project, interconnect, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/interconnects/{interconnect}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['interconnect'] = interconnect unless interconnect.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified Interconnect. Get a list of available Interconnects # by making a list() request. # @param [String] project # Project ID for this request. # @param [String] interconnect # Name of the interconnect to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Interconnect] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Interconnect] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_interconnect(project, interconnect, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/interconnects/{interconnect}', options) command.response_representation = Google::Apis::ComputeV1::Interconnect::Representation command.response_class = Google::Apis::ComputeV1::Interconnect command.params['project'] = project unless project.nil? command.params['interconnect'] = interconnect unless interconnect.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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. # @param [String] project # Project ID for this request. # @param [String] interconnect # Name of the interconnect resource to query. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InterconnectsGetDiagnosticsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InterconnectsGetDiagnosticsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_interconnect_diagnostics(project, interconnect, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/interconnects/{interconnect}/getDiagnostics', options) command.response_representation = Google::Apis::ComputeV1::InterconnectsGetDiagnosticsResponse::Representation command.response_class = Google::Apis::ComputeV1::InterconnectsGetDiagnosticsResponse command.params['project'] = project unless project.nil? command.params['interconnect'] = interconnect unless interconnect.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the interconnectMacsecConfig for the specified # Interconnect. # @param [String] project # Project ID for this request. # @param [String] interconnect # Name of the interconnect resource to query. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InterconnectsGetMacsecConfigResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InterconnectsGetMacsecConfigResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_interconnect_macsec_config(project, interconnect, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/interconnects/{interconnect}/getMacsecConfig', options) command.response_representation = Google::Apis::ComputeV1::InterconnectsGetMacsecConfigResponse::Representation command.response_class = Google::Apis::ComputeV1::InterconnectsGetMacsecConfigResponse command.params['project'] = project unless project.nil? command.params['interconnect'] = interconnect unless interconnect.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates an Interconnect in the specified project using # the data included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::Interconnect] interconnect_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_interconnect(project, interconnect_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/interconnects', options) command.request_representation = Google::Apis::ComputeV1::Interconnect::Representation command.request_object = interconnect_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of Interconnects available to the specified project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InterconnectList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InterconnectList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_interconnects(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/interconnects', options) command.response_representation = Google::Apis::ComputeV1::InterconnectList::Representation command.response_class = Google::Apis::ComputeV1::InterconnectList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified Interconnect with the data included in the request. # This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] interconnect # Name of the interconnect to update. # @param [Google::Apis::ComputeV1::Interconnect] interconnect_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_interconnect(project, interconnect, interconnect_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/interconnects/{interconnect}', options) command.request_representation = Google::Apis::ComputeV1::Interconnect::Representation command.request_object = interconnect_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['interconnect'] = interconnect unless interconnect.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on an Interconnect. To learn more about labels, # read the Labeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_interconnect_labels(project, resource, global_set_labels_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/interconnects/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetLabelsRequest::Representation command.request_object = global_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Return a specified license code. License codes are mirrored across # all projects that have permissions to read the License Code. # *Caution* This resource is intended # for use only by third-party partners who are creatingCloud Marketplace # images. # @param [String] project # Project ID for this request. # @param [String] license_code # Number corresponding to the License code resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::LicenseCode] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::LicenseCode] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_license_code(project, license_code, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/licenseCodes/{licenseCode}', options) command.response_representation = Google::Apis::ComputeV1::LicenseCode::Representation command.response_class = Google::Apis::ComputeV1::LicenseCode command.params['project'] = project unless project.nil? command.params['licenseCode'] = license_code unless license_code.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # *Caution* This resource is intended # for use only by third-party partners who are creatingCloud Marketplace # images. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_license_code_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/licenseCodes/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified license. # *Caution* This resource is intended # for use only by third-party partners who are creatingCloud Marketplace # images. # @param [String] project # Project ID for this request. # @param [String] license # Name of the license resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_license(project, license, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/licenses/{license}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['license'] = license unless license.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified License resource. # *Caution* This resource is intended # for use only by third-party partners who are creatingCloud Marketplace # images. # @param [String] project # Project ID for this request. # @param [String] license # Name of the License resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::License] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::License] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_license(project, license, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/licenses/{license}', options) command.response_representation = Google::Apis::ComputeV1::License::Representation command.response_class = Google::Apis::ComputeV1::License command.params['project'] = project unless project.nil? command.params['license'] = license unless license.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # *Caution* This resource is intended # for use only by third-party partners who are creatingCloud Marketplace # images. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_license_iam_policy(project, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/licenses/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Create a License resource in the specified project. # *Caution* This resource is intended # for use only by third-party partners who are creatingCloud Marketplace # images. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::License] license_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_license(project, license_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/licenses', options) command.request_representation = Google::Apis::ComputeV1::License::Representation command.request_object = license_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of licenses # available in the specified project. This method does not # get any licenses that belong to other projects, including licenses attached # to publicly-available images, like Debian 9. If you want to get a list of # publicly-available licenses, use this method to make a request to the # respective image project, such as debian-cloud orwindows-cloud. # *Caution* This resource is intended # for use only by third-party partners who are creatingCloud Marketplace # images. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::LicensesListResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::LicensesListResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_licenses(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/licenses', options) command.response_representation = Google::Apis::ComputeV1::LicensesListResponse::Representation command.response_class = Google::Apis::ComputeV1::LicensesListResponse command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # *Caution* This resource is intended # for use only by third-party partners who are creatingCloud Marketplace # images. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetPolicyRequest] global_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_license_iam_policy(project, resource, global_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/licenses/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetPolicyRequest::Representation command.request_object = global_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # *Caution* This resource is intended # for use only by third-party partners who are creatingCloud Marketplace # images. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_license_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/licenses/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates a License resource in the specified project. # *Caution* This resource is intended # for use only by third-party partners who are creatingCloud Marketplace # images. # @param [String] project # Project ID for this request. # @param [String] license # The license name for this request. # @param [Google::Apis::ComputeV1::License] license_object # @param [String] request_id # 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). # @param [String] update_mask # update_mask indicates fields to be updated as part of this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_license(project, license, license_object = nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/licenses/{license}', options) command.request_representation = Google::Apis::ComputeV1::License::Representation command.request_object = license_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['license'] = license unless license.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified machine image. Deleting a machine image is permanent # and cannot be undone. # @param [String] project # Project ID for this request. # @param [String] machine_image # The name of the machine image to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_machine_image(project, machine_image, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/machineImages/{machineImage}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['machineImage'] = machine_image unless machine_image.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified machine image. # @param [String] project # Project ID for this request. # @param [String] machine_image # The name of the machine image. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::MachineImage] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::MachineImage] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_machine_image(project, machine_image, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/machineImages/{machineImage}', options) command.response_representation = Google::Apis::ComputeV1::MachineImage::Representation command.response_class = Google::Apis::ComputeV1::MachineImage command.params['project'] = project unless project.nil? command.params['machineImage'] = machine_image unless machine_image.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_machine_image_iam_policy(project, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/machineImages/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a machine image in the specified project using the # data that is included in the request. If you are creating a new machine # image to update an existing instance, your new machine image should use the # same network or, if applicable, the same subnetwork as the original # instance. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::MachineImage] machine_image_object # @param [String] request_id # 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). # @param [String] source_instance # Required. Source instance that is used to create the machine image from. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_machine_image(project, machine_image_object = nil, request_id: nil, source_instance: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/machineImages', options) command.request_representation = Google::Apis::ComputeV1::MachineImage::Representation command.request_object = machine_image_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['sourceInstance'] = source_instance unless source_instance.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of machine images that are contained within # the specified project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::MachineImageList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::MachineImageList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_machine_images(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/machineImages', options) command.response_representation = Google::Apis::ComputeV1::MachineImageList::Representation command.response_class = Google::Apis::ComputeV1::MachineImageList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetPolicyRequest] global_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_machine_image_iam_policy(project, resource, global_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/machineImages/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetPolicyRequest::Representation command.request_object = global_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on a machine image. To learn more about labels, read # theLabeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_machine_image_labels(project, resource, global_set_labels_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/machineImages/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetLabelsRequest::Representation command.request_object = global_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_machine_image_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/machineImages/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of machine types. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::MachineTypeAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::MachineTypeAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_aggregated_machine_types(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/machineTypes', options) command.response_representation = Google::Apis::ComputeV1::MachineTypeAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::MachineTypeAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified machine type. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] machine_type # Name of the machine type to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::MachineType] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::MachineType] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_machine_type(project, zone, machine_type, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/machineTypes/{machineType}', options) command.response_representation = Google::Apis::ComputeV1::MachineType::Representation command.response_class = Google::Apis::ComputeV1::MachineType command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['machineType'] = machine_type unless machine_type.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of machine types available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::MachineTypeList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::MachineTypeList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_machine_types(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/machineTypes', options) command.response_representation = Google::Apis::ComputeV1::MachineTypeList::Representation command.response_class = Google::Apis::ComputeV1::MachineTypeList command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkAttachmentAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkAttachmentAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_network_attachment_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/networkAttachments', options) command.response_representation = Google::Apis::ComputeV1::NetworkAttachmentAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::NetworkAttachmentAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified NetworkAttachment in the given scope # @param [String] project # Project ID for this request. # @param [String] region # Name of the region of this request. # @param [String] network_attachment # Name of the NetworkAttachment resource to delete. # @param [String] request_id # 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 # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_network_attachment(project, region, network_attachment, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/networkAttachments/{networkAttachment}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['networkAttachment'] = network_attachment unless network_attachment.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified NetworkAttachment resource in the given scope. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region of this request. # @param [String] network_attachment # Name of the NetworkAttachment resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkAttachment] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkAttachment] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_network_attachment(project, region, network_attachment, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/networkAttachments/{networkAttachment}', options) command.response_representation = Google::Apis::ComputeV1::NetworkAttachment::Representation command.response_class = Google::Apis::ComputeV1::NetworkAttachment command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['networkAttachment'] = network_attachment unless network_attachment.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_network_attachment_iam_policy(project, region, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a NetworkAttachment in the specified project in the given scope # using the parameters that are included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region of this request. # @param [Google::Apis::ComputeV1::NetworkAttachment] network_attachment_object # @param [String] request_id # 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 # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_network_attachment(project, region, network_attachment_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/networkAttachments', options) command.request_representation = Google::Apis::ComputeV1::NetworkAttachment::Representation command.request_object = network_attachment_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the NetworkAttachments for a project in the given scope. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region of this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkAttachmentList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkAttachmentList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_network_attachments(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/networkAttachments', options) command.response_representation = Google::Apis::ComputeV1::NetworkAttachmentList::Representation command.response_class = Google::Apis::ComputeV1::NetworkAttachmentList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified NetworkAttachment resource with the data included in # the request. This method supports PATCH # semantics and usesJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] network_attachment # Name of the NetworkAttachment resource to patch. # @param [Google::Apis::ComputeV1::NetworkAttachment] network_attachment_object # @param [String] request_id # 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 # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_network_attachment(project, region, network_attachment, network_attachment_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/networkAttachments/{networkAttachment}', options) command.request_representation = Google::Apis::ComputeV1::NetworkAttachment::Representation command.request_object = network_attachment_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['networkAttachment'] = network_attachment unless network_attachment.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetPolicyRequest] region_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_network_attachment_iam_policy(project, region, resource, region_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::RegionSetPolicyRequest::Representation command.request_object = region_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_network_attachment_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Name of the project scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkEdgeSecurityServiceAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkEdgeSecurityServiceAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_network_edge_security_service_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/networkEdgeSecurityServices', options) command.response_representation = Google::Apis::ComputeV1::NetworkEdgeSecurityServiceAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::NetworkEdgeSecurityServiceAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified service. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] network_edge_security_service # Name of the network edge security service to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_network_edge_security_service(project, region, network_edge_security_service, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['networkEdgeSecurityService'] = network_edge_security_service unless network_edge_security_service.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets a specified NetworkEdgeSecurityService. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] network_edge_security_service # Name of the network edge security service to get. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkEdgeSecurityService] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkEdgeSecurityService] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_network_edge_security_service(project, region, network_edge_security_service, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}', options) command.response_representation = Google::Apis::ComputeV1::NetworkEdgeSecurityService::Representation command.response_class = Google::Apis::ComputeV1::NetworkEdgeSecurityService command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['networkEdgeSecurityService'] = network_edge_security_service unless network_edge_security_service.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a new service in the specified project using the data included in # the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::NetworkEdgeSecurityService] network_edge_security_service_object # @param [String] request_id # 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). # @param [Boolean] validate_only # If true, the request will not be committed. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_network_edge_security_service(project, region, network_edge_security_service_object = nil, request_id: nil, validate_only: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/networkEdgeSecurityServices', options) command.request_representation = Google::Apis::ComputeV1::NetworkEdgeSecurityService::Representation command.request_object = network_edge_security_service_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['validateOnly'] = validate_only unless validate_only.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified policy with the data included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] network_edge_security_service # Name of the network edge security service to update. # @param [Google::Apis::ComputeV1::NetworkEdgeSecurityService] network_edge_security_service_object # @param [Array, String] paths # @param [String] request_id # 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). # @param [String] update_mask # Indicates fields to be updated as part of this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_network_edge_security_service(project, region, network_edge_security_service, network_edge_security_service_object = nil, paths: nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}', options) command.request_representation = Google::Apis::ComputeV1::NetworkEdgeSecurityService::Representation command.request_object = network_edge_security_service_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['networkEdgeSecurityService'] = network_edge_security_service unless network_edge_security_service.nil? command.query['paths'] = paths unless paths.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkEndpointGroupAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkEndpointGroupAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_network_endpoint_group_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/networkEndpointGroups', options) command.response_representation = Google::Apis::ComputeV1::NetworkEndpointGroupAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::NetworkEndpointGroupAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Attach a list of network endpoints to the specified network endpoint group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone where # the network endpoint group is located. It should comply with RFC1035. # @param [String] network_endpoint_group # The name of the network endpoint group where you are attaching network # endpoints to. It should comply with RFC1035. # @param [Google::Apis::ComputeV1::NetworkEndpointGroupsAttachEndpointsRequest] network_endpoint_groups_attach_endpoints_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def attach_network_endpoint_group_network_endpoints(project, zone, network_endpoint_group, network_endpoint_groups_attach_endpoints_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints', options) command.request_representation = Google::Apis::ComputeV1::NetworkEndpointGroupsAttachEndpointsRequest::Representation command.request_object = network_endpoint_groups_attach_endpoints_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['networkEndpointGroup'] = network_endpoint_group unless network_endpoint_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified network endpoint group. The network endpoints in the # NEG and the VM instances they belong to are not terminated when the NEG is # deleted. Note that the NEG cannot be deleted if there are backend services # referencing it. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone where # the network endpoint group is located. It should comply with RFC1035. # @param [String] network_endpoint_group # The name of the network endpoint group to delete. It should comply with # RFC1035. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_network_endpoint_group(project, zone, network_endpoint_group, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['networkEndpointGroup'] = network_endpoint_group unless network_endpoint_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Detach a list of network endpoints from the specified network endpoint # group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone where # the network endpoint group is located. It should comply with RFC1035. # @param [String] network_endpoint_group # The name of the network endpoint group where you are removing network # endpoints. It should comply with RFC1035. # @param [Google::Apis::ComputeV1::NetworkEndpointGroupsDetachEndpointsRequest] network_endpoint_groups_detach_endpoints_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def detach_network_endpoint_group_network_endpoints(project, zone, network_endpoint_group, network_endpoint_groups_detach_endpoints_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints', options) command.request_representation = Google::Apis::ComputeV1::NetworkEndpointGroupsDetachEndpointsRequest::Representation command.request_object = network_endpoint_groups_detach_endpoints_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['networkEndpointGroup'] = network_endpoint_group unless network_endpoint_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified network endpoint group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone where # the network endpoint group is located. It should comply with RFC1035. # @param [String] network_endpoint_group # The name of the network endpoint group. It should comply with RFC1035. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkEndpointGroup] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkEndpointGroup] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_network_endpoint_group(project, zone, network_endpoint_group, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}', options) command.response_representation = Google::Apis::ComputeV1::NetworkEndpointGroup::Representation command.response_class = Google::Apis::ComputeV1::NetworkEndpointGroup command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['networkEndpointGroup'] = network_endpoint_group unless network_endpoint_group.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a network endpoint group in the specified project using the # parameters that are included in the request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone where # you want to create the network endpoint group. It should comply with # RFC1035. # @param [Google::Apis::ComputeV1::NetworkEndpointGroup] network_endpoint_group_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_network_endpoint_group(project, zone, network_endpoint_group_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/networkEndpointGroups', options) command.request_representation = Google::Apis::ComputeV1::NetworkEndpointGroup::Representation command.request_object = network_endpoint_group_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of network endpoint groups that are located in the # specified project and zone. # @param [String] project # Project ID for this request. # @param [String] zone # The name of thezone # where the network endpoint group is located. It should comply with RFC1035. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkEndpointGroupList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkEndpointGroupList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_network_endpoint_groups(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/networkEndpointGroups', options) command.response_representation = Google::Apis::ComputeV1::NetworkEndpointGroupList::Representation command.response_class = Google::Apis::ComputeV1::NetworkEndpointGroupList command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the network endpoints in the specified network endpoint group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone where # the network endpoint group is located. It should comply with RFC1035. # @param [String] network_endpoint_group # The name of the network endpoint group from which you want to generate a # list of included network endpoints. It should comply with RFC1035. # @param [Google::Apis::ComputeV1::NetworkEndpointGroupsListEndpointsRequest] network_endpoint_groups_list_endpoints_request_object # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkEndpointGroupsListNetworkEndpoints] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkEndpointGroupsListNetworkEndpoints] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_network_endpoint_group_network_endpoints(project, zone, network_endpoint_group, network_endpoint_groups_list_endpoints_request_object = nil, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints', options) command.request_representation = Google::Apis::ComputeV1::NetworkEndpointGroupsListEndpointsRequest::Representation command.request_object = network_endpoint_groups_list_endpoints_request_object command.response_representation = Google::Apis::ComputeV1::NetworkEndpointGroupsListNetworkEndpoints::Representation command.response_class = Google::Apis::ComputeV1::NetworkEndpointGroupsListNetworkEndpoints command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['networkEndpointGroup'] = network_endpoint_group unless network_endpoint_group.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_network_endpoint_group_iam_permissions(project, zone, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Inserts an association for the specified firewall policy. # @param [String] project # Project ID for this request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Google::Apis::ComputeV1::FirewallPolicyAssociation] firewall_policy_association_object # @param [Boolean] replace_existing_association # Indicates whether or not to replace it if an association of the attachment # already exists. This is false by default, in which case an error will be # returned if an association already exists. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_network_firewall_policy_association(project, firewall_policy, firewall_policy_association_object = nil, replace_existing_association: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/firewallPolicies/{firewallPolicy}/addAssociation', options) command.request_representation = Google::Apis::ComputeV1::FirewallPolicyAssociation::Representation command.request_object = firewall_policy_association_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['replaceExistingAssociation'] = replace_existing_association unless replace_existing_association.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Inserts a packet mirroring rule into a firewall policy. # @param [String] project # Project ID for this request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Google::Apis::ComputeV1::FirewallPolicyRule] firewall_policy_rule_object # @param [Fixnum] max_priority # When rule.priority is not specified, auto choose a unused priority # betweenminPriority and maxPriority>. # This field is exclusive with rule.priority. # @param [Fixnum] min_priority # When rule.priority is not specified, auto choose a unused priority # betweenminPriority and maxPriority>. # This field is exclusive with rule.priority. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_network_firewall_policy_packet_mirroring_rule(project, firewall_policy, firewall_policy_rule_object = nil, max_priority: nil, min_priority: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule', options) command.request_representation = Google::Apis::ComputeV1::FirewallPolicyRule::Representation command.request_object = firewall_policy_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['maxPriority'] = max_priority unless max_priority.nil? command.query['minPriority'] = min_priority unless min_priority.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Inserts a rule into a firewall policy. # @param [String] project # Project ID for this request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Google::Apis::ComputeV1::FirewallPolicyRule] firewall_policy_rule_object # @param [Fixnum] max_priority # When rule.priority is not specified, auto choose a unused priority # betweenminPriority and maxPriority>. # This field is exclusive with rule.priority. # @param [Fixnum] min_priority # When rule.priority is not specified, auto choose a unused priority # betweenminPriority and maxPriority>. # This field is exclusive with rule.priority. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_network_firewall_policy_rule(project, firewall_policy, firewall_policy_rule_object = nil, max_priority: nil, min_priority: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule', options) command.request_representation = Google::Apis::ComputeV1::FirewallPolicyRule::Representation command.request_object = firewall_policy_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['maxPriority'] = max_priority unless max_priority.nil? command.query['minPriority'] = min_priority unless min_priority.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of network firewall policies, listing network # firewall policies from all applicable scopes (global and regional) and # grouping the results per scope. # To prevent failure, it is recommended that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkFirewallPolicyAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkFirewallPolicyAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_network_firewall_policy_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/firewallPolicies', options) command.response_representation = Google::Apis::ComputeV1::NetworkFirewallPolicyAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::NetworkFirewallPolicyAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Copies rules to the specified firewall policy. # @param [String] project # Project ID for this request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [String] request_id # 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). # @param [String] source_firewall_policy # The firewall policy from which to copy rules. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def clone_network_firewall_policy_rules(project, firewall_policy, request_id: nil, source_firewall_policy: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['sourceFirewallPolicy'] = source_firewall_policy unless source_firewall_policy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified policy. # @param [String] project # Project ID for this request. # @param [String] firewall_policy # Name of the firewall policy to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_network_firewall_policy(project, firewall_policy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/firewallPolicies/{firewallPolicy}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified network firewall policy. # @param [String] project # Project ID for this request. # @param [String] firewall_policy # Name of the firewall policy to get. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FirewallPolicy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FirewallPolicy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_network_firewall_policy(project, firewall_policy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/firewallPolicies/{firewallPolicy}', options) command.response_representation = Google::Apis::ComputeV1::FirewallPolicy::Representation command.response_class = Google::Apis::ComputeV1::FirewallPolicy command.params['project'] = project unless project.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets an association with the specified name. # @param [String] project # Project ID for this request. # @param [String] firewall_policy # Name of the firewall policy to which the queried association belongs. # @param [String] name # The name of the association to get from the firewall policy. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FirewallPolicyAssociation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FirewallPolicyAssociation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_network_firewall_policy_association(project, firewall_policy, name: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/firewallPolicies/{firewallPolicy}/getAssociation', options) command.response_representation = Google::Apis::ComputeV1::FirewallPolicyAssociation::Representation command.response_class = Google::Apis::ComputeV1::FirewallPolicyAssociation command.params['project'] = project unless project.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_network_firewall_policy_iam_policy(project, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/firewallPolicies/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets a packet mirroring rule of the specified priority. # @param [String] project # Project ID for this request. # @param [String] firewall_policy # Name of the firewall policy to which the queried rule belongs. # @param [Fixnum] priority # The priority of the rule to get from the firewall policy. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FirewallPolicyRule] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FirewallPolicyRule] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_network_firewall_policy_packet_mirroring_rule(project, firewall_policy, priority: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule', options) command.response_representation = Google::Apis::ComputeV1::FirewallPolicyRule::Representation command.response_class = Google::Apis::ComputeV1::FirewallPolicyRule command.params['project'] = project unless project.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets a rule of the specified priority. # @param [String] project # Project ID for this request. # @param [String] firewall_policy # Name of the firewall policy to which the queried rule belongs. # @param [Fixnum] priority # The priority of the rule to get from the firewall policy. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FirewallPolicyRule] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FirewallPolicyRule] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_network_firewall_policy_rule(project, firewall_policy, priority: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule', options) command.response_representation = Google::Apis::ComputeV1::FirewallPolicyRule::Representation command.response_class = Google::Apis::ComputeV1::FirewallPolicyRule command.params['project'] = project unless project.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a new policy in the specified project using the data included in # the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::FirewallPolicy] firewall_policy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_network_firewall_policy(project, firewall_policy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/firewallPolicies', options) command.request_representation = Google::Apis::ComputeV1::FirewallPolicy::Representation command.request_object = firewall_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists all the policies that have been configured for the specified project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FirewallPolicyList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FirewallPolicyList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_network_firewall_policies(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/firewallPolicies', options) command.response_representation = Google::Apis::ComputeV1::FirewallPolicyList::Representation command.response_class = Google::Apis::ComputeV1::FirewallPolicyList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified policy with the data included in the request. # @param [String] project # Project ID for this request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Google::Apis::ComputeV1::FirewallPolicy] firewall_policy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_network_firewall_policy(project, firewall_policy, firewall_policy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/firewallPolicies/{firewallPolicy}', options) command.request_representation = Google::Apis::ComputeV1::FirewallPolicy::Representation command.request_object = firewall_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches a packet mirroring rule of the specified priority. # @param [String] project # Project ID for this request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Google::Apis::ComputeV1::FirewallPolicyRule] firewall_policy_rule_object # @param [Fixnum] priority # The priority of the rule to patch. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_network_firewall_policy_packet_mirroring_rule(project, firewall_policy, firewall_policy_rule_object = nil, priority: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule', options) command.request_representation = Google::Apis::ComputeV1::FirewallPolicyRule::Representation command.request_object = firewall_policy_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches a rule of the specified priority. # @param [String] project # Project ID for this request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Google::Apis::ComputeV1::FirewallPolicyRule] firewall_policy_rule_object # @param [Fixnum] priority # The priority of the rule to patch. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_network_firewall_policy_rule(project, firewall_policy, firewall_policy_rule_object = nil, priority: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule', options) command.request_representation = Google::Apis::ComputeV1::FirewallPolicyRule::Representation command.request_object = firewall_policy_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Removes an association for the specified firewall policy. # @param [String] project # Project ID for this request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [String] name # Name for the attachment that will be removed. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_network_firewall_policy_association(project, firewall_policy, name: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['name'] = name unless name.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes a packet mirroring rule of the specified priority. # @param [String] project # Project ID for this request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Fixnum] priority # The priority of the rule to remove from the firewall policy. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_network_firewall_policy_packet_mirroring_rule(project, firewall_policy, priority: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes a rule of the specified priority. # @param [String] project # Project ID for this request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Fixnum] priority # The priority of the rule to remove from the firewall policy. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_network_firewall_policy_rule(project, firewall_policy, priority: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetPolicyRequest] global_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_network_firewall_policy_iam_policy(project, resource, global_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/firewallPolicies/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetPolicyRequest::Representation command.request_object = global_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_network_firewall_policy_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/firewallPolicies/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified network profile. # @param [String] project # Project ID for this request. # @param [String] network_profile # Name of the network profile to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkProfile] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkProfile] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_network_profile(project, network_profile, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/networkProfiles/{networkProfile}', options) command.response_representation = Google::Apis::ComputeV1::NetworkProfile::Representation command.response_class = Google::Apis::ComputeV1::NetworkProfile command.params['project'] = project unless project.nil? command.params['networkProfile'] = network_profile unless network_profile.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of network profiles available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkProfilesListResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkProfilesListResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_network_profiles(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/networkProfiles', options) command.response_representation = Google::Apis::ComputeV1::NetworkProfilesListResponse::Representation command.response_class = Google::Apis::ComputeV1::NetworkProfilesListResponse command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Adds a peering to the specified network. # @param [String] project # Project ID for this request. # @param [String] network # Name of the network resource to add peering to. # @param [Google::Apis::ComputeV1::NetworksAddPeeringRequest] networks_add_peering_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_network_peering(project, network, networks_add_peering_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/networks/{network}/addPeering', options) command.request_representation = Google::Apis::ComputeV1::NetworksAddPeeringRequest::Representation command.request_object = networks_add_peering_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['network'] = network unless network.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified network. # @param [String] project # Project ID for this request. # @param [String] network # Name of the network to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_network(project, network, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/networks/{network}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['network'] = network unless network.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified network. # @param [String] project # Project ID for this request. # @param [String] network # Name of the network to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Network] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Network] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_network(project, network, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/networks/{network}', options) command.response_representation = Google::Apis::ComputeV1::Network::Representation command.response_class = Google::Apis::ComputeV1::Network command.params['project'] = project unless project.nil? command.params['network'] = network unless network.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the effective firewalls on a given network. # @param [String] project # Project ID for this request. # @param [String] network # Name of the network for this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworksGetEffectiveFirewallsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworksGetEffectiveFirewallsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_network_effective_firewalls(project, network, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/networks/{network}/getEffectiveFirewalls', options) command.response_representation = Google::Apis::ComputeV1::NetworksGetEffectiveFirewallsResponse::Representation command.response_class = Google::Apis::ComputeV1::NetworksGetEffectiveFirewallsResponse command.params['project'] = project unless project.nil? command.params['network'] = network unless network.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a network in the specified project using the data included # in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::Network] network_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_network(project, network_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/networks', options) command.request_representation = Google::Apis::ComputeV1::Network::Representation command.request_object = network_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of networks available to the specified project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_networks(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/networks', options) command.response_representation = Google::Apis::ComputeV1::NetworkList::Representation command.response_class = Google::Apis::ComputeV1::NetworkList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the peering routes exchanged over peering connection. # @param [String] project # Project ID for this request. # @param [String] network # Name of the network for this request. # @param [String] direction # The direction of the exchanged routes. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [String] peering_name # The response will show routes exchanged over the given peering connection. # @param [String] region # The region of the request. The response will include all subnet routes, # static routes and dynamic routes in the region. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ExchangedPeeringRoutesList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ExchangedPeeringRoutesList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_network_peering_routes(project, network, direction: nil, filter: nil, max_results: nil, order_by: nil, page_token: nil, peering_name: nil, region: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/networks/{network}/listPeeringRoutes', options) command.response_representation = Google::Apis::ComputeV1::ExchangedPeeringRoutesList::Representation command.response_class = Google::Apis::ComputeV1::ExchangedPeeringRoutesList command.params['project'] = project unless project.nil? command.params['network'] = network unless network.nil? command.query['direction'] = direction unless direction.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['peeringName'] = peering_name unless peering_name.nil? command.query['region'] = region unless region.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified network with the data included in the request. # Only routingConfig can be modified. # @param [String] project # Project ID for this request. # @param [String] network # Name of the network to update. # @param [Google::Apis::ComputeV1::Network] network_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_network(project, network, network_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/networks/{network}', options) command.request_representation = Google::Apis::ComputeV1::Network::Representation command.request_object = network_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['network'] = network unless network.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Removes a peering from the specified network. # @param [String] project # Project ID for this request. # @param [String] network # Name of the network resource to remove peering from. # @param [Google::Apis::ComputeV1::NetworksRemovePeeringRequest] networks_remove_peering_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_network_peering(project, network, networks_remove_peering_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/networks/{network}/removePeering', options) command.request_representation = Google::Apis::ComputeV1::NetworksRemovePeeringRequest::Representation command.request_object = networks_remove_peering_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['network'] = network unless network.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Requests to remove a peering from the specified network. Applicable only # for PeeringConnection with update_strategy=CONSENSUS. # @param [String] project # Project ID for this request. # @param [String] network # Name of the network resource to remove peering from. # @param [Google::Apis::ComputeV1::NetworksRequestRemovePeeringRequest] networks_request_remove_peering_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def request_network_remove_peering(project, network, networks_request_remove_peering_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/networks/{network}/requestRemovePeering', options) command.request_representation = Google::Apis::ComputeV1::NetworksRequestRemovePeeringRequest::Representation command.request_object = networks_request_remove_peering_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['network'] = network unless network.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Switches the network mode from auto subnet mode to custom subnet mode. # @param [String] project # Project ID for this request. # @param [String] network # Name of the network to be updated. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def switch_network_to_custom_mode(project, network, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/networks/{network}/switchToCustomMode', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['network'] = network unless network.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified network peering with the data included in the # request. You can only modify the NetworkPeering.export_custom_routes field # and the NetworkPeering.import_custom_routes field. # @param [String] project # Project ID for this request. # @param [String] network # Name of the network resource which the updated peering is belonging to. # @param [Google::Apis::ComputeV1::NetworksUpdatePeeringRequest] networks_update_peering_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_network_peering(project, network, networks_update_peering_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/networks/{network}/updatePeering', options) command.request_representation = Google::Apis::ComputeV1::NetworksUpdatePeeringRequest::Representation command.request_object = networks_update_peering_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['network'] = network unless network.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Adds specified number of nodes to the node group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] node_group # Name of the NodeGroup resource. # @param [Google::Apis::ComputeV1::NodeGroupsAddNodesRequest] node_groups_add_nodes_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_node_group_nodes(project, zone, node_group, node_groups_add_nodes_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes', options) command.request_representation = Google::Apis::ComputeV1::NodeGroupsAddNodesRequest::Representation command.request_object = node_groups_add_nodes_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['nodeGroup'] = node_group unless node_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NodeGroupAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NodeGroupAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_node_group_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/nodeGroups', options) command.response_representation = Google::Apis::ComputeV1::NodeGroupAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::NodeGroupAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified NodeGroup resource. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] node_group # Name of the NodeGroup resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_node_group(project, zone, node_group, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['nodeGroup'] = node_group unless node_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes specified nodes from the node group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] node_group # Name of the NodeGroup resource whose nodes will be deleted. # @param [Google::Apis::ComputeV1::NodeGroupsDeleteNodesRequest] node_groups_delete_nodes_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_node_group_nodes(project, zone, node_group, node_groups_delete_nodes_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes', options) command.request_representation = Google::Apis::ComputeV1::NodeGroupsDeleteNodesRequest::Representation command.request_object = node_groups_delete_nodes_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['nodeGroup'] = node_group unless node_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified NodeGroup. Get a list of available NodeGroups # by making a list() request. # Note: the "nodes" field should not be used. Use nodeGroups.listNodes # instead. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] node_group # Name of the node group to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NodeGroup] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NodeGroup] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_node_group(project, zone, node_group, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}', options) command.response_representation = Google::Apis::ComputeV1::NodeGroup::Representation command.response_class = Google::Apis::ComputeV1::NodeGroup command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['nodeGroup'] = node_group unless node_group.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_node_group_iam_policy(project, zone, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a NodeGroup resource in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [Fixnum] initial_node_count # Initial count of nodes in the node group. # @param [Google::Apis::ComputeV1::NodeGroup] node_group_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_node_group(project, zone, initial_node_count, node_group_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/nodeGroups', options) command.request_representation = Google::Apis::ComputeV1::NodeGroup::Representation command.request_object = node_group_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['initialNodeCount'] = initial_node_count unless initial_node_count.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of node groups available to the specified project. # Note: use nodeGroups.listNodes for more details about each group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NodeGroupList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NodeGroupList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_node_groups(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/nodeGroups', options) command.response_representation = Google::Apis::ComputeV1::NodeGroupList::Representation command.response_class = Google::Apis::ComputeV1::NodeGroupList command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists nodes in the node group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] node_group # Name of the NodeGroup resource whose nodes you want to list. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NodeGroupsListNodes] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NodeGroupsListNodes] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_node_group_nodes(project, zone, node_group, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes', options) command.response_representation = Google::Apis::ComputeV1::NodeGroupsListNodes::Representation command.response_class = Google::Apis::ComputeV1::NodeGroupsListNodes command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['nodeGroup'] = node_group unless node_group.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified node group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] node_group # Name of the NodeGroup resource to update. # @param [Google::Apis::ComputeV1::NodeGroup] node_group_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_node_group(project, zone, node_group, node_group_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}', options) command.request_representation = Google::Apis::ComputeV1::NodeGroup::Representation command.request_object = node_group_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['nodeGroup'] = node_group unless node_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Perform maintenance on a subset of nodes in the node group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] node_group # Name of the node group scoping this request. # @param [Google::Apis::ComputeV1::NodeGroupsPerformMaintenanceRequest] node_groups_perform_maintenance_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def perform_node_group_maintenance(project, zone, node_group, node_groups_perform_maintenance_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/performMaintenance', options) command.request_representation = Google::Apis::ComputeV1::NodeGroupsPerformMaintenanceRequest::Representation command.request_object = node_groups_perform_maintenance_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['nodeGroup'] = node_group unless node_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::ZoneSetPolicyRequest] zone_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_node_group_iam_policy(project, zone, resource, zone_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::ZoneSetPolicyRequest::Representation command.request_object = zone_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the node template of the node group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] node_group # Name of the NodeGroup resource to update. # @param [Google::Apis::ComputeV1::NodeGroupsSetNodeTemplateRequest] node_groups_set_node_template_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_node_group_node_template(project, zone, node_group, node_groups_set_node_template_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate', options) command.request_representation = Google::Apis::ComputeV1::NodeGroupsSetNodeTemplateRequest::Representation command.request_object = node_groups_set_node_template_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['nodeGroup'] = node_group unless node_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Simulates maintenance event on specified nodes from the node group. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] node_group # Name of the NodeGroup resource whose nodes will go under maintenance # simulation. # @param [Google::Apis::ComputeV1::NodeGroupsSimulateMaintenanceEventRequest] node_groups_simulate_maintenance_event_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def simulate_node_group_maintenance_event(project, zone, node_group, node_groups_simulate_maintenance_event_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent', options) command.request_representation = Google::Apis::ComputeV1::NodeGroupsSimulateMaintenanceEventRequest::Representation command.request_object = node_groups_simulate_maintenance_event_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['nodeGroup'] = node_group unless node_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_node_group_iam_permissions(project, zone, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of node templates. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NodeTemplateAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NodeTemplateAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_node_template_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/nodeTemplates', options) command.response_representation = Google::Apis::ComputeV1::NodeTemplateAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::NodeTemplateAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified NodeTemplate resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] node_template # Name of the NodeTemplate resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_node_template(project, region, node_template, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['nodeTemplate'] = node_template unless node_template.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified node template. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] node_template # Name of the node template to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NodeTemplate] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NodeTemplate] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_node_template(project, region, node_template, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}', options) command.response_representation = Google::Apis::ComputeV1::NodeTemplate::Representation command.response_class = Google::Apis::ComputeV1::NodeTemplate command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['nodeTemplate'] = node_template unless node_template.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_node_template_iam_policy(project, region, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a NodeTemplate resource in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [Google::Apis::ComputeV1::NodeTemplate] node_template_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_node_template(project, region, node_template_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/nodeTemplates', options) command.request_representation = Google::Apis::ComputeV1::NodeTemplate::Representation command.request_object = node_template_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of node templates available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NodeTemplateList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NodeTemplateList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_node_templates(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/nodeTemplates', options) command.response_representation = Google::Apis::ComputeV1::NodeTemplateList::Representation command.response_class = Google::Apis::ComputeV1::NodeTemplateList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetPolicyRequest] region_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_node_template_iam_policy(project, region, resource, region_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::RegionSetPolicyRequest::Representation command.request_object = region_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_node_template_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of node types. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NodeTypeAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NodeTypeAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_node_type_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/nodeTypes', options) command.response_representation = Google::Apis::ComputeV1::NodeTypeAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::NodeTypeAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified node type. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] node_type # Name of the node type to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NodeType] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NodeType] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_node_type(project, zone, node_type, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/nodeTypes/{nodeType}', options) command.response_representation = Google::Apis::ComputeV1::NodeType::Representation command.response_class = Google::Apis::ComputeV1::NodeType command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['nodeType'] = node_type unless node_type.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of node types available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NodeTypeList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NodeTypeList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_node_types(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/nodeTypes', options) command.response_representation = Google::Apis::ComputeV1::NodeTypeList::Representation command.response_class = Google::Apis::ComputeV1::NodeTypeList command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Inserts an association for the specified security policy. # This has billing implications. Projects in the hierarchy with effective # hierarchical security policies will be automatically enrolled into Cloud # Armor Enterprise if not already enrolled. # Use this API to modify Cloud Armor policies. Previously, alpha and beta # versions of this API were used to modify firewall policies. This usage is # now disabled for most organizations. Use firewallPolicies.addAssociation # instead. # @param [String] security_policy # Name of the security policy to update. # @param [Google::Apis::ComputeV1::SecurityPolicyAssociation] security_policy_association_object # @param [Boolean] replace_existing_association # Indicates whether or not to replace it if an association of the attachment # already exists. This is false by default, in which case an error will be # returned if an association already exists. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_organization_security_policy_association(security_policy, security_policy_association_object = nil, replace_existing_association: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/securityPolicies/{securityPolicy}/addAssociation', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicyAssociation::Representation command.request_object = security_policy_association_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['replaceExistingAssociation'] = replace_existing_association unless replace_existing_association.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Inserts a rule into a security policy. # Use this API to modify Cloud Armor policies. Previously, alpha and beta # versions of this API were used to modify firewall policies. This usage is # now disabled for most organizations. Use firewallPolicies.addRule instead. # @param [String] security_policy # Name of the security policy to update. # @param [Google::Apis::ComputeV1::SecurityPolicyRule] security_policy_rule_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_organization_security_policy_rule(security_policy, security_policy_rule_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/securityPolicies/{securityPolicy}/addRule', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicyRule::Representation command.request_object = security_policy_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Copies rules to the specified security policy. # Use this API to modify Cloud Armor policies. Previously, alpha and beta # versions of this API were used to modify firewall policies. This usage is # now disabled for most organizations. Use firewallPolicies.cloneRules # instead. # @param [String] security_policy # Name of the security policy to update. # @param [String] request_id # 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). # @param [String] source_security_policy # The security policy from which to copy rules. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def copy_organization_security_policy_rules(security_policy, request_id: nil, source_security_policy: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/securityPolicies/{securityPolicy}/copyRules', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['sourceSecurityPolicy'] = source_security_policy unless source_security_policy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified policy. # Use this API to remove Cloud Armor policies. Previously, alpha and beta # versions of this API were used to remove firewall policies. This usage is # now disabled for most organizations. Use firewallPolicies.delete instead. # @param [String] security_policy # Name of the security policy to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_organization_security_policy(security_policy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'locations/global/securityPolicies/{securityPolicy}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # List all of the ordered rules present in a single specified policy. # Use this API to read Cloud Armor policies. Previously, alpha and beta # versions of this API were used to read firewall policies. This usage is now # disabled for most organizations. Use firewallPolicies.get instead. # @param [String] security_policy # Name of the security policy to get. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SecurityPolicy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SecurityPolicy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_organization_security_policy(security_policy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'locations/global/securityPolicies/{securityPolicy}', options) command.response_representation = Google::Apis::ComputeV1::SecurityPolicy::Representation command.response_class = Google::Apis::ComputeV1::SecurityPolicy command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets an association with the specified name. # Use this API to read Cloud Armor policies. Previously, alpha and beta # versions of this API were used to read firewall policies. This usage is # now disabled for most organizations. Use firewallPolicies.getAssociation # instead. # @param [String] security_policy # Name of the security policy to which the queried rule belongs. # @param [String] name # The name of the association to get from the security policy. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SecurityPolicyAssociation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SecurityPolicyAssociation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_organization_security_policy_association(security_policy, name: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'locations/global/securityPolicies/{securityPolicy}/getAssociation', options) command.response_representation = Google::Apis::ComputeV1::SecurityPolicyAssociation::Representation command.response_class = Google::Apis::ComputeV1::SecurityPolicyAssociation command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets a rule at the specified priority. # Use this API to read Cloud Armor policies. Previously, alpha and beta # versions of this API were used to read firewall policies. This usage is now # disabled for most organizations. Use firewallPolicies.getRule instead. # @param [String] security_policy # Name of the security policy to which the queried rule belongs. # @param [Fixnum] priority # The priority of the rule to get from the security policy. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SecurityPolicyRule] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SecurityPolicyRule] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_organization_security_policy_rule(security_policy, priority: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'locations/global/securityPolicies/{securityPolicy}/getRule', options) command.response_representation = Google::Apis::ComputeV1::SecurityPolicyRule::Representation command.response_class = Google::Apis::ComputeV1::SecurityPolicyRule command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a new policy in the specified organization using the data included # in the request. # Use this API to add Cloud Armor policies. Previously, alpha and beta # versions of this API were used to add firewall policies. This usage is now # disabled for most organizations. Use firewallPolicies.insert instead. # @param [Google::Apis::ComputeV1::SecurityPolicy] security_policy_object # @param [String] parent_id # 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. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_organization_security_policy(security_policy_object = nil, parent_id: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/securityPolicies', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicy::Representation command.request_object = security_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.query['parentId'] = parent_id unless parent_id.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # List all the policies that have been configured for the specified # organization. # Use this API to read Cloud Armor policies. Previously, alpha and beta # versions of this API were used to read firewall policies. This usage is now # disabled for most organizations. Use firewallPolicies.list instead. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [String] parent_id # Parent ID for this request. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SecurityPolicyList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SecurityPolicyList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_organization_security_policies(filter: nil, max_results: nil, order_by: nil, page_token: nil, parent_id: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'locations/global/securityPolicies', options) command.response_representation = Google::Apis::ComputeV1::SecurityPolicyList::Representation command.response_class = Google::Apis::ComputeV1::SecurityPolicyList command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['parentId'] = parent_id unless parent_id.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists associations of a specified target, i.e., organization or folder. # Use this API to read Cloud Armor policies. Previously, alpha and beta # versions of this API were used to read firewall policies. This usage is # now disabled for most organizations. Use firewallPolicies.listAssociations # instead. # @param [String] target_resource # The target resource to list associations. It is an organization, or a # folder. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::OrganizationSecurityPoliciesListAssociationsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::OrganizationSecurityPoliciesListAssociationsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_organization_security_policy_associations(target_resource: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'locations/global/securityPolicies/listAssociations', options) command.response_representation = Google::Apis::ComputeV1::OrganizationSecurityPoliciesListAssociationsResponse::Representation command.response_class = Google::Apis::ComputeV1::OrganizationSecurityPoliciesListAssociationsResponse command.query['targetResource'] = target_resource unless target_resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the current list of preconfigured Web Application Firewall (WAF) # expressions. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [String] parent_id # Parent ID for this request. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SecurityPoliciesListPreconfiguredExpressionSetsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SecurityPoliciesListPreconfiguredExpressionSetsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_organization_security_policy_preconfigured_expression_sets(filter: nil, max_results: nil, order_by: nil, page_token: nil, parent_id: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'locations/global/securityPolicies/listPreconfiguredExpressionSets', options) command.response_representation = Google::Apis::ComputeV1::SecurityPoliciesListPreconfiguredExpressionSetsResponse::Representation command.response_class = Google::Apis::ComputeV1::SecurityPoliciesListPreconfiguredExpressionSetsResponse command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['parentId'] = parent_id unless parent_id.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Moves the specified security policy. # Use this API to modify Cloud Armor policies. Previously, alpha and beta # versions of this API were used to modify firewall policies. This usage is # now disabled for most organizations. Use firewallPolicies.move instead. # @param [String] security_policy # Name of the security policy to update. # @param [String] parent_id # The new parent of the security policy. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def move_organization_security_policy(security_policy, parent_id: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/securityPolicies/{securityPolicy}/move', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['parentId'] = parent_id unless parent_id.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified policy with the data included in the request. # Use this API to modify Cloud Armor policies. Previously, alpha and beta # versions of this API were used to modify firewall policies. This usage is # now disabled for most organizations. Use firewallPolicies.patch instead. # @param [String] security_policy # Name of the security policy to update. # @param [Google::Apis::ComputeV1::SecurityPolicy] security_policy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_organization_security_policy(security_policy, security_policy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'locations/global/securityPolicies/{securityPolicy}', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicy::Representation command.request_object = security_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches a rule at the specified priority. # Use this API to modify Cloud Armor policies. Previously, alpha and beta # versions of this API were used to modify firewall policies. This usage is # now disabled for most organizations. Use firewallPolicies.patchRule # instead. # @param [String] security_policy # Name of the security policy to update. # @param [Google::Apis::ComputeV1::SecurityPolicyRule] security_policy_rule_object # @param [Fixnum] priority # The priority of the rule to patch. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_organization_security_policy_rule(security_policy, security_policy_rule_object = nil, priority: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/securityPolicies/{securityPolicy}/patchRule', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicyRule::Representation command.request_object = security_policy_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Removes an association for the specified security policy. # Use this API to modify Cloud Armor policies. Previously, alpha and beta # versions of this API were used to modify firewall policies. This usage is # now disabled for most organizations. Use firewallPolicies.removeAssociation # instead. # @param [String] security_policy # Name of the security policy to update. # @param [String] name # Name for the attachment that will be removed. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_organization_security_policy_association(security_policy, name: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/securityPolicies/{securityPolicy}/removeAssociation', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['name'] = name unless name.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes a rule at the specified priority. # Use this API to modify Cloud Armor policies. Previously, alpha and beta # versions of this API were used to modify firewall policies. This usage is # now disabled for most organizations. Use firewallPolicies.removeRule # instead. # @param [String] security_policy # Name of the security policy to update. # @param [Fixnum] priority # The priority of the rule to remove from the security policy. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_organization_security_policy_rule(security_policy, priority: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'locations/global/securityPolicies/{securityPolicy}/removeRule', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of packetMirrorings. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::PacketMirroringAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::PacketMirroringAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_packet_mirroring_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/packetMirrorings', options) command.response_representation = Google::Apis::ComputeV1::PacketMirroringAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::PacketMirroringAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified PacketMirroring resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] packet_mirroring # Name of the PacketMirroring resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_packet_mirroring(project, region, packet_mirroring, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['packetMirroring'] = packet_mirroring unless packet_mirroring.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified PacketMirroring resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] packet_mirroring # Name of the PacketMirroring resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::PacketMirroring] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::PacketMirroring] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_packet_mirroring(project, region, packet_mirroring, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}', options) command.response_representation = Google::Apis::ComputeV1::PacketMirroring::Representation command.response_class = Google::Apis::ComputeV1::PacketMirroring command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['packetMirroring'] = packet_mirroring unless packet_mirroring.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a PacketMirroring resource in the specified project and region # using the data included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [Google::Apis::ComputeV1::PacketMirroring] packet_mirroring_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_packet_mirroring(project, region, packet_mirroring_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/packetMirrorings', options) command.request_representation = Google::Apis::ComputeV1::PacketMirroring::Representation command.request_object = packet_mirroring_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of PacketMirroring resources available to the specified # project and region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::PacketMirroringList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::PacketMirroringList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_packet_mirrorings(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/packetMirrorings', options) command.response_representation = Google::Apis::ComputeV1::PacketMirroringList::Representation command.response_class = Google::Apis::ComputeV1::PacketMirroringList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified PacketMirroring resource with the data included in # the request. This method supportsPATCH # semantics and usesJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] packet_mirroring # Name of the PacketMirroring resource to patch. # @param [Google::Apis::ComputeV1::PacketMirroring] packet_mirroring_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_packet_mirroring(project, region, packet_mirroring, packet_mirroring_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}', options) command.request_representation = Google::Apis::ComputeV1::PacketMirroring::Representation command.request_object = packet_mirroring_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['packetMirroring'] = packet_mirroring unless packet_mirroring.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_packet_mirroring_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/packetMirrorings/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the details of the given PreviewFeature. # @param [String] project # Project ID for this request. # @param [String] preview_feature # Name of the PreviewFeature for this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::PreviewFeature] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::PreviewFeature] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_preview_feature(project, preview_feature, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/previewFeatures/{previewFeature}', options) command.response_representation = Google::Apis::ComputeV1::PreviewFeature::Representation command.response_class = Google::Apis::ComputeV1::PreviewFeature command.params['project'] = project unless project.nil? command.params['previewFeature'] = preview_feature unless preview_feature.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the details of the given PreviewFeature. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::PreviewFeatureList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::PreviewFeatureList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_preview_features(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/previewFeatures', options) command.response_representation = Google::Apis::ComputeV1::PreviewFeatureList::Representation command.response_class = Google::Apis::ComputeV1::PreviewFeatureList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the given PreviewFeature. This method is used to enable or disable # a PreviewFeature. # @param [String] project # Project ID for this request. # @param [String] preview_feature # Name of the PreviewFeature for this request. # @param [Google::Apis::ComputeV1::PreviewFeature] preview_feature_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_preview_feature(project, preview_feature, preview_feature_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/previewFeatures/{previewFeature}', options) command.request_representation = Google::Apis::ComputeV1::PreviewFeature::Representation command.request_object = preview_feature_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['previewFeature'] = preview_feature unless preview_feature.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Disable this project as a shared VPC host project. # @param [String] project # Project ID for this request. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def disable_project_xpn_host(project, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/disableXpnHost', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Disable a service resource (also known as service project) associated with # this host project. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::ProjectsDisableXpnResourceRequest] projects_disable_xpn_resource_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def disable_project_xpn_resource(project, projects_disable_xpn_resource_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/disableXpnResource', options) command.request_representation = Google::Apis::ComputeV1::ProjectsDisableXpnResourceRequest::Representation command.request_object = projects_disable_xpn_resource_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Enable this project as a shared VPC host project. # @param [String] project # Project ID for this request. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def enable_project_xpn_host(project, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/enableXpnHost', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Enable service resource (a.k.a service project) for a host project, so that # subnets in the host project can be used by instances in the service # project. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::ProjectsEnableXpnResourceRequest] projects_enable_xpn_resource_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def enable_project_xpn_resource(project, projects_enable_xpn_resource_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/enableXpnResource', options) command.request_representation = Google::Apis::ComputeV1::ProjectsEnableXpnResourceRequest::Representation command.request_object = projects_enable_xpn_resource_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified Project 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. # @param [String] project # Project ID for this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Project] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Project] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_project(project, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}', options) command.response_representation = Google::Apis::ComputeV1::Project::Representation command.response_class = Google::Apis::ComputeV1::Project command.params['project'] = project unless project.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the shared VPC host project that this project links to. May be empty # if no link exists. # @param [String] project # Project ID for this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Project] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Project] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_project_xpn_host(project, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/getXpnHost', options) command.response_representation = Google::Apis::ComputeV1::Project::Representation command.response_class = Google::Apis::ComputeV1::Project command.params['project'] = project unless project.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets service resources (a.k.a service project) associated with this host # project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ProjectsGetXpnResources] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ProjectsGetXpnResources] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_project_xpn_resources(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/getXpnResources', options) command.response_representation = Google::Apis::ComputeV1::ProjectsGetXpnResources::Representation command.response_class = Google::Apis::ComputeV1::ProjectsGetXpnResources command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists all shared VPC host projects visible to the user in an organization. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::ProjectsListXpnHostsRequest] projects_list_xpn_hosts_request_object # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::XpnHostList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::XpnHostList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_project_xpn_hosts(project, projects_list_xpn_hosts_request_object = nil, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/listXpnHosts', options) command.request_representation = Google::Apis::ComputeV1::ProjectsListXpnHostsRequest::Representation command.request_object = projects_list_xpn_hosts_request_object command.response_representation = Google::Apis::ComputeV1::XpnHostList::Representation command.response_class = Google::Apis::ComputeV1::XpnHostList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Moves a persistent disk from one zone to another. # *Note*: The moveDisk API will be deprecated on September 29, 2026. # Starting September 29, 2025, you can't use the moveDisk API on new # projects. To move a disk to a different region or zone, follow the steps in # [Change the location of a # disk](https://cloud.google.com/compute/docs/disks/migrate-to-hyperdisk#migrate- # to-hd). # Projects that already use the moveDisk API can continue usage until # September 29, 2026. # Starting November 1, 2025, API responses will include a warning message in # the response body about the upcoming deprecation. You can skip the message # to continue using the service without interruption. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::MoveDiskRequest] move_disk_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def move_disk(project, move_disk_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/moveDisk', options) command.request_representation = Google::Apis::ComputeV1::MoveDiskRequest::Representation command.request_object = move_disk_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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# # ving_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. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::MoveInstanceRequest] move_instance_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def move_instance(project, move_instance_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/moveInstance', options) command.request_representation = Google::Apis::ComputeV1::MoveInstanceRequest::Representation command.request_object = move_instance_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::ProjectsSetCloudArmorTierRequest] projects_set_cloud_armor_tier_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_project_cloud_armor_tier(project, projects_set_cloud_armor_tier_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/setCloudArmorTier', options) command.request_representation = Google::Apis::ComputeV1::ProjectsSetCloudArmorTierRequest::Representation command.request_object = projects_set_cloud_armor_tier_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets metadata common to all instances within the specified project using # the data included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::Metadata] metadata_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_common_instance_metadata(project, metadata_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/setCommonInstanceMetadata', options) command.request_representation = Google::Apis::ComputeV1::Metadata::Representation command.request_object = metadata_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the default network tier of the project. The default network tier is # used when an address/forwardingRule/instance is created without specifying # the network tier field. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::ProjectsSetDefaultNetworkTierRequest] projects_set_default_network_tier_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_project_default_network_tier(project, projects_set_default_network_tier_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/setDefaultNetworkTier', options) command.request_representation = Google::Apis::ComputeV1::ProjectsSetDefaultNetworkTierRequest::Representation command.request_object = projects_set_default_network_tier_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Enables the usage export feature and sets theusage export bucket # where reports are stored. If you provide an empty request body using this # method, the usage export feature will be disabled. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::UsageExportLocation] usage_export_location_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_usage_export_bucket(project, usage_export_location_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/setUsageExportBucket', options) command.request_representation = Google::Apis::ComputeV1::UsageExportLocation::Representation command.request_object = usage_export_location_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Announces the specified PublicAdvertisedPrefix # @param [String] project # Project ID for this request. # @param [String] public_advertised_prefix # The name of the public advertised prefix. It should comply with RFC1035. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def announce_public_advertised_prefix(project, public_advertised_prefix, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/announce', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['publicAdvertisedPrefix'] = public_advertised_prefix unless public_advertised_prefix.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified PublicAdvertisedPrefix # @param [String] project # Project ID for this request. # @param [String] public_advertised_prefix # Name of the PublicAdvertisedPrefix resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_public_advertised_prefix(project, public_advertised_prefix, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['publicAdvertisedPrefix'] = public_advertised_prefix unless public_advertised_prefix.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified PublicAdvertisedPrefix resource. # @param [String] project # Project ID for this request. # @param [String] public_advertised_prefix # Name of the PublicAdvertisedPrefix resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::PublicAdvertisedPrefix] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::PublicAdvertisedPrefix] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_public_advertised_prefix(project, public_advertised_prefix, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}', options) command.response_representation = Google::Apis::ComputeV1::PublicAdvertisedPrefix::Representation command.response_class = Google::Apis::ComputeV1::PublicAdvertisedPrefix command.params['project'] = project unless project.nil? command.params['publicAdvertisedPrefix'] = public_advertised_prefix unless public_advertised_prefix.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a PublicAdvertisedPrefix in the specified project # using the parameters that are included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::PublicAdvertisedPrefix] public_advertised_prefix_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_public_advertised_prefix(project, public_advertised_prefix_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/publicAdvertisedPrefixes', options) command.request_representation = Google::Apis::ComputeV1::PublicAdvertisedPrefix::Representation command.request_object = public_advertised_prefix_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the PublicAdvertisedPrefixes for a project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::PublicAdvertisedPrefixList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::PublicAdvertisedPrefixList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_public_advertised_prefixes(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/publicAdvertisedPrefixes', options) command.response_representation = Google::Apis::ComputeV1::PublicAdvertisedPrefixList::Representation command.response_class = Google::Apis::ComputeV1::PublicAdvertisedPrefixList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified Router resource with the data included in the # request. This method supportsPATCH # semantics and usesJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] public_advertised_prefix # Name of the PublicAdvertisedPrefix resource to patch. # @param [Google::Apis::ComputeV1::PublicAdvertisedPrefix] public_advertised_prefix_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_public_advertised_prefix(project, public_advertised_prefix, public_advertised_prefix_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}', options) command.request_representation = Google::Apis::ComputeV1::PublicAdvertisedPrefix::Representation command.request_object = public_advertised_prefix_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['publicAdvertisedPrefix'] = public_advertised_prefix unless public_advertised_prefix.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Withdraws the specified PublicAdvertisedPrefix # @param [String] project # Project ID for this request. # @param [String] public_advertised_prefix # The name of the public advertised prefix. It should comply with RFC1035. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def withdraw_public_advertised_prefix(project, public_advertised_prefix, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/withdraw', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['publicAdvertisedPrefix'] = public_advertised_prefix unless public_advertised_prefix.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Name of the project scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_public_delegated_prefix_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/publicDelegatedPrefixes', options) command.response_representation = Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Announces the specified PublicDelegatedPrefix in the given region. # @param [String] project # Project ID for this request. # @param [String] region # The name of theregion where # the public delegated prefix is located. It should comply with RFC1035. # @param [String] public_delegated_prefix # The name of the public delegated prefix. It should comply with RFC1035. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def announce_public_delegated_prefix(project, region, public_delegated_prefix, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/announce', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['publicDelegatedPrefix'] = public_delegated_prefix unless public_delegated_prefix.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified PublicDelegatedPrefix in the given region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region of this request. # @param [String] public_delegated_prefix # Name of the PublicDelegatedPrefix resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_public_delegated_prefix(project, region, public_delegated_prefix, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['publicDelegatedPrefix'] = public_delegated_prefix unless public_delegated_prefix.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified PublicDelegatedPrefix resource in the given region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region of this request. # @param [String] public_delegated_prefix # Name of the PublicDelegatedPrefix resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::PublicDelegatedPrefix] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::PublicDelegatedPrefix] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_public_delegated_prefix(project, region, public_delegated_prefix, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}', options) command.response_representation = Google::Apis::ComputeV1::PublicDelegatedPrefix::Representation command.response_class = Google::Apis::ComputeV1::PublicDelegatedPrefix command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['publicDelegatedPrefix'] = public_delegated_prefix unless public_delegated_prefix.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a PublicDelegatedPrefix in the specified project in the given # region using the parameters that are included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region of this request. # @param [Google::Apis::ComputeV1::PublicDelegatedPrefix] public_delegated_prefix_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_public_delegated_prefix(project, region, public_delegated_prefix_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/publicDelegatedPrefixes', options) command.request_representation = Google::Apis::ComputeV1::PublicDelegatedPrefix::Representation command.request_object = public_delegated_prefix_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the PublicDelegatedPrefixes for a project in the given region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region of this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::PublicDelegatedPrefixList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_public_delegated_prefixes(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/publicDelegatedPrefixes', options) command.response_representation = Google::Apis::ComputeV1::PublicDelegatedPrefixList::Representation command.response_class = Google::Apis::ComputeV1::PublicDelegatedPrefixList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified PublicDelegatedPrefix resource with the data included # in the request. This method supportsPATCH # semantics and usesJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] public_delegated_prefix # Name of the PublicDelegatedPrefix resource to patch. # @param [Google::Apis::ComputeV1::PublicDelegatedPrefix] public_delegated_prefix_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_public_delegated_prefix(project, region, public_delegated_prefix, public_delegated_prefix_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}', options) command.request_representation = Google::Apis::ComputeV1::PublicDelegatedPrefix::Representation command.request_object = public_delegated_prefix_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['publicDelegatedPrefix'] = public_delegated_prefix unless public_delegated_prefix.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Withdraws the specified PublicDelegatedPrefix in the given region. # @param [String] project # Project ID for this request. # @param [String] region # The name of theregion where # the public delegated prefix is located. It should comply with RFC1035. # @param [String] public_delegated_prefix # The name of the public delegated prefix. It should comply with RFC1035. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def withdraw_public_delegated_prefix(project, region, public_delegated_prefix, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/withdraw', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['publicDelegatedPrefix'] = public_delegated_prefix unless public_delegated_prefix.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified autoscaler. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] autoscaler # Name of the autoscaler to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_autoscaler(project, region, autoscaler, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/autoscalers/{autoscaler}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['autoscaler'] = autoscaler unless autoscaler.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified autoscaler. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] autoscaler # Name of the autoscaler to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Autoscaler] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Autoscaler] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_autoscaler(project, region, autoscaler, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/autoscalers/{autoscaler}', options) command.response_representation = Google::Apis::ComputeV1::Autoscaler::Representation command.response_class = Google::Apis::ComputeV1::Autoscaler command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['autoscaler'] = autoscaler unless autoscaler.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates an autoscaler in the specified project using # the data included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::Autoscaler] autoscaler_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_autoscaler(project, region, autoscaler_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/autoscalers', options) command.request_representation = Google::Apis::ComputeV1::Autoscaler::Representation command.request_object = autoscaler_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of autoscalers contained within # the specified region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RegionAutoscalerList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RegionAutoscalerList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_autoscalers(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/autoscalers', options) command.response_representation = Google::Apis::ComputeV1::RegionAutoscalerList::Representation command.response_class = Google::Apis::ComputeV1::RegionAutoscalerList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates an autoscaler in the specified project using # the data included in the request. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::Autoscaler] autoscaler_object # @param [String] autoscaler # Name of the autoscaler to patch. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_region_autoscaler(project, region, autoscaler_object = nil, autoscaler: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/autoscalers', options) command.request_representation = Google::Apis::ComputeV1::Autoscaler::Representation command.request_object = autoscaler_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['autoscaler'] = autoscaler unless autoscaler.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_region_autoscaler_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/autoscalers/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates an autoscaler in the specified project using # the data included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::Autoscaler] autoscaler_object # @param [String] autoscaler # Name of the autoscaler to update. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_region_autoscaler(project, region, autoscaler_object = nil, autoscaler: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:put, 'projects/{project}/regions/{region}/autoscalers', options) command.request_representation = Google::Apis::ComputeV1::Autoscaler::Representation command.request_object = autoscaler_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['autoscaler'] = autoscaler unless autoscaler.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified regional BackendService resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] backend_service # Name of the BackendService resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_backend_service(project, region, backend_service, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/backendServices/{backendService}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['backendService'] = backend_service unless backend_service.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified regional BackendService resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] backend_service # Name of the BackendService resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::BackendService] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::BackendService] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_backend_service(project, region, backend_service, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/backendServices/{backendService}', options) command.response_representation = Google::Apis::ComputeV1::BackendService::Representation command.response_class = Google::Apis::ComputeV1::BackendService command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['backendService'] = backend_service unless backend_service.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the most recent health check results for this # regional BackendService. # @param [String] project # @param [String] region # Name of the region scoping this request. # @param [String] backend_service # Name of the BackendService resource for which to get health. # @param [Google::Apis::ComputeV1::ResourceGroupReference] resource_group_reference_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::BackendServiceGroupHealth] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::BackendServiceGroupHealth] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_backend_service_health(project, region, backend_service, resource_group_reference_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/backendServices/{backendService}/getHealth', options) command.request_representation = Google::Apis::ComputeV1::ResourceGroupReference::Representation command.request_object = resource_group_reference_object command.response_representation = Google::Apis::ComputeV1::BackendServiceGroupHealth::Representation command.response_class = Google::Apis::ComputeV1::BackendServiceGroupHealth command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['backendService'] = backend_service unless backend_service.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_backend_service_iam_policy(project, region, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/backendServices/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a regional BackendService resource in the specified project using # the data included in the request. For more information, see # Backend services overview. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::BackendService] backend_service_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_backend_service(project, region, backend_service_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/backendServices', options) command.request_representation = Google::Apis::ComputeV1::BackendService::Representation command.request_object = backend_service_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of regional BackendService resources available to the # specified project in the given region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::BackendServiceList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::BackendServiceList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_backend_services(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/backendServices', options) command.response_representation = Google::Apis::ComputeV1::BackendServiceList::Representation command.response_class = Google::Apis::ComputeV1::BackendServiceList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of all usable backend services in the specified project in # the given region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # It must be a string that meets the requirements in RFC1035. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::BackendServiceListUsable] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::BackendServiceListUsable] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_backend_service_usable(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/backendServices/listUsable', options) command.response_representation = Google::Apis::ComputeV1::BackendServiceListUsable::Representation command.response_class = Google::Apis::ComputeV1::BackendServiceListUsable command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] backend_service # Name of the BackendService resource to patch. # @param [Google::Apis::ComputeV1::BackendService] backend_service_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_region_backend_service(project, region, backend_service, backend_service_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/backendServices/{backendService}', options) command.request_representation = Google::Apis::ComputeV1::BackendService::Representation command.request_object = backend_service_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['backendService'] = backend_service unless backend_service.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetPolicyRequest] region_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_region_backend_service_iam_policy(project, region, resource, region_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/backendServices/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::RegionSetPolicyRequest::Representation command.request_object = region_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the Google Cloud Armor security policy for the specified backend # service. For more information, seeGoogle # Cloud Armor Overview # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] backend_service # Name of the BackendService resource to which the security policy should be # set. The name should conform to RFC1035. # @param [Google::Apis::ComputeV1::SecurityPolicyReference] security_policy_reference_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_region_backend_service_security_policy(project, region, backend_service, security_policy_reference_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/backendServices/{backendService}/setSecurityPolicy', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicyReference::Representation command.request_object = security_policy_reference_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['backendService'] = backend_service unless backend_service.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_region_backend_service_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/backendServices/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified regional BackendService resource with the data # included in the request. For more information, # see # Backend services overview. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] backend_service # Name of the BackendService resource to update. # @param [Google::Apis::ComputeV1::BackendService] backend_service_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_region_backend_service(project, region, backend_service, backend_service_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:put, 'projects/{project}/regions/{region}/backendServices/{backendService}', options) command.request_representation = Google::Apis::ComputeV1::BackendService::Representation command.request_object = backend_service_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['backendService'] = backend_service unless backend_service.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of commitments by region. # To prevent failure, it is recommended that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::CommitmentAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::CommitmentAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_region_commitment_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/commitments', options) command.response_representation = Google::Apis::ComputeV1::CommitmentAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::CommitmentAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified commitment resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] commitment # Name of the commitment to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Commitment] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Commitment] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_commitment(project, region, commitment, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/commitments/{commitment}', options) command.response_representation = Google::Apis::ComputeV1::Commitment::Representation command.response_class = Google::Apis::ComputeV1::Commitment command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['commitment'] = commitment unless commitment.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a commitment in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [Google::Apis::ComputeV1::Commitment] commitment_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_commitment(project, region, commitment_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/commitments', options) command.request_representation = Google::Apis::ComputeV1::Commitment::Representation command.request_object = commitment_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of commitments contained within # the specified region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::CommitmentList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::CommitmentList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_commitments(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/commitments', options) command.response_representation = Google::Apis::ComputeV1::CommitmentList::Representation command.response_class = Google::Apis::ComputeV1::CommitmentList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified commitment 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 updated: auto_renew and plan. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] commitment # Name of the commitment that you want to update. # @param [Google::Apis::ComputeV1::Commitment] commitment_object # @param [Array, String] paths # @param [String] request_id # 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). # @param [String] update_mask # update_mask indicates fields to be updated as part of this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_region_commitment(project, region, commitment, commitment_object = nil, paths: nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/commitments/{commitment}', options) command.request_representation = Google::Apis::ComputeV1::Commitment::Representation command.request_object = commitment_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['commitment'] = commitment unless commitment.nil? command.query['paths'] = paths unless paths.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified regional disk type. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] disk_type # Name of the disk type to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::DiskType] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::DiskType] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_disk_type(project, region, disk_type, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/diskTypes/{diskType}', options) command.response_representation = Google::Apis::ComputeV1::DiskType::Representation command.response_class = Google::Apis::ComputeV1::DiskType command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['diskType'] = disk_type unless disk_type.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of regional disk types available to the specified project. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RegionDiskTypeList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RegionDiskTypeList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_disk_types(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/diskTypes', options) command.response_representation = Google::Apis::ComputeV1::RegionDiskTypeList::Representation command.response_class = Google::Apis::ComputeV1::RegionDiskTypeList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Adds existing resource policies to a regional disk. You can only add one # policy which will be applied to this disk for scheduling snapshot # creation. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] disk # The disk name for this request. # @param [Google::Apis::ComputeV1::RegionDisksAddResourcePoliciesRequest] region_disks_add_resource_policies_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_region_disk_resource_policies(project, region, disk, region_disks_add_resource_policies_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/disks/{disk}/addResourcePolicies', options) command.request_representation = Google::Apis::ComputeV1::RegionDisksAddResourcePoliciesRequest::Representation command.request_object = region_disks_add_resource_policies_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['disk'] = disk unless disk.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Bulk create a set of disks. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [Google::Apis::ComputeV1::BulkInsertDiskResource] bulk_insert_disk_resource_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def bulk_region_disk_insert(project, region, bulk_insert_disk_resource_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/disks/bulkInsert', options) command.request_representation = Google::Apis::ComputeV1::BulkInsertDiskResource::Representation command.request_object = bulk_insert_disk_resource_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] disk # Name of the regional persistent disk to snapshot. # @param [Google::Apis::ComputeV1::Snapshot] snapshot_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def create_region_disk_snapshot(project, region, disk, snapshot_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/disks/{disk}/createSnapshot', options) command.request_representation = Google::Apis::ComputeV1::Snapshot::Representation command.request_object = snapshot_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['disk'] = disk unless disk.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified regional persistent disk. Deleting a regional disk # removes all the replicas of its data permanently and is irreversible. # However, deleting a disk does not delete anysnapshots # previously made from the disk. You must separatelydelete # snapshots. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] disk # Name of the regional persistent disk to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_disk(project, region, disk, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/disks/{disk}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['disk'] = disk unless disk.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns a specified regional persistent disk. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] disk # Name of the regional persistent disk to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Disk] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Disk] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_disk(project, region, disk, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/disks/{disk}', options) command.response_representation = Google::Apis::ComputeV1::Disk::Representation command.response_class = Google::Apis::ComputeV1::Disk command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['disk'] = disk unless disk.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_disk_iam_policy(project, region, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/disks/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a persistent regional disk in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [Google::Apis::ComputeV1::Disk] disk_object # @param [String] request_id # 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). # @param [String] source_image # Source image to restore onto a disk. This field is optional. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_disk(project, region, disk_object = nil, request_id: nil, source_image: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/disks', options) command.request_representation = Google::Apis::ComputeV1::Disk::Representation command.request_object = disk_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['sourceImage'] = source_image unless source_image.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of persistent disks contained within # the specified region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::DiskList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::DiskList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_disks(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/disks', options) command.response_representation = Google::Apis::ComputeV1::DiskList::Representation command.response_class = Google::Apis::ComputeV1::DiskList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Removes resource policies from a regional disk. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] disk # The disk name for this request. # @param [Google::Apis::ComputeV1::RegionDisksRemoveResourcePoliciesRequest] region_disks_remove_resource_policies_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_region_disk_resource_policies(project, region, disk, region_disks_remove_resource_policies_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies', options) command.request_representation = Google::Apis::ComputeV1::RegionDisksRemoveResourcePoliciesRequest::Representation command.request_object = region_disks_remove_resource_policies_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['disk'] = disk unless disk.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Resizes the specified regional persistent disk. # @param [String] project # The project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] disk # Name of the regional persistent disk. # @param [Google::Apis::ComputeV1::RegionDisksResizeRequest] region_disks_resize_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def resize_region_disk(project, region, disk, region_disks_resize_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/disks/{disk}/resize', options) command.request_representation = Google::Apis::ComputeV1::RegionDisksResizeRequest::Representation command.request_object = region_disks_resize_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['disk'] = disk unless disk.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetPolicyRequest] region_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_region_disk_iam_policy(project, region, resource, region_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/disks/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::RegionSetPolicyRequest::Representation command.request_object = region_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on the target regional disk. # @param [String] project # Project ID for this request. # @param [String] region # The region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_region_disk_labels(project, region, resource, region_set_labels_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/disks/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::RegionSetLabelsRequest::Representation command.request_object = region_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Starts asynchronous replication. # Must be invoked on the primary disk. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] disk # The name of the persistent disk. # @param [Google::Apis::ComputeV1::RegionDisksStartAsyncReplicationRequest] region_disks_start_async_replication_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def start_region_disk_async_replication(project, region, disk, region_disks_start_async_replication_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/disks/{disk}/startAsyncReplication', options) command.request_representation = Google::Apis::ComputeV1::RegionDisksStartAsyncReplicationRequest::Representation command.request_object = region_disks_start_async_replication_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['disk'] = disk unless disk.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Stops asynchronous replication. # Can be invoked either on the primary or on the secondary disk. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] disk # The name of the persistent disk. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def stop_region_disk_async_replication(project, region, disk, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/disks/{disk}/stopAsyncReplication', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['disk'] = disk unless disk.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Stops asynchronous replication for a consistency group of disks. # Can be invoked either in the primary or secondary scope. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. This must be the region of the # primary or secondary disks in the consistency group. # @param [Google::Apis::ComputeV1::DisksStopGroupAsyncReplicationResource] disks_stop_group_async_replication_resource_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def stop_region_disk_group_async_replication(project, region, disks_stop_group_async_replication_resource_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/disks/stopGroupAsyncReplication', options) command.request_representation = Google::Apis::ComputeV1::DisksStopGroupAsyncReplicationResource::Representation command.request_object = disks_stop_group_async_replication_resource_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_region_disk_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/disks/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] disk # The disk name for this request. # @param [Google::Apis::ComputeV1::Disk] disk_object # @param [Array, String] paths # @param [String] request_id # 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). # @param [String] update_mask # update_mask indicates fields to be updated as part of this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_region_disk(project, region, disk, disk_object = nil, paths: nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/disks/{disk}', options) command.request_representation = Google::Apis::ComputeV1::Disk::Representation command.request_object = disk_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['disk'] = disk unless disk.nil? command.query['paths'] = paths unless paths.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified regional HealthCheckService. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] health_check_service # Name of the HealthCheckService to delete. The name # must be 1-63 characters long, and comply with RFC1035. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_health_check_service(project, region, health_check_service, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['healthCheckService'] = health_check_service unless health_check_service.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified regional HealthCheckService resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] health_check_service # Name of the HealthCheckService to update. The name # must be 1-63 characters long, and comply with RFC1035. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::HealthCheckService] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::HealthCheckService] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_health_check_service(project, region, health_check_service, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}', options) command.response_representation = Google::Apis::ComputeV1::HealthCheckService::Representation command.response_class = Google::Apis::ComputeV1::HealthCheckService command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['healthCheckService'] = health_check_service unless health_check_service.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a regional HealthCheckService resource in the # specified project and region using the data included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::HealthCheckService] health_check_service_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_health_check_service(project, region, health_check_service_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/healthCheckServices', options) command.request_representation = Google::Apis::ComputeV1::HealthCheckService::Representation command.request_object = health_check_service_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists all the HealthCheckService resources that have been # configured for the specified project in the given region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::HealthCheckServicesList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::HealthCheckServicesList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_health_check_services(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/healthCheckServices', options) command.response_representation = Google::Apis::ComputeV1::HealthCheckServicesList::Representation command.response_class = Google::Apis::ComputeV1::HealthCheckServicesList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified regional HealthCheckService resource # with the data included in the request. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] health_check_service # Name of the HealthCheckService to update. The name # must be 1-63 characters long, and comply with RFC1035. # @param [Google::Apis::ComputeV1::HealthCheckService] health_check_service_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_region_health_check_service(project, region, health_check_service, health_check_service_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}', options) command.request_representation = Google::Apis::ComputeV1::HealthCheckService::Representation command.request_object = health_check_service_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['healthCheckService'] = health_check_service unless health_check_service.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_region_health_check_service_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/healthCheckServices/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified HealthCheck resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] health_check # Name of the HealthCheck resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_health_check(project, region, health_check, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/healthChecks/{healthCheck}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['healthCheck'] = health_check unless health_check.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified HealthCheck resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] health_check # Name of the HealthCheck resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::HealthCheck] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::HealthCheck] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_health_check(project, region, health_check, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/healthChecks/{healthCheck}', options) command.response_representation = Google::Apis::ComputeV1::HealthCheck::Representation command.response_class = Google::Apis::ComputeV1::HealthCheck command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['healthCheck'] = health_check unless health_check.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a HealthCheck resource in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::HealthCheck] health_check_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_health_check(project, region, health_check_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/healthChecks', options) command.request_representation = Google::Apis::ComputeV1::HealthCheck::Representation command.request_object = health_check_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of HealthCheck resources available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::HealthCheckList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::HealthCheckList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_health_checks(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/healthChecks', options) command.response_representation = Google::Apis::ComputeV1::HealthCheckList::Representation command.response_class = Google::Apis::ComputeV1::HealthCheckList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates a HealthCheck resource in the specified project using the data # included in the request. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] health_check # Name of the HealthCheck resource to patch. # @param [Google::Apis::ComputeV1::HealthCheck] health_check_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_region_health_check(project, region, health_check, health_check_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/healthChecks/{healthCheck}', options) command.request_representation = Google::Apis::ComputeV1::HealthCheck::Representation command.request_object = health_check_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['healthCheck'] = health_check unless health_check.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_region_health_check_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/healthChecks/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates a HealthCheck resource in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] health_check # Name of the HealthCheck resource to update. # @param [Google::Apis::ComputeV1::HealthCheck] health_check_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_region_health_check(project, region, health_check, health_check_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:put, 'projects/{project}/regions/{region}/healthChecks/{healthCheck}', options) command.request_representation = Google::Apis::ComputeV1::HealthCheck::Representation command.request_object = health_check_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['healthCheck'] = health_check unless health_check.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Flags the specified instances to be immediately removed from the managed # instance group. Abandoning an instance does not delete the # instance, but it does remove the instance from any target pools that are # applied by the managed instance group. This method reduces thetargetSize of # the managed instance group by the # number of instances that you abandon. This operation is marked asDONE when the # action is scheduled even if the instances have # not yet been removed from the group. You must separately verify the # status of the abandoning action with thelistmanagedinstances # method. # If the group is part of a backend # service that has enabled # connection draining, it can take up to 60 seconds after the connection # draining duration has elapsed before the VM instance is removed or deleted. # You can specify a maximum of 1000 instances with this method per request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] instance_group_manager # Name of the managed instance group. # @param [Google::Apis::ComputeV1::RegionInstanceGroupManagersAbandonInstancesRequest] region_instance_group_managers_abandon_instances_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def abandon_region_instance_group_manager_instances(project, region, instance_group_manager, region_instance_group_managers_abandon_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances', options) command.request_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagersAbandonInstancesRequest::Representation command.request_object = region_instance_group_managers_abandon_instances_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Apply updates to selected instances the managed instance group. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request, should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group, should conform to RFC1035. # @param [Google::Apis::ComputeV1::RegionInstanceGroupManagersApplyUpdatesRequest] region_instance_group_managers_apply_updates_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def apply_region_instance_group_manager_updates_to_instances(project, region, instance_group_manager, region_instance_group_managers_apply_updates_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances', options) command.request_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagersApplyUpdatesRequest::Representation command.request_object = region_instance_group_managers_apply_updates_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates instances with per-instance configurations in this regional managed # instance group. Instances are created using the current instance template. # The create instances operation is marked DONE if # the createInstances request is successful. The underlying # actions take additional time. You must separately verify the status of # thecreating or actions with the listmanagedinstances # method. # @param [String] project # Project ID for this request. # @param [String] region # The name of theregion # where the managed instance group is located. # It should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group. # It should conform to RFC1035. # @param [Google::Apis::ComputeV1::RegionInstanceGroupManagersCreateInstancesRequest] region_instance_group_managers_create_instances_request_object # @param [String] request_id # 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. # The request ID must be # a valid UUID with the exception that zero UUID is not supported # (00000000-0000-0000-0000-000000000000). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def create_region_instance_group_manager_instances(project, region, instance_group_manager, region_instance_group_managers_create_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/createInstances', options) command.request_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagersCreateInstancesRequest::Representation command.request_object = region_instance_group_managers_create_instances_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified managed instance group and all of the instances # in that group. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] instance_group_manager # Name of the managed instance group to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_instance_group_manager(project, region, instance_group_manager, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Flags the specified instances in the managed instance group to be # immediately deleted. The instances are also removed from any target # pools of which they were a member. This method reduces thetargetSize of the # managed instance group by the number of # instances that you delete. # The deleteInstances operation is marked DONE if # the deleteInstances request is successful. The underlying # actions take additional time. You must separately verify the status of # thedeleting action with thelistmanagedinstances # method. # If the group is part of a backend # service that has enabled # connection draining, it can take up to 60 seconds after the connection # draining duration has elapsed before the VM instance is removed or deleted. # You can specify a maximum of 1000 instances with this method per request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] instance_group_manager # Name of the managed instance group. # @param [Google::Apis::ComputeV1::RegionInstanceGroupManagersDeleteInstancesRequest] region_instance_group_managers_delete_instances_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_instance_group_manager_instances(project, region, instance_group_manager, region_instance_group_managers_delete_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances', options) command.request_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagersDeleteInstancesRequest::Representation command.request_object = region_instance_group_managers_delete_instances_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes selected per-instance configurations for the managed instance # group. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request, should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group. It should conform to RFC1035. # @param [Google::Apis::ComputeV1::RegionInstanceGroupManagerDeleteInstanceConfigReq] region_instance_group_manager_delete_instance_config_req_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_instance_group_manager_per_instance_configs(project, region, instance_group_manager, region_instance_group_manager_delete_instance_config_req_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs', options) command.request_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagerDeleteInstanceConfigReq::Representation command.request_object = region_instance_group_manager_delete_instance_config_req_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns all of the details about the specified managed instance group. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] instance_group_manager # Name of the managed instance group to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceGroupManager] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceGroupManager] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_instance_group_manager(project, region, instance_group_manager, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}', options) command.response_representation = Google::Apis::ComputeV1::InstanceGroupManager::Representation command.response_class = Google::Apis::ComputeV1::InstanceGroupManager command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a managed instance group using the information that you specify # in the request. After the group is created, instances in the group are # created using the specified instance template. # This operation is marked as DONE when the group is created # even if the instances in the group have not yet been created. You must # separately verify the status of the individual instances with # thelistmanagedinstances # method. # A regional managed instance group can contain up to 2000 instances. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::InstanceGroupManager] instance_group_manager_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_instance_group_manager(project, region, instance_group_manager_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManager::Representation command.request_object = instance_group_manager_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of managed instance groups that are contained # within the specified region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RegionInstanceGroupManagerList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RegionInstanceGroupManagerList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_instance_group_managers(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/instanceGroupManagers', options) command.response_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagerList::Representation command.response_class = Google::Apis::ComputeV1::RegionInstanceGroupManagerList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists all errors thrown by actions on instances for a given regional # managed instance group. The filter andorderBy query parameters are not # supported. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # This should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group. # It must be a string that meets the requirements in RFC1035, or an # unsigned long integer: must match regexp pattern: # (?:[a-z](?:[-a-z0-9]`0,61`[a-z0-9])?)|1-9`0,19`. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RegionInstanceGroupManagersListErrorsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RegionInstanceGroupManagersListErrorsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_instance_group_manager_errors(project, region, instance_group_manager, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listErrors', options) command.response_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagersListErrorsResponse::Representation command.response_class = Google::Apis::ComputeV1::RegionInstanceGroupManagersListErrorsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] instance_group_manager # The name of the managed instance group. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RegionInstanceGroupManagersListInstancesResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RegionInstanceGroupManagersListInstancesResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_instance_group_manager_managed_instances(project, region, instance_group_manager, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances', options) command.response_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagersListInstancesResponse::Representation command.response_class = Google::Apis::ComputeV1::RegionInstanceGroupManagersListInstancesResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists all of the per-instance configurations defined for the managed # instance group. The orderBy query parameter is not supported. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request, should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group. It should conform to RFC1035. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RegionInstanceGroupManagersListInstanceConfigsResp] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RegionInstanceGroupManagersListInstanceConfigsResp] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_instance_group_manager_per_instance_configs(project, region, instance_group_manager, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs', options) command.response_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagersListInstanceConfigsResp::Representation command.response_class = Google::Apis::ComputeV1::RegionInstanceGroupManagersListInstanceConfigsResp command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates a managed instance group using the information that you specify # in the request. # This operation is marked as DONE when the group is patched # even if the instances in the group are still in the process of being # patched. You must separately verify the status of the individual instances # with the listmanagedinstances # method. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # If you update your group to specify a new template or instance # configuration, it's possible that your intended specification for each VM # in the group is different from the current state of that VM. To learn how # to apply an updated configuration to the VMs in a MIG, seeUpdating instances # in # a MIG. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] instance_group_manager # The name of the instance group manager. # @param [Google::Apis::ComputeV1::InstanceGroupManager] instance_group_manager_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_region_instance_group_manager(project, region, instance_group_manager, instance_group_manager_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}', options) command.request_representation = Google::Apis::ComputeV1::InstanceGroupManager::Representation command.request_object = instance_group_manager_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Inserts or patches per-instance configurations for the managed instance # group. perInstanceConfig.name serves as a key used to # distinguish whether to perform insert or patch. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request, should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group. # It should conform to RFC1035. # @param [Google::Apis::ComputeV1::RegionInstanceGroupManagerPatchInstanceConfigReq] region_instance_group_manager_patch_instance_config_req_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_region_instance_group_manager_per_instance_configs(project, region, instance_group_manager, region_instance_group_manager_patch_instance_config_req_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs', options) command.request_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagerPatchInstanceConfigReq::Representation command.request_object = region_instance_group_manager_patch_instance_config_req_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Flags the specified VM instances in the managed instance group to be # immediately recreated. Each instance is recreated using the group's current # configuration. This operation is marked as DONE when the flag # is set even if the instances have not yet been recreated. You must # separately verify the status of each instance by checking itscurrentAction # field; for more information, see Checking # the status of managed instances. # If the group is part of a backend # service that has enabled # connection draining, it can take up to 60 seconds after the connection # draining duration has elapsed before the VM instance is removed or deleted. # You can specify a maximum of 1000 instances with this method per request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] instance_group_manager # Name of the managed instance group. # @param [Google::Apis::ComputeV1::RegionInstanceGroupManagersRecreateRequest] region_instance_group_managers_recreate_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def recreate_region_instance_group_manager_instances(project, region, instance_group_manager, region_instance_group_managers_recreate_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances', options) command.request_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagersRecreateRequest::Representation command.request_object = region_instance_group_managers_recreate_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes the intended size of the managed instance group. If you increase # the size, the group creates new instances using the current instance # template. If you decrease the size, the group deletes one or more # instances. # The resize operation is marked DONE if theresize request is successful. The # underlying actions take # additional time. You must separately verify the status of thecreating or # deleting actions with thelistmanagedinstances # method. # If the group is part of a backend # service that has enabled # connection draining, it can take up to 60 seconds after the connection # draining duration has elapsed before the VM instance is removed or deleted. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] instance_group_manager # Name of the managed instance group. # @param [Fixnum] size # Number of instances that should exist in this instance group # manager. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def resize_region_instance_group_manager(project, region, instance_group_manager, size, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['size'] = size unless size.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Flags the specified instances in the managed instance group to be # resumed. This method increases thetargetSize and decreases the # targetSuspendedSize # of the managed instance group by the number of instances that you resume. # The resumeInstances operation is marked DONE if # the resumeInstances request is successful. The underlying # actions take additional time. You must separately verify the status of # theRESUMING action with thelistmanagedinstances # method. # In this request, you can only specify instances that are suspended. For # example, if an instance was previously suspended using the suspendInstances # method, it can be resumed using the resumeInstances method. # If a health check is attached to the managed instance group, the specified # instances will be verified as healthy after they are resumed. # You can specify a maximum of 1000 instances with this method per request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] instance_group_manager # Name of the managed instance group. # @param [Google::Apis::ComputeV1::RegionInstanceGroupManagersResumeInstancesRequest] region_instance_group_managers_resume_instances_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def resume_region_instance_group_manager_instances(project, region, instance_group_manager, region_instance_group_managers_resume_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resumeInstances', options) command.request_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagersResumeInstancesRequest::Representation command.request_object = region_instance_group_managers_resume_instances_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the instance template to use when creating new instances or recreating # instances in this group. Existing instances are not affected. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] instance_group_manager # The name of the managed instance group. # @param [Google::Apis::ComputeV1::RegionInstanceGroupManagersSetTemplateRequest] region_instance_group_managers_set_template_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_region_instance_group_manager_instance_template(project, region, instance_group_manager, region_instance_group_managers_set_template_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate', options) command.request_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagersSetTemplateRequest::Representation command.request_object = region_instance_group_managers_set_template_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Modifies the target pools to which all new instances in this group are # assigned. Existing instances in the group are not affected. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] instance_group_manager # Name of the managed instance group. # @param [Google::Apis::ComputeV1::RegionInstanceGroupManagersSetTargetPoolsRequest] region_instance_group_managers_set_target_pools_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_region_instance_group_manager_target_pools(project, region, instance_group_manager, region_instance_group_managers_set_target_pools_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools', options) command.request_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagersSetTargetPoolsRequest::Representation command.request_object = region_instance_group_managers_set_target_pools_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Flags the specified instances in the managed instance group to be # started. This method increases thetargetSize and decreases the # targetStoppedSize # of the managed instance group by the number of instances that you start. # The startInstances operation is marked DONE if # the startInstances request is successful. The underlying # actions take additional time. You must separately verify the status of # theSTARTING action with thelistmanagedinstances # method. # In this request, you can only specify instances that are stopped. For # example, if an instance was previously stopped using the stopInstances # method, it can be started using the startInstances method. # If a health check is attached to the managed instance group, the specified # instances will be verified as healthy after they are started. # You can specify a maximum of 1000 instances with this method per request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] instance_group_manager # Name of the managed instance group. # @param [Google::Apis::ComputeV1::RegionInstanceGroupManagersStartInstancesRequest] region_instance_group_managers_start_instances_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def start_region_instance_group_manager_instances(project, region, instance_group_manager, region_instance_group_managers_start_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/startInstances', options) command.request_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagersStartInstancesRequest::Representation command.request_object = region_instance_group_managers_start_instances_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Flags the specified instances in the managed instance group to be # immediately stopped. You can only specify instances that are running in # this request. This method reduces thetargetSize and increases the # targetStoppedSize # of the managed instance group by the number of instances that you stop. # The stopInstances operation is marked DONE if # the stopInstances request is successful. The underlying # actions take additional time. You must separately verify the status of # theSTOPPING action with thelistmanagedinstances # method. # If the standbyPolicy.initialDelaySec field is set, the group # delays stopping the instances until initialDelaySec have # passed from instance.creationTimestamp (that is, when the # instance was created). This delay gives your application time to # set itself up and initialize on the instance. If more thaninitialDelaySec # seconds have passed sinceinstance.creationTimestamp when this method is called, # there # will be zero delay. # If the group is part of a backend # service that has enabled # connection draining, it can take up to 60 seconds after the connection # draining duration has elapsed before the VM instance is stopped. # Stopped instances can be started using the startInstances # method. # You can specify a maximum of 1000 instances with this method per request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] instance_group_manager # The name of the managed instance group. # @param [Google::Apis::ComputeV1::RegionInstanceGroupManagersStopInstancesRequest] region_instance_group_managers_stop_instances_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def stop_region_instance_group_manager_instances(project, region, instance_group_manager, region_instance_group_managers_stop_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/stopInstances', options) command.request_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagersStopInstancesRequest::Representation command.request_object = region_instance_group_managers_stop_instances_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Flags the specified instances in the managed instance group to be # immediately suspended. You can only specify instances that are running in # this request. This method reduces thetargetSize and increases the # targetSuspendedSize # of the managed instance group by the number of instances that you suspend. # The suspendInstances operation is marked DONE if # the suspendInstances request is successful. The underlying # actions take additional time. You must separately verify the status of # theSUSPENDING action with thelistmanagedinstances # method. # If the standbyPolicy.initialDelaySec field is set, the group # delays suspension of the instances until initialDelaySec have # passed from instance.creationTimestamp (that is, when the # instance was created). This delay gives your application time to # set itself up and initialize on the instance. If more thaninitialDelaySec # seconds have passed sinceinstance.creationTimestamp when this method is called, # there # will be zero delay. # If the group is part of a backend # service that has enabled # connection draining, it can take up to 60 seconds after the connection # draining duration has elapsed before the VM instance is suspended. # Suspended instances can be resumed using the resumeInstances # method. # You can specify a maximum of 1000 instances with this method per request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] instance_group_manager # Name of the managed instance group. # @param [Google::Apis::ComputeV1::RegionInstanceGroupManagersSuspendInstancesRequest] region_instance_group_managers_suspend_instances_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def suspend_region_instance_group_manager_instances(project, region, instance_group_manager, region_instance_group_managers_suspend_instances_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/suspendInstances', options) command.request_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagersSuspendInstancesRequest::Representation command.request_object = region_instance_group_managers_suspend_instances_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Inserts or updates per-instance configurations for the managed instance # group. perInstanceConfig.name serves as a key used to # distinguish whether to perform insert or patch. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request, should conform to RFC1035. # @param [String] instance_group_manager # The name of the managed instance group. # It should conform to RFC1035. # @param [Google::Apis::ComputeV1::RegionInstanceGroupManagerUpdateInstanceConfigReq] region_instance_group_manager_update_instance_config_req_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_region_instance_group_manager_per_instance_configs(project, region, instance_group_manager, region_instance_group_manager_update_instance_config_req_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs', options) command.request_representation = Google::Apis::ComputeV1::RegionInstanceGroupManagerUpdateInstanceConfigReq::Representation command.request_object = region_instance_group_manager_update_instance_config_req_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroupManager'] = instance_group_manager unless instance_group_manager.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified instance group resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] instance_group # Name of the instance group resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceGroup] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceGroup] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_instance_group(project, region, instance_group, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/instanceGroups/{instanceGroup}', options) command.response_representation = Google::Apis::ComputeV1::InstanceGroup::Representation command.response_class = Google::Apis::ComputeV1::InstanceGroup command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroup'] = instance_group unless instance_group.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of instance group resources contained within # the specified region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RegionInstanceGroupList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RegionInstanceGroupList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_instance_groups(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/instanceGroups', options) command.response_representation = Google::Apis::ComputeV1::RegionInstanceGroupList::Representation command.response_class = Google::Apis::ComputeV1::RegionInstanceGroupList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the instances in the specified instance group and displays # information about the named ports. Depending on the specified options, this # method can list all instances or only the instances that are running. # The orderBy query parameter is not supported. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] instance_group # Name of the regional instance group for which we want to list the # instances. # @param [Google::Apis::ComputeV1::RegionInstanceGroupsListInstancesRequest] region_instance_groups_list_instances_request_object # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RegionInstanceGroupsListInstances] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RegionInstanceGroupsListInstances] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_instance_group_instances(project, region, instance_group, region_instance_groups_list_instances_request_object = nil, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances', options) command.request_representation = Google::Apis::ComputeV1::RegionInstanceGroupsListInstancesRequest::Representation command.request_object = region_instance_groups_list_instances_request_object command.response_representation = Google::Apis::ComputeV1::RegionInstanceGroupsListInstances::Representation command.response_class = Google::Apis::ComputeV1::RegionInstanceGroupsListInstances command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroup'] = instance_group unless instance_group.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the named ports for the specified regional instance group. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] instance_group # The name of the regional instance group where the named ports are updated. # @param [Google::Apis::ComputeV1::RegionInstanceGroupsSetNamedPortsRequest] region_instance_groups_set_named_ports_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_region_instance_group_named_ports(project, region, instance_group, region_instance_groups_set_named_ports_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts', options) command.request_representation = Google::Apis::ComputeV1::RegionInstanceGroupsSetNamedPortsRequest::Representation command.request_object = region_instance_groups_set_named_ports_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceGroup'] = instance_group unless instance_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_region_instance_group_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceGroups/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified instance template. Deleting an instance template is # permanent and cannot be undone. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] instance_template # The name of the instance template to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_instance_template(project, region, instance_template, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceTemplate'] = instance_template unless instance_template.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified instance template. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] instance_template # The name of the instance template. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceTemplate] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceTemplate] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_instance_template(project, region, instance_template, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}', options) command.response_representation = Google::Apis::ComputeV1::InstanceTemplate::Representation command.response_class = Google::Apis::ComputeV1::InstanceTemplate command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instanceTemplate'] = instance_template unless instance_template.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates an instance template in the specified project and region using the # global instance template whose URL is included in the request. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [Google::Apis::ComputeV1::InstanceTemplate] instance_template_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_instance_template(project, region, instance_template_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instanceTemplates', options) command.request_representation = Google::Apis::ComputeV1::InstanceTemplate::Representation command.request_object = instance_template_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of instance templates that are contained within the # specified project and region. # @param [String] project # Project ID for this request. # @param [String] region # The name of the regions for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstanceTemplateList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstanceTemplateList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_instance_templates(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/instanceTemplates', options) command.response_representation = Google::Apis::ComputeV1::InstanceTemplateList::Representation command.response_class = Google::Apis::ComputeV1::InstanceTemplateList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates multiple instances in a given region. Count specifies the number of # instances to create. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [Google::Apis::ComputeV1::BulkInsertInstanceResource] bulk_insert_instance_resource_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def bulk_region_instance_insert(project, region, bulk_insert_instance_resource_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instances/bulkInsert', options) command.request_representation = Google::Apis::ComputeV1::BulkInsertInstanceResource::Representation command.request_object = bulk_insert_instance_resource_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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, seeDeleting # instantSnapshots. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] instant_snapshot # Name of the InstantSnapshot resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_instant_snapshot(project, region, instant_snapshot, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instantSnapshot'] = instant_snapshot unless instant_snapshot.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified InstantSnapshot resource in the specified region. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] instant_snapshot # Name of the InstantSnapshot resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstantSnapshot] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstantSnapshot] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_instant_snapshot(project, region, instant_snapshot, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}', options) command.response_representation = Google::Apis::ComputeV1::InstantSnapshot::Representation command.response_class = Google::Apis::ComputeV1::InstantSnapshot command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['instantSnapshot'] = instant_snapshot unless instant_snapshot.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_instant_snapshot_iam_policy(project, region, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates an instant snapshot in the specified region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [Google::Apis::ComputeV1::InstantSnapshot] instant_snapshot_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_instant_snapshot(project, region, instant_snapshot_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instantSnapshots', options) command.request_representation = Google::Apis::ComputeV1::InstantSnapshot::Representation command.request_object = instant_snapshot_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of InstantSnapshot resources contained within # the specified region. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::InstantSnapshotList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::InstantSnapshotList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_instant_snapshots(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/instantSnapshots', options) command.response_representation = Google::Apis::ComputeV1::InstantSnapshotList::Representation command.response_class = Google::Apis::ComputeV1::InstantSnapshotList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetPolicyRequest] region_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_region_instant_snapshot_iam_policy(project, region, resource, region_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::RegionSetPolicyRequest::Representation command.request_object = region_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on a instantSnapshot in the given region. To learn more # about labels, read the Labeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] region # The region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_region_instant_snapshot_labels(project, region, resource, region_set_labels_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::RegionSetLabelsRequest::Representation command.request_object = region_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_region_instant_snapshot_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Attach a list of network endpoints to the specified network endpoint group. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region where # you want to create the network endpoint group. It should comply with # RFC1035. # @param [String] network_endpoint_group # The name of the network endpoint group where you are attaching network # endpoints to. It should comply with RFC1035. # @param [Google::Apis::ComputeV1::RegionNetworkEndpointGroupsAttachEndpointsRequest] region_network_endpoint_groups_attach_endpoints_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def attach_region_network_endpoint_group_network_endpoints(project, region, network_endpoint_group, region_network_endpoint_groups_attach_endpoints_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints', options) command.request_representation = Google::Apis::ComputeV1::RegionNetworkEndpointGroupsAttachEndpointsRequest::Representation command.request_object = region_network_endpoint_groups_attach_endpoints_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['networkEndpointGroup'] = network_endpoint_group unless network_endpoint_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified network endpoint group. Note that the NEG cannot be # deleted if it is configured as a backend of a backend service. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region where # the network endpoint group is located. It should comply with RFC1035. # @param [String] network_endpoint_group # The name of the network endpoint group to delete. It should comply with # RFC1035. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_network_endpoint_group(project, region, network_endpoint_group, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['networkEndpointGroup'] = network_endpoint_group unless network_endpoint_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Detach the network endpoint from the specified network endpoint group. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region where # the network endpoint group is located. It should comply with # RFC1035. # @param [String] network_endpoint_group # The name of the network endpoint group you are detaching network # endpoints from. It should comply with RFC1035. # @param [Google::Apis::ComputeV1::RegionNetworkEndpointGroupsDetachEndpointsRequest] region_network_endpoint_groups_detach_endpoints_request_object # @param [String] request_id # 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 # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def detach_region_network_endpoint_group_network_endpoints(project, region, network_endpoint_group, region_network_endpoint_groups_detach_endpoints_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints', options) command.request_representation = Google::Apis::ComputeV1::RegionNetworkEndpointGroupsDetachEndpointsRequest::Representation command.request_object = region_network_endpoint_groups_detach_endpoints_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['networkEndpointGroup'] = network_endpoint_group unless network_endpoint_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified network endpoint group. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region where # the network endpoint group is located. It should comply with RFC1035. # @param [String] network_endpoint_group # The name of the network endpoint group. It should comply with RFC1035. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkEndpointGroup] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkEndpointGroup] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_network_endpoint_group(project, region, network_endpoint_group, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}', options) command.response_representation = Google::Apis::ComputeV1::NetworkEndpointGroup::Representation command.response_class = Google::Apis::ComputeV1::NetworkEndpointGroup command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['networkEndpointGroup'] = network_endpoint_group unless network_endpoint_group.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a network endpoint group in the specified project using the # parameters that are included in the request. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region where # you want to create the network endpoint group. It should comply with # RFC1035. # @param [Google::Apis::ComputeV1::NetworkEndpointGroup] network_endpoint_group_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_network_endpoint_group(project, region, network_endpoint_group_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/networkEndpointGroups', options) command.request_representation = Google::Apis::ComputeV1::NetworkEndpointGroup::Representation command.request_object = network_endpoint_group_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of regional network endpoint groups available to the # specified project in the given region. # @param [String] project # Project ID for this request. # @param [String] region # The name of theregion # where the network endpoint group is located. It should comply with RFC1035. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkEndpointGroupList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkEndpointGroupList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_network_endpoint_groups(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/networkEndpointGroups', options) command.response_representation = Google::Apis::ComputeV1::NetworkEndpointGroupList::Representation command.response_class = Google::Apis::ComputeV1::NetworkEndpointGroupList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the network endpoints in the specified network endpoint group. # @param [String] project # Project ID for this request. # @param [String] region # The name of theregion # where the network endpoint group is located. It should comply with RFC1035. # @param [String] network_endpoint_group # The name of the network endpoint group from which you want to generate a # list of included network endpoints. It should comply with RFC1035. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NetworkEndpointGroupsListNetworkEndpoints] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NetworkEndpointGroupsListNetworkEndpoints] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_network_endpoint_group_network_endpoints(project, region, network_endpoint_group, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints', options) command.response_representation = Google::Apis::ComputeV1::NetworkEndpointGroupsListNetworkEndpoints::Representation command.response_class = Google::Apis::ComputeV1::NetworkEndpointGroupsListNetworkEndpoints command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['networkEndpointGroup'] = network_endpoint_group unless network_endpoint_group.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Inserts an association for the specified network firewall policy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Google::Apis::ComputeV1::FirewallPolicyAssociation] firewall_policy_association_object # @param [Boolean] replace_existing_association # Indicates whether or not to replace it if an association already exists. # This is false by default, in which case an error will be returned if an # association already exists. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_region_network_firewall_policy_association(project, region, firewall_policy, firewall_policy_association_object = nil, replace_existing_association: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addAssociation', options) command.request_representation = Google::Apis::ComputeV1::FirewallPolicyAssociation::Representation command.request_object = firewall_policy_association_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['replaceExistingAssociation'] = replace_existing_association unless replace_existing_association.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Inserts a rule into a network firewall policy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Google::Apis::ComputeV1::FirewallPolicyRule] firewall_policy_rule_object # @param [Fixnum] max_priority # When rule.priority is not specified, auto choose a unused priority # betweenminPriority and maxPriority>. # This field is exclusive with rule.priority. # @param [Fixnum] min_priority # When rule.priority is not specified, auto choose a unused priority # betweenminPriority and maxPriority>. # This field is exclusive with rule.priority. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_region_network_firewall_policy_rule(project, region, firewall_policy, firewall_policy_rule_object = nil, max_priority: nil, min_priority: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addRule', options) command.request_representation = Google::Apis::ComputeV1::FirewallPolicyRule::Representation command.request_object = firewall_policy_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['maxPriority'] = max_priority unless max_priority.nil? command.query['minPriority'] = min_priority unless min_priority.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Copies rules to the specified network firewall policy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [String] request_id # 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). # @param [String] source_firewall_policy # The firewall policy from which to copy rules. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def clone_region_network_firewall_policy_rules(project, region, firewall_policy, request_id: nil, source_firewall_policy: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/cloneRules', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['sourceFirewallPolicy'] = source_firewall_policy unless source_firewall_policy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified network firewall policy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] firewall_policy # Name of the firewall policy to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_network_firewall_policy(project, region, firewall_policy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified network firewall policy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] firewall_policy # Name of the firewall policy to get. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FirewallPolicy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FirewallPolicy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_network_firewall_policy(project, region, firewall_policy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}', options) command.response_representation = Google::Apis::ComputeV1::FirewallPolicy::Representation command.response_class = Google::Apis::ComputeV1::FirewallPolicy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets an association with the specified name. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] firewall_policy # Name of the firewall policy to which the queried association belongs. # @param [String] name # The name of the association to get from the firewall policy. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FirewallPolicyAssociation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FirewallPolicyAssociation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_network_firewall_policy_association(project, region, firewall_policy, name: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getAssociation', options) command.response_representation = Google::Apis::ComputeV1::FirewallPolicyAssociation::Representation command.response_class = Google::Apis::ComputeV1::FirewallPolicyAssociation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['name'] = name unless name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the effective firewalls on a given network. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] network # Network reference # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_network_firewall_policy_effective_firewalls(project, region, network, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/firewallPolicies/getEffectiveFirewalls', options) command.response_representation = Google::Apis::ComputeV1::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse::Representation command.response_class = Google::Apis::ComputeV1::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['network'] = network unless network.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_network_firewall_policy_iam_policy(project, region, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/firewallPolicies/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets a rule of the specified priority. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] firewall_policy # Name of the firewall policy to which the queried rule belongs. # @param [Fixnum] priority # The priority of the rule to get from the firewall policy. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FirewallPolicyRule] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FirewallPolicyRule] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_network_firewall_policy_rule(project, region, firewall_policy, priority: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getRule', options) command.response_representation = Google::Apis::ComputeV1::FirewallPolicyRule::Representation command.response_class = Google::Apis::ComputeV1::FirewallPolicyRule command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a new network firewall policy in the specified project and region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::FirewallPolicy] firewall_policy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_network_firewall_policy(project, region, firewall_policy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/firewallPolicies', options) command.request_representation = Google::Apis::ComputeV1::FirewallPolicy::Representation command.request_object = firewall_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists all the network firewall policies that have been configured # for the specified project in the given region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::FirewallPolicyList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::FirewallPolicyList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_network_firewall_policies(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/firewallPolicies', options) command.response_representation = Google::Apis::ComputeV1::FirewallPolicyList::Representation command.response_class = Google::Apis::ComputeV1::FirewallPolicyList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified network firewall policy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Google::Apis::ComputeV1::FirewallPolicy] firewall_policy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_region_network_firewall_policy(project, region, firewall_policy, firewall_policy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}', options) command.request_representation = Google::Apis::ComputeV1::FirewallPolicy::Representation command.request_object = firewall_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches a rule of the specified priority. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Google::Apis::ComputeV1::FirewallPolicyRule] firewall_policy_rule_object # @param [Fixnum] priority # The priority of the rule to patch. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_region_network_firewall_policy_rule(project, region, firewall_policy, firewall_policy_rule_object = nil, priority: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchRule', options) command.request_representation = Google::Apis::ComputeV1::FirewallPolicyRule::Representation command.request_object = firewall_policy_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Removes an association for the specified network firewall policy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [String] name # Name for the association that will be removed. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_region_network_firewall_policy_association(project, region, firewall_policy, name: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['name'] = name unless name.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes a rule of the specified priority. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] firewall_policy # Name of the firewall policy to update. # @param [Fixnum] priority # The priority of the rule to remove from the firewall policy. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_region_network_firewall_policy_rule(project, region, firewall_policy, priority: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['firewallPolicy'] = firewall_policy unless firewall_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetPolicyRequest] region_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_region_network_firewall_policy_iam_policy(project, region, resource, region_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::RegionSetPolicyRequest::Representation command.request_object = region_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_region_network_firewall_policy_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified NotificationEndpoint in the given region # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] notification_endpoint # Name of the NotificationEndpoint resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_notification_endpoint(project, region, notification_endpoint, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['notificationEndpoint'] = notification_endpoint unless notification_endpoint.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified NotificationEndpoint resource in the given region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] notification_endpoint # Name of the NotificationEndpoint resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NotificationEndpoint] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NotificationEndpoint] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_notification_endpoint(project, region, notification_endpoint, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}', options) command.response_representation = Google::Apis::ComputeV1::NotificationEndpoint::Representation command.response_class = Google::Apis::ComputeV1::NotificationEndpoint command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['notificationEndpoint'] = notification_endpoint unless notification_endpoint.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Create a NotificationEndpoint in the specified project in the given region # using the parameters that are included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::NotificationEndpoint] notification_endpoint_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_notification_endpoint(project, region, notification_endpoint_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/notificationEndpoints', options) command.request_representation = Google::Apis::ComputeV1::NotificationEndpoint::Representation command.request_object = notification_endpoint_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the NotificationEndpoints for a project in the given region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NotificationEndpointList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NotificationEndpointList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_notification_endpoints(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/notificationEndpoints', options) command.response_representation = Google::Apis::ComputeV1::NotificationEndpointList::Representation command.response_class = Google::Apis::ComputeV1::NotificationEndpointList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_region_notification_endpoint_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/notificationEndpoints/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified region-specific Operations resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] operation # Name of the Operations resource to delete, or its unique numeric # identifier. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [NilClass] No result returned for this method # @yieldparam err [StandardError] error object if request failed # # @return [void] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_operation(project, region, operation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/operations/{operation}', options) command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['operation'] = operation unless operation.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the specified region-specific Operations resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] operation # Name of the Operations resource to return, or its unique numeric # identifier. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_operation(project, region, operation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/operations/{operation}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['operation'] = operation unless operation.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of Operation resources contained within # the specified region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::OperationList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::OperationList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_operations(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/operations', options) command.response_representation = Google::Apis::ComputeV1::OperationList::Representation command.response_class = Google::Apis::ComputeV1::OperationList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Waits for the specified Operation resource to return as `DONE` # or for the request to approach the 2 minute deadline, and retrieves the # specified Operation resource. This method differs from the # `GET` method in that it waits for no more than the default # deadline (2 minutes) and then returns the current state of the operation, # which might be `DONE` or still in progress. # This method is called on a best-effort basis. Specifically: # # # - In uncommon cases, when the server is overloaded, the request might # return before the default deadline is reached, or might return after zero # seconds. # - If the default deadline is reached, there is no guarantee that the # operation is actually done when the method returns. Be prepared to retry # if the operation is not `DONE`. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] operation # Name of the Operations resource to return, or its unique numeric # identifier. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def wait_region_operation(project, region, operation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/operations/{operation}/wait', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['operation'] = operation unless operation.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Inserts a rule into a security policy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] security_policy # Name of the security policy to update. # @param [Google::Apis::ComputeV1::SecurityPolicyRule] security_policy_rule_object # @param [Boolean] validate_only # If true, the request will not be committed. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_region_security_policy_rule(project, region, security_policy, security_policy_rule_object = nil, validate_only: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicyRule::Representation command.request_object = security_policy_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['validateOnly'] = validate_only unless validate_only.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified policy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] security_policy # Name of the security policy to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_security_policy(project, region, security_policy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/securityPolicies/{securityPolicy}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # List all of the ordered rules present in a single specified policy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] security_policy # Name of the security policy to get. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SecurityPolicy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SecurityPolicy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_security_policy(project, region, security_policy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/securityPolicies/{securityPolicy}', options) command.response_representation = Google::Apis::ComputeV1::SecurityPolicy::Representation command.response_class = Google::Apis::ComputeV1::SecurityPolicy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets a rule at the specified priority. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] security_policy # Name of the security policy to which the queried rule belongs. # @param [Fixnum] priority # The priority of the rule to get from the security policy. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SecurityPolicyRule] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SecurityPolicyRule] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_security_policy_rule(project, region, security_policy, priority: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule', options) command.response_representation = Google::Apis::ComputeV1::SecurityPolicyRule::Representation command.response_class = Google::Apis::ComputeV1::SecurityPolicyRule command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a new policy in the specified project using the data included in # the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::SecurityPolicy] security_policy_object # @param [String] request_id # 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). # @param [Boolean] validate_only # If true, the request will not be committed. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_security_policy(project, region, security_policy_object = nil, request_id: nil, validate_only: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/securityPolicies', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicy::Representation command.request_object = security_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['validateOnly'] = validate_only unless validate_only.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # List all the policies that have been configured for the specified project # and region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SecurityPolicyList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SecurityPolicyList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_security_policies(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/securityPolicies', options) command.response_representation = Google::Apis::ComputeV1::SecurityPolicyList::Representation command.response_class = Google::Apis::ComputeV1::SecurityPolicyList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] security_policy # Name of the security policy to update. # @param [Google::Apis::ComputeV1::SecurityPolicy] security_policy_object # @param [String] request_id # 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). # @param [String] update_mask # Indicates fields to be cleared as part of this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_region_security_policy(project, region, security_policy, security_policy_object = nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/securityPolicies/{securityPolicy}', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicy::Representation command.request_object = security_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches a rule at the specified priority. To clear fields in the rule, # leave the fields empty and specify them in the updateMask. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] security_policy # Name of the security policy to update. # @param [Google::Apis::ComputeV1::SecurityPolicyRule] security_policy_rule_object # @param [Fixnum] priority # The priority of the rule to patch. # @param [String] update_mask # Indicates fields to be cleared as part of this request. # @param [Boolean] validate_only # If true, the request will not be committed. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_region_security_policy_rule(project, region, security_policy, security_policy_rule_object = nil, priority: nil, update_mask: nil, validate_only: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicyRule::Representation command.request_object = security_policy_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['validateOnly'] = validate_only unless validate_only.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes a rule at the specified priority. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] security_policy # Name of the security policy to update. # @param [Fixnum] priority # The priority of the rule to remove from the security policy. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_region_security_policy_rule(project, region, security_policy, priority: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on a security policy. To learn more about labels, # read the Labeling Resources # documentation. # @param [String] project # Project ID for this request. # @param [String] region # The region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_region_security_policy_labels(project, region, resource, region_set_labels_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::RegionSetLabelsRequest::Representation command.request_object = region_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified SslCertificate resource in the region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] ssl_certificate # Name of the SslCertificate resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_ssl_certificate(project, region, ssl_certificate, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/sslCertificates/{sslCertificate}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['sslCertificate'] = ssl_certificate unless ssl_certificate.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified SslCertificate resource in the specified region. Get # a list of available SSL certificates by making a list() # request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] ssl_certificate # Name of the SslCertificate resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SslCertificate] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SslCertificate] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_ssl_certificate(project, region, ssl_certificate, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/sslCertificates/{sslCertificate}', options) command.response_representation = Google::Apis::ComputeV1::SslCertificate::Representation command.response_class = Google::Apis::ComputeV1::SslCertificate command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['sslCertificate'] = ssl_certificate unless ssl_certificate.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a SslCertificate resource in the specified project and region using # the data included in the request # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::SslCertificate] ssl_certificate_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_ssl_certificate(project, region, ssl_certificate_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/sslCertificates', options) command.request_representation = Google::Apis::ComputeV1::SslCertificate::Representation command.request_object = ssl_certificate_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of SslCertificate resources available to the specified # project in the specified region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SslCertificateList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SslCertificateList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_ssl_certificates(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/sslCertificates', options) command.response_representation = Google::Apis::ComputeV1::SslCertificateList::Representation command.response_class = Google::Apis::ComputeV1::SslCertificateList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified SSL policy. The SSL policy resource can be deleted # only if it is not in use by any TargetHttpsProxy or TargetSslProxy # resources. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] ssl_policy # Name of the SSL policy to delete. The name must be 1-63 characters long, # and comply with RFC1035. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_ssl_policy(project, region, ssl_policy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/sslPolicies/{sslPolicy}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['sslPolicy'] = ssl_policy unless ssl_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists all of the ordered rules present in a single specified policy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] ssl_policy # Name of the SSL policy to update. The name must be 1-63 characters long, # and comply with RFC1035. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SslPolicy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SslPolicy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_ssl_policy(project, region, ssl_policy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/sslPolicies/{sslPolicy}', options) command.response_representation = Google::Apis::ComputeV1::SslPolicy::Representation command.response_class = Google::Apis::ComputeV1::SslPolicy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['sslPolicy'] = ssl_policy unless ssl_policy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a new policy in the specified project and region using the data # included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::SslPolicy] ssl_policy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_ssl_policy(project, region, ssl_policy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/sslPolicies', options) command.request_representation = Google::Apis::ComputeV1::SslPolicy::Representation command.request_object = ssl_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists all the SSL policies that have been configured for the specified # project and region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SslPoliciesList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SslPoliciesList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_ssl_policies(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/sslPolicies', options) command.response_representation = Google::Apis::ComputeV1::SslPoliciesList::Representation command.response_class = Google::Apis::ComputeV1::SslPoliciesList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists all features that can be specified in the SSL policy when using # custom profile. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SslPoliciesListAvailableFeaturesResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SslPoliciesListAvailableFeaturesResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_ssl_policy_available_features(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures', options) command.response_representation = Google::Apis::ComputeV1::SslPoliciesListAvailableFeaturesResponse::Representation command.response_class = Google::Apis::ComputeV1::SslPoliciesListAvailableFeaturesResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified SSL policy with the data included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] ssl_policy # Name of the SSL policy to update. The name must be 1-63 characters long, # and comply with RFC1035. # @param [Google::Apis::ComputeV1::SslPolicy] ssl_policy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_region_ssl_policy(project, region, ssl_policy, ssl_policy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/sslPolicies/{sslPolicy}', options) command.request_representation = Google::Apis::ComputeV1::SslPolicy::Representation command.request_object = ssl_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['sslPolicy'] = ssl_policy unless ssl_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified TargetHttpProxy resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] target_http_proxy # Name of the TargetHttpProxy resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_target_http_proxy(project, region, target_http_proxy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetHttpProxy'] = target_http_proxy unless target_http_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified TargetHttpProxy resource in the specified region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] target_http_proxy # Name of the TargetHttpProxy resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetHttpProxy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetHttpProxy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_target_http_proxy(project, region, target_http_proxy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}', options) command.response_representation = Google::Apis::ComputeV1::TargetHttpProxy::Representation command.response_class = Google::Apis::ComputeV1::TargetHttpProxy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetHttpProxy'] = target_http_proxy unless target_http_proxy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a TargetHttpProxy resource in the specified project and region # using the data included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::TargetHttpProxy] target_http_proxy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_target_http_proxy(project, region, target_http_proxy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/targetHttpProxies', options) command.request_representation = Google::Apis::ComputeV1::TargetHttpProxy::Representation command.request_object = target_http_proxy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of TargetHttpProxy resources available # to the specified project in the specified region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetHttpProxyList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetHttpProxyList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_target_http_proxies(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/targetHttpProxies', options) command.response_representation = Google::Apis::ComputeV1::TargetHttpProxyList::Representation command.response_class = Google::Apis::ComputeV1::TargetHttpProxyList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes the URL map for TargetHttpProxy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] target_http_proxy # Name of the TargetHttpProxy to set a URL map for. # @param [Google::Apis::ComputeV1::UrlMapReference] url_map_reference_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_region_target_http_proxy_url_map(project, region, target_http_proxy, url_map_reference_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap', options) command.request_representation = Google::Apis::ComputeV1::UrlMapReference::Representation command.request_object = url_map_reference_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetHttpProxy'] = target_http_proxy unless target_http_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified TargetHttpsProxy resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] target_https_proxy # Name of the TargetHttpsProxy resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_target_https_proxy(project, region, target_https_proxy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetHttpsProxy'] = target_https_proxy unless target_https_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified TargetHttpsProxy resource in the specified region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] target_https_proxy # Name of the TargetHttpsProxy resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetHttpsProxy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetHttpsProxy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_target_https_proxy(project, region, target_https_proxy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}', options) command.response_representation = Google::Apis::ComputeV1::TargetHttpsProxy::Representation command.response_class = Google::Apis::ComputeV1::TargetHttpsProxy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetHttpsProxy'] = target_https_proxy unless target_https_proxy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a TargetHttpsProxy resource in the specified project and region # using the data included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::TargetHttpsProxy] target_https_proxy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_target_https_proxy(project, region, target_https_proxy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/targetHttpsProxies', options) command.request_representation = Google::Apis::ComputeV1::TargetHttpsProxy::Representation command.request_object = target_https_proxy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of TargetHttpsProxy resources available # to the specified project in the specified region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetHttpsProxyList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetHttpsProxyList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_target_https_proxies(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/targetHttpsProxies', options) command.response_representation = Google::Apis::ComputeV1::TargetHttpsProxyList::Representation command.response_class = Google::Apis::ComputeV1::TargetHttpsProxyList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified regional TargetHttpsProxy resource with the data # included in the request. This method supports PATCH # semantics and usesJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] target_https_proxy # Name of the TargetHttpsProxy resource to patch. # @param [Google::Apis::ComputeV1::TargetHttpsProxy] target_https_proxy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_region_target_https_proxy(project, region, target_https_proxy, target_https_proxy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}', options) command.request_representation = Google::Apis::ComputeV1::TargetHttpsProxy::Representation command.request_object = target_https_proxy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetHttpsProxy'] = target_https_proxy unless target_https_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Replaces SslCertificates for TargetHttpsProxy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] target_https_proxy # Name of the TargetHttpsProxy resource to set an # SslCertificates resource for. # @param [Google::Apis::ComputeV1::RegionTargetHttpsProxiesSetSslCertificatesRequest] region_target_https_proxies_set_ssl_certificates_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_region_target_https_proxy_ssl_certificates(project, region, target_https_proxy, region_target_https_proxies_set_ssl_certificates_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates', options) command.request_representation = Google::Apis::ComputeV1::RegionTargetHttpsProxiesSetSslCertificatesRequest::Representation command.request_object = region_target_https_proxies_set_ssl_certificates_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetHttpsProxy'] = target_https_proxy unless target_https_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes the URL map for TargetHttpsProxy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] target_https_proxy # Name of the TargetHttpsProxy to set a URL map for. # @param [Google::Apis::ComputeV1::UrlMapReference] url_map_reference_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_region_target_https_proxy_url_map(project, region, target_https_proxy, url_map_reference_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap', options) command.request_representation = Google::Apis::ComputeV1::UrlMapReference::Representation command.request_object = url_map_reference_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetHttpsProxy'] = target_https_proxy unless target_https_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified TargetTcpProxy resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] target_tcp_proxy # Name of the TargetTcpProxy resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_target_tcp_proxy(project, region, target_tcp_proxy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetTcpProxy'] = target_tcp_proxy unless target_tcp_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified TargetTcpProxy resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] target_tcp_proxy # Name of the TargetTcpProxy resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetTcpProxy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetTcpProxy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_target_tcp_proxy(project, region, target_tcp_proxy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}', options) command.response_representation = Google::Apis::ComputeV1::TargetTcpProxy::Representation command.response_class = Google::Apis::ComputeV1::TargetTcpProxy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetTcpProxy'] = target_tcp_proxy unless target_tcp_proxy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a TargetTcpProxy resource in the specified project and region using # the data included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::TargetTcpProxy] target_tcp_proxy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_target_tcp_proxy(project, region, target_tcp_proxy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/targetTcpProxies', options) command.request_representation = Google::Apis::ComputeV1::TargetTcpProxy::Representation command.request_object = target_tcp_proxy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of TargetTcpProxy resources # available to the specified project in a given region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetTcpProxyList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetTcpProxyList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_target_tcp_proxies(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/targetTcpProxies', options) command.response_representation = Google::Apis::ComputeV1::TargetTcpProxyList::Representation command.response_class = Google::Apis::ComputeV1::TargetTcpProxyList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified UrlMap resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] url_map # Name of the UrlMap resource to delete. # @param [String] request_id # begin_interface: MixerMutationRequestBuilder # Request ID to support idempotency. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_region_url_map(project, region, url_map, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/urlMaps/{urlMap}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['urlMap'] = url_map unless url_map.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified UrlMap resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] url_map # Name of the UrlMap resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::UrlMap] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::UrlMap] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region_url_map(project, region, url_map, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/urlMaps/{urlMap}', options) command.response_representation = Google::Apis::ComputeV1::UrlMap::Representation command.response_class = Google::Apis::ComputeV1::UrlMap command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['urlMap'] = url_map unless url_map.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a UrlMap resource in the specified project using # the data included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::UrlMap] url_map_object # @param [String] request_id # begin_interface: MixerMutationRequestBuilder # Request ID to support idempotency. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_region_url_map(project, region, url_map_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/urlMaps', options) command.request_representation = Google::Apis::ComputeV1::UrlMap::Representation command.request_object = url_map_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of UrlMap resources available to the specified # project in the specified region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::UrlMapList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::UrlMapList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_url_maps(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/urlMaps', options) command.response_representation = Google::Apis::ComputeV1::UrlMapList::Representation command.response_class = Google::Apis::ComputeV1::UrlMapList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified UrlMap resource with the data included in the # request. This method supportsPATCH # semantics and usesJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] url_map # Name of the UrlMap resource to patch. # @param [Google::Apis::ComputeV1::UrlMap] url_map_object # @param [String] request_id # begin_interface: MixerMutationRequestBuilder # Request ID to support idempotency. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_region_url_map(project, region, url_map, url_map_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/urlMaps/{urlMap}', options) command.request_representation = Google::Apis::ComputeV1::UrlMap::Representation command.request_object = url_map_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['urlMap'] = url_map unless url_map.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified UrlMap resource with the data included in the # request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] url_map # Name of the UrlMap resource to update. # @param [Google::Apis::ComputeV1::UrlMap] url_map_object # @param [String] request_id # begin_interface: MixerMutationRequestBuilder # Request ID to support idempotency. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_region_url_map(project, region, url_map, url_map_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:put, 'projects/{project}/regions/{region}/urlMaps/{urlMap}', options) command.request_representation = Google::Apis::ComputeV1::UrlMap::Representation command.request_object = url_map_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['urlMap'] = url_map unless url_map.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Runs static validation for the UrlMap. In particular, the tests of the # provided UrlMap will be run. Calling this method does NOT create the # UrlMap. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] url_map # Name of the UrlMap resource to be validated as. # @param [Google::Apis::ComputeV1::RegionUrlMapsValidateRequest] region_url_maps_validate_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ValidateUrlMapsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ValidateUrlMapsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def validate_region_url_map(project, region, url_map, region_url_maps_validate_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/urlMaps/{urlMap}/validate', options) command.request_representation = Google::Apis::ComputeV1::RegionUrlMapsValidateRequest::Representation command.request_object = region_url_maps_validate_request_object command.response_representation = Google::Apis::ComputeV1::ValidateUrlMapsResponse::Representation command.response_class = Google::Apis::ComputeV1::ValidateUrlMapsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['urlMap'] = url_map unless url_map.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of Zone resources under the specific region available to # the specified project. # @param [String] project # Project ID for this request. # @param [String] region # Region for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ZoneList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ZoneList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_region_zones(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/zones', options) command.response_representation = Google::Apis::ComputeV1::ZoneList::Representation command.response_class = Google::Apis::ComputeV1::ZoneList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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. # This method fails if the quota information is unavailable for the region # and if the organization policy constraint # compute.requireBasicQuotaInResponse is enforced. This # constraint, when enforced, disables the fail-open behaviour when quota # information (the `items.quotas` field) is unavailable for the region. # It is recommended to use the default setting # for the constraint unless your application requires the fail-closed # behaviour for this method. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Region] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Region] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_region(project, region, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}', options) command.response_representation = Google::Apis::ComputeV1::Region::Representation command.response_class = Google::Apis::ComputeV1::Region command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of region resources available to the specified project. # 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 `items.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. # This method fails if the quota information is unavailable for the region # and if the organization policy constraint # compute.requireBasicQuotaInResponse is enforced. This # constraint, when enforced, disables the fail-open behaviour when quota # information (the `items.quotas` field) is unavailable for the region. # It is recommended to use the default setting # for the constraint unless your application requires the fail-closed # behaviour for this method. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RegionList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RegionList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_regions(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions', options) command.response_representation = Google::Apis::ComputeV1::RegionList::Representation command.response_class = Google::Apis::ComputeV1::RegionList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves information about the specified reservation block. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. Zone name should conform to RFC1035. # @param [String] reservation # The name of the reservation. # Name should conform to RFC1035 or be a resource ID. # @param [String] reservation_block # The name of the reservation block. # Name should conform to RFC1035 or be a resource ID. # @param [String] view # View of the Block. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ReservationBlocksGetResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ReservationBlocksGetResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_reservation_block(project, zone, reservation, reservation_block, view: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}', options) command.response_representation = Google::Apis::ComputeV1::ReservationBlocksGetResponse::Representation command.response_class = Google::Apis::ComputeV1::ReservationBlocksGetResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['reservation'] = reservation unless reservation.nil? command.params['reservationBlock'] = reservation_block unless reservation_block.nil? command.query['view'] = view unless view.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] parent_resource # Name or id of parent resource of the resource for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_reservation_block_iam_policy(project, zone, parent_resource, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['parentResource'] = parent_resource unless parent_resource.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of reservation blocks under a single reservation. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. Zone name should conform to RFC1035. # @param [String] reservation # The name of the reservation. # Name should conform to RFC1035 or be a resource ID. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ReservationBlocksListResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ReservationBlocksListResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_reservation_blocks(project, zone, reservation, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks', options) command.response_representation = Google::Apis::ComputeV1::ReservationBlocksListResponse::Representation command.response_class = Google::Apis::ComputeV1::ReservationBlocksListResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['reservation'] = reservation unless reservation.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Allows customers to perform maintenance on a reservation block # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. Zone name should conform to RFC1035. # @param [String] reservation # The name of the reservation. # Name should conform to RFC1035 or be a resource ID. # @param [String] reservation_block # The name of the reservation block. # Name should conform to RFC1035 or be a resource ID. # @param [Google::Apis::ComputeV1::ReservationsBlocksPerformMaintenanceRequest] reservations_blocks_perform_maintenance_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def perform_reservation_block_maintenance(project, zone, reservation, reservation_block, reservations_blocks_perform_maintenance_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}/performMaintenance', options) command.request_representation = Google::Apis::ComputeV1::ReservationsBlocksPerformMaintenanceRequest::Representation command.request_object = reservations_blocks_perform_maintenance_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['reservation'] = reservation unless reservation.nil? command.params['reservationBlock'] = reservation_block unless reservation_block.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] parent_resource # Name or id of parent resource of the resource for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::ZoneSetNestedPolicyRequest] zone_set_nested_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_reservation_block_iam_policy(project, zone, parent_resource, resource, zone_set_nested_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::ZoneSetNestedPolicyRequest::Representation command.request_object = zone_set_nested_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['parentResource'] = parent_resource unless parent_resource.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] parent_resource # Name or id of parent resource of the resource for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_reservation_block_iam_permissions(project, zone, parent_resource, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/reservations/{parentResource}/reservationBlocks/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['parentResource'] = parent_resource unless parent_resource.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves information about the specified reservation slot. # @param [String] project # The project ID for this request. # @param [String] zone # The name of the zone for this request, formatted as RFC1035. # @param [String] parent_name # The name of the parent reservation and parent block, formatted as # reservations/`reservation_name`/reservationBlocks/`reservation_block_name`/ # reservationSubBlocks/`reservation_sub_block_name` # @param [String] reservation_slot # The name of the reservation slot, formatted as RFC1035 or a resource ID # number. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ReservationSlotsGetResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ReservationSlotsGetResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_reservation_slot(project, zone, parent_name, reservation_slot, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}', options) command.response_representation = Google::Apis::ComputeV1::ReservationSlotsGetResponse::Representation command.response_class = Google::Apis::ComputeV1::ReservationSlotsGetResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['parentName'] = parent_name unless parent_name.nil? command.params['reservationSlot'] = reservation_slot unless reservation_slot.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of reservation slots under a single reservation. # @param [String] project # The project ID for this request. # @param [String] zone # The name of the zone for this request, formatted as RFC1035. # @param [String] parent_name # The name of the parent reservation and parent block, formatted as # reservations/`reservation_name`/reservationBlocks/`reservation_block_name`/ # reservationSubBlocks/`reservation_sub_block_name` # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ReservationSlotsListResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ReservationSlotsListResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_reservation_slots(project, zone, parent_name, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/{+parentName}/reservationSlots', options) command.response_representation = Google::Apis::ComputeV1::ReservationSlotsListResponse::Representation command.response_class = Google::Apis::ComputeV1::ReservationSlotsListResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['parentName'] = parent_name unless parent_name.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Update a reservation slot in the specified sub-block. # @param [String] project # The project ID for this request. # @param [String] zone # The name of the zone for this request, formatted as RFC1035. # @param [String] parent_name # The name of the sub-block resource. # @param [String] reservation_slot # The name of the slot resource. # @param [Google::Apis::ComputeV1::ReservationSlot] reservation_slot_object # @param [String] update_mask # The fields to be updated as part of this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_reservation_slot(project, zone, parent_name, reservation_slot, reservation_slot_object = nil, update_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/{+parentName}/reservationSlots/{reservationSlot}', options) command.request_representation = Google::Apis::ComputeV1::ReservationSlot::Representation command.request_object = reservation_slot_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['parentName'] = parent_name unless parent_name.nil? command.params['reservationSlot'] = reservation_slot unless reservation_slot.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves information about the specified reservation subBlock. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. Zone name should conform to RFC1035. # @param [String] parent_name # The name of the parent reservation and parent block. In the format of # reservations/`reservation_name`/reservationBlocks/`reservation_block_name` # @param [String] reservation_sub_block # The name of the reservation subBlock. # Name should conform to RFC1035 or be a resource ID. # @param [String] view # View of the subBlock. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ReservationSubBlocksGetResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ReservationSubBlocksGetResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_reservation_sub_block(project, zone, parent_name, reservation_sub_block, view: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}', options) command.response_representation = Google::Apis::ComputeV1::ReservationSubBlocksGetResponse::Representation command.response_class = Google::Apis::ComputeV1::ReservationSubBlocksGetResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['parentName'] = parent_name unless parent_name.nil? command.params['reservationSubBlock'] = reservation_sub_block unless reservation_sub_block.nil? command.query['view'] = view unless view.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] parent_resource # Name or id of parent resource of the resource for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_reservation_sub_block_iam_policy(project, zone, parent_resource, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/{parentResource}/reservationSubBlocks/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['parentResource'] = parent_resource unless parent_resource.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of reservation subBlocks under a single reservation. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. Zone name should conform to RFC1035. # @param [String] parent_name # The name of the parent reservation and parent block. In the format of # reservations/`reservation_name`/reservationBlocks/`reservation_block_name` # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ReservationSubBlocksListResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ReservationSubBlocksListResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_reservation_sub_blocks(project, zone, parent_name, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks', options) command.response_representation = Google::Apis::ComputeV1::ReservationSubBlocksListResponse::Representation command.response_class = Google::Apis::ComputeV1::ReservationSubBlocksListResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['parentName'] = parent_name unless parent_name.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Allows customers to perform maintenance on a reservation subBlock # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. Zone name should conform to RFC1035. # @param [String] parent_name # The name of the parent reservation and parent block. In the format of # reservations/`reservation_name`/reservationBlocks/`reservation_block_name` # @param [String] reservation_sub_block # The name of the reservation subBlock. # Name should conform to RFC1035 or be a resource ID. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def perform_reservation_sub_block_maintenance(project, zone, parent_name, reservation_sub_block, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/performMaintenance', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['parentName'] = parent_name unless parent_name.nil? command.params['reservationSubBlock'] = reservation_sub_block unless reservation_sub_block.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Allows customers to report a faulty subBlock. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. Zone name should conform to RFC1035. # @param [String] parent_name # The name of the parent reservation and parent block. In the format of # reservations/`reservation_name`/reservationBlocks/`reservation_block_name` # @param [String] reservation_sub_block # The name of the reservation subBlock. # Name should conform to RFC1035 or be a resource ID. # @param [Google::Apis::ComputeV1::ReservationSubBlocksReportFaultyRequest] reservation_sub_blocks_report_faulty_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def report_reservation_sub_block_faulty(project, zone, parent_name, reservation_sub_block, reservation_sub_blocks_report_faulty_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/{parentName}/reservationSubBlocks/{reservationSubBlock}/reportFaulty', options) command.request_representation = Google::Apis::ComputeV1::ReservationSubBlocksReportFaultyRequest::Representation command.request_object = reservation_sub_blocks_report_faulty_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['parentName'] = parent_name unless parent_name.nil? command.params['reservationSubBlock'] = reservation_sub_block unless reservation_sub_block.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] parent_resource # Name or id of parent resource of the resource for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::ZoneSetNestedPolicyRequest] zone_set_nested_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_reservation_sub_block_iam_policy(project, zone, parent_resource, resource, zone_set_nested_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/{parentResource}/reservationSubBlocks/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::ZoneSetNestedPolicyRequest::Representation command.request_object = zone_set_nested_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['parentResource'] = parent_resource unless parent_resource.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] parent_resource # Name or id of parent resource of the resource for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_reservation_sub_block_iam_permissions(project, zone, parent_resource, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/{parentResource}/reservationSubBlocks/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['parentResource'] = parent_resource unless parent_resource.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of reservations. # To prevent failure, it is recommended that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ReservationAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ReservationAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_reservation_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/reservations', options) command.response_representation = Google::Apis::ComputeV1::ReservationAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::ReservationAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified reservation. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. # @param [String] reservation # Name of the reservation to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_reservation(project, zone, reservation, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/zones/{zone}/reservations/{reservation}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['reservation'] = reservation unless reservation.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves information about the specified reservation. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. # @param [String] reservation # Name of the reservation to retrieve. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Reservation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Reservation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_reservation(project, zone, reservation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/reservations/{reservation}', options) command.response_representation = Google::Apis::ComputeV1::Reservation::Representation command.response_class = Google::Apis::ComputeV1::Reservation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['reservation'] = reservation unless reservation.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_reservation_iam_policy(project, zone, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/reservations/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a new reservation. For more information, readReserving zonal # resources. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. # @param [Google::Apis::ComputeV1::Reservation] reservation_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_reservation(project, zone, reservation_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/reservations', options) command.request_representation = Google::Apis::ComputeV1::Reservation::Representation command.request_object = reservation_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # A list of all the reservations that have been configured for the # specified project in specified zone. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ReservationList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ReservationList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_reservations(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/reservations', options) command.response_representation = Google::Apis::ComputeV1::ReservationList::Representation command.response_class = Google::Apis::ComputeV1::ReservationList command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Perform maintenance on an extended reservation # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. Zone name should conform to RFC1035. # @param [String] reservation # The name of the reservation. # Name should conform to RFC1035 or be a resource ID. # @param [Google::Apis::ComputeV1::ReservationsPerformMaintenanceRequest] reservations_perform_maintenance_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def perform_reservation_maintenance(project, zone, reservation, reservations_perform_maintenance_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/reservations/{reservation}/performMaintenance', options) command.request_representation = Google::Apis::ComputeV1::ReservationsPerformMaintenanceRequest::Representation command.request_object = reservations_perform_maintenance_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['reservation'] = reservation unless reservation.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Resizes the reservation (applicable to standalone reservations only). For # more information, readModifying # reservations. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. # @param [String] reservation # Name of the reservation to update. # @param [Google::Apis::ComputeV1::ReservationsResizeRequest] reservations_resize_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def resize_reservation(project, zone, reservation, reservations_resize_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/reservations/{reservation}/resize', options) command.request_representation = Google::Apis::ComputeV1::ReservationsResizeRequest::Representation command.request_object = reservations_resize_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['reservation'] = reservation unless reservation.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::ZoneSetPolicyRequest] zone_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_reservation_iam_policy(project, zone, resource, zone_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/reservations/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::ZoneSetPolicyRequest::Representation command.request_object = zone_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_reservation_iam_permissions(project, zone, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/reservations/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Update share settings of the reservation. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. # @param [String] reservation # Name of the reservation to update. # @param [Google::Apis::ComputeV1::Reservation] reservation_object # @param [Array, String] paths # @param [String] request_id # 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). # @param [String] update_mask # Update_mask indicates fields to be updated as part of this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_reservation(project, zone, reservation, reservation_object = nil, paths: nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/zones/{zone}/reservations/{reservation}', options) command.request_representation = Google::Apis::ComputeV1::Reservation::Representation command.request_object = reservation_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['reservation'] = reservation unless reservation.nil? command.query['paths'] = paths unless paths.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of resource policies. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ResourcePolicyAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ResourcePolicyAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_resource_policy_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/resourcePolicies', options) command.response_representation = Google::Apis::ComputeV1::ResourcePolicyAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::ResourcePolicyAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified resource policy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] resource_policy # Name of the resource policy to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_resource_policy(project, region, resource_policy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resourcePolicy'] = resource_policy unless resource_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves all information of the specified resource policy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] resource_policy # Name of the resource policy to retrieve. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ResourcePolicy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ResourcePolicy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_resource_policy(project, region, resource_policy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}', options) command.response_representation = Google::Apis::ComputeV1::ResourcePolicy::Representation command.response_class = Google::Apis::ComputeV1::ResourcePolicy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resourcePolicy'] = resource_policy unless resource_policy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_resource_policy_iam_policy(project, region, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a new resource policy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [Google::Apis::ComputeV1::ResourcePolicy] resource_policy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_resource_policy(project, region, resource_policy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/resourcePolicies', options) command.request_representation = Google::Apis::ComputeV1::ResourcePolicy::Representation command.request_object = resource_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # A list all the resource policies that have been configured for the # specified project in specified region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ResourcePolicyList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ResourcePolicyList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_resource_policies(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/resourcePolicies', options) command.response_representation = Google::Apis::ComputeV1::ResourcePolicyList::Representation command.response_class = Google::Apis::ComputeV1::ResourcePolicyList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Modify the specified resource policy. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] resource_policy # Id of the resource policy to patch. # @param [Google::Apis::ComputeV1::ResourcePolicy] resource_policy_object # @param [String] request_id # 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). # @param [String] update_mask # update_mask indicates fields to be updated as part of this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_resource_policy(project, region, resource_policy, resource_policy_object = nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}', options) command.request_representation = Google::Apis::ComputeV1::ResourcePolicy::Representation command.request_object = resource_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resourcePolicy'] = resource_policy unless resource_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetPolicyRequest] region_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_resource_policy_iam_policy(project, region, resource, region_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::RegionSetPolicyRequest::Representation command.request_object = region_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_resource_policy_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of routers. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RouterAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RouterAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_router_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/routers', options) command.response_representation = Google::Apis::ComputeV1::RouterAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::RouterAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified Router resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] router # Name of the Router resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_router(project, region, router, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/routers/{router}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['router'] = router unless router.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes Route Policy # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] router # Name of the Router resource where Route Policy is defined. # @param [String] policy # The Policy name for this request. Name must conform to RFC1035 # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_router_route_policy(project, region, router, policy: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['router'] = router unless router.nil? command.query['policy'] = policy unless policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified Router resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] router # Name of the Router resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Router] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Router] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_router(project, region, router, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/routers/{router}', options) command.response_representation = Google::Apis::ComputeV1::Router::Representation command.response_class = Google::Apis::ComputeV1::Router command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['router'] = router unless router.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves runtime NAT IP information. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] router # Name of the Router resource to query for Nat IP information. The name # should conform to RFC1035. # @param [String] nat_name # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::NatIpInfoResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::NatIpInfoResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_router_nat_ip_info(project, region, router, nat_name: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/routers/{router}/getNatIpInfo', options) command.response_representation = Google::Apis::ComputeV1::NatIpInfoResponse::Representation command.response_class = Google::Apis::ComputeV1::NatIpInfoResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['router'] = router unless router.nil? command.query['natName'] = nat_name unless nat_name.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves runtime Nat mapping information of VM endpoints. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] router # Name of the Router resource to query for Nat Mapping information of # VM endpoints. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] nat_name # 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. # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::VmEndpointNatMappingsList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::VmEndpointNatMappingsList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_router_nat_mapping_info(project, region, router, filter: nil, max_results: nil, nat_name: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo', options) command.response_representation = Google::Apis::ComputeV1::VmEndpointNatMappingsList::Representation command.response_class = Google::Apis::ComputeV1::VmEndpointNatMappingsList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['router'] = router unless router.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['natName'] = nat_name unless nat_name.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns specified Route Policy # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] router # Name of the Router resource to query for the route policy. The name should # conform to RFC1035. # @param [String] policy # The Policy name for this request. Name must conform to RFC1035 # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RoutersGetRoutePolicyResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RoutersGetRoutePolicyResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_router_route_policy(project, region, router, policy: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/routers/{router}/getRoutePolicy', options) command.response_representation = Google::Apis::ComputeV1::RoutersGetRoutePolicyResponse::Representation command.response_class = Google::Apis::ComputeV1::RoutersGetRoutePolicyResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['router'] = router unless router.nil? command.query['policy'] = policy unless policy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves runtime information of the specified router. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] router # Name of the Router resource to query. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RouterStatusResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RouterStatusResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_router_router_status(project, region, router, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/routers/{router}/getRouterStatus', options) command.response_representation = Google::Apis::ComputeV1::RouterStatusResponse::Representation command.response_class = Google::Apis::ComputeV1::RouterStatusResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['router'] = router unless router.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a Router resource in the specified project and region using # the data included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [Google::Apis::ComputeV1::Router] router_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_router(project, region, router_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/routers', options) command.request_representation = Google::Apis::ComputeV1::Router::Representation command.request_object = router_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of Router resources available to the specified project. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RouterList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RouterList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_routers(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/routers', options) command.response_representation = Google::Apis::ComputeV1::RouterList::Representation command.response_class = Google::Apis::ComputeV1::RouterList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of router bgp routes available to the specified project. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] router # Name or id of the resource for this request. # Name should conform to RFC1035. # @param [String] address_family # (Required) limit results to this address family (either IPv4 or IPv6) # @param [String] destination_prefix # Limit results to destinations that are subnets of this CIDR range # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [String] peer # (Required) limit results to the BGP peer with the given name. # Name should conform to RFC1035. # @param [Boolean] policy_applied # When true, the method returns post-policy routes. Otherwise, it returns # pre-policy routes. # @param [Boolean] return_partial_success # 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. # @param [String] route_type # (Required) limit results to this type of route (either LEARNED or # ADVERTISED) # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RoutersListBgpRoutes] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RoutersListBgpRoutes] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_router_bgp_routes(project, region, router, address_family: nil, destination_prefix: nil, filter: nil, max_results: nil, order_by: nil, page_token: nil, peer: nil, policy_applied: nil, return_partial_success: nil, route_type: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/routers/{router}/listBgpRoutes', options) command.response_representation = Google::Apis::ComputeV1::RoutersListBgpRoutes::Representation command.response_class = Google::Apis::ComputeV1::RoutersListBgpRoutes command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['router'] = router unless router.nil? command.query['addressFamily'] = address_family unless address_family.nil? command.query['destinationPrefix'] = destination_prefix unless destination_prefix.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['peer'] = peer unless peer.nil? command.query['policyApplied'] = policy_applied unless policy_applied.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['routeType'] = route_type unless route_type.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of router route policy subresources available to the # specified project. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] router # Name or id of the resource for this request. # Name should conform to RFC1035. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RoutersListRoutePolicies] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RoutersListRoutePolicies] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_router_route_policies(project, region, router, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/routers/{router}/listRoutePolicies', options) command.response_representation = Google::Apis::ComputeV1::RoutersListRoutePolicies::Representation command.response_class = Google::Apis::ComputeV1::RoutersListRoutePolicies command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['router'] = router unless router.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified Router resource with the data included in the # request. This method supportsPATCH # semantics and usesJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] router # Name of the Router resource to patch. # @param [Google::Apis::ComputeV1::Router] router_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_router(project, region, router, router_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/routers/{router}', options) command.request_representation = Google::Apis::ComputeV1::Router::Representation command.request_object = router_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['router'] = router unless router.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches Route Policy # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] router # Name of the Router resource where Route Policy is defined. # @param [Google::Apis::ComputeV1::RoutePolicy] route_policy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_router_route_policy(project, region, router, route_policy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy', options) command.request_representation = Google::Apis::ComputeV1::RoutePolicy::Representation command.request_object = route_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['router'] = router unless router.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Preview fields auto-generated during router create andupdate operations. # Calling this method does NOT create or update the router. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] router # Name of the Router resource to query. # @param [Google::Apis::ComputeV1::Router] router_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RoutersPreviewResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RoutersPreviewResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def preview_router(project, region, router, router_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/routers/{router}/preview', options) command.request_representation = Google::Apis::ComputeV1::Router::Representation command.request_object = router_object command.response_representation = Google::Apis::ComputeV1::RoutersPreviewResponse::Representation command.response_class = Google::Apis::ComputeV1::RoutersPreviewResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['router'] = router unless router.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified Router resource with the data included in the # request. This method conforms toPUT semantics, which requests that the state # of the # target resource be created or replaced with the state defined by the # representation enclosed in the request message payload. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] router # Name of the Router resource to update. # @param [Google::Apis::ComputeV1::Router] router_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_router(project, region, router, router_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:put, 'projects/{project}/regions/{region}/routers/{router}', options) command.request_representation = Google::Apis::ComputeV1::Router::Representation command.request_object = router_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['router'] = router unless router.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates or creates new Route Policy # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] router # Name of the Router resource where Route Policy is defined. # @param [Google::Apis::ComputeV1::RoutePolicy] route_policy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_router_route_policy(project, region, router, route_policy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy', options) command.request_representation = Google::Apis::ComputeV1::RoutePolicy::Representation command.request_object = route_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['router'] = router unless router.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified Route resource. # @param [String] project # Project ID for this request. # @param [String] route # Name of the Route resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_route(project, route, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/routes/{route}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['route'] = route unless route.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified Route resource. # @param [String] project # Project ID for this request. # @param [String] route # Name of the Route resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Route] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Route] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_route(project, route, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/routes/{route}', options) command.response_representation = Google::Apis::ComputeV1::Route::Representation command.response_class = Google::Apis::ComputeV1::Route command.params['project'] = project unless project.nil? command.params['route'] = route unless route.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a Route resource in the specified project using the data included # in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::Route] route_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_route(project, route_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/routes', options) command.request_representation = Google::Apis::ComputeV1::Route::Representation command.request_object = route_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of Route resources available to the specified project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::RouteList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::RouteList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_routes(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/routes', options) command.response_representation = Google::Apis::ComputeV1::RouteList::Representation command.response_class = Google::Apis::ComputeV1::RouteList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_route_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/routes/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Inserts a rule into a security policy. # @param [String] project # Project ID for this request. # @param [String] security_policy # Name of the security policy to update. # @param [Google::Apis::ComputeV1::SecurityPolicyRule] security_policy_rule_object # @param [Boolean] validate_only # If true, the request will not be committed. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_security_policy_rule(project, security_policy, security_policy_rule_object = nil, validate_only: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/securityPolicies/{securityPolicy}/addRule', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicyRule::Representation command.request_object = security_policy_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['validateOnly'] = validate_only unless validate_only.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Name of the project scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SecurityPoliciesAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SecurityPoliciesAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_security_policy_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/securityPolicies', options) command.response_representation = Google::Apis::ComputeV1::SecurityPoliciesAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::SecurityPoliciesAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified policy. # @param [String] project # Project ID for this request. # @param [String] security_policy # Name of the security policy to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_security_policy(project, security_policy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/securityPolicies/{securityPolicy}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # List all of the ordered rules present in a single specified policy. # @param [String] project # Project ID for this request. # @param [String] security_policy # Name of the security policy to get. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SecurityPolicy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SecurityPolicy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_security_policy(project, security_policy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/securityPolicies/{securityPolicy}', options) command.response_representation = Google::Apis::ComputeV1::SecurityPolicy::Representation command.response_class = Google::Apis::ComputeV1::SecurityPolicy command.params['project'] = project unless project.nil? command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets a rule at the specified priority. # @param [String] project # Project ID for this request. # @param [String] security_policy # Name of the security policy to which the queried rule belongs. # @param [Fixnum] priority # The priority of the rule to get from the security policy. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SecurityPolicyRule] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SecurityPolicyRule] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_security_policy_rule(project, security_policy, priority: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/securityPolicies/{securityPolicy}/getRule', options) command.response_representation = Google::Apis::ComputeV1::SecurityPolicyRule::Representation command.response_class = Google::Apis::ComputeV1::SecurityPolicyRule command.params['project'] = project unless project.nil? command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a new policy in the specified project using the data included in # the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::SecurityPolicy] security_policy_object # @param [String] request_id # 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). # @param [Boolean] validate_only # If true, the request will not be committed. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_security_policy(project, security_policy_object = nil, request_id: nil, validate_only: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/securityPolicies', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicy::Representation command.request_object = security_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['validateOnly'] = validate_only unless validate_only.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # List all the policies that have been configured for the specified project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SecurityPolicyList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SecurityPolicyList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_security_policies(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/securityPolicies', options) command.response_representation = Google::Apis::ComputeV1::SecurityPolicyList::Representation command.response_class = Google::Apis::ComputeV1::SecurityPolicyList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the current list of preconfigured Web Application Firewall (WAF) # expressions. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SecurityPoliciesListPreconfiguredExpressionSetsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SecurityPoliciesListPreconfiguredExpressionSetsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_security_policy_preconfigured_expression_sets(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/securityPolicies/listPreconfiguredExpressionSets', options) command.response_representation = Google::Apis::ComputeV1::SecurityPoliciesListPreconfiguredExpressionSetsResponse::Representation command.response_class = Google::Apis::ComputeV1::SecurityPoliciesListPreconfiguredExpressionSetsResponse command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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. # @param [String] project # Project ID for this request. # @param [String] security_policy # Name of the security policy to update. # @param [Google::Apis::ComputeV1::SecurityPolicy] security_policy_object # @param [String] request_id # 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). # @param [String] update_mask # Indicates fields to be cleared as part of this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_security_policy(project, security_policy, security_policy_object = nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/securityPolicies/{securityPolicy}', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicy::Representation command.request_object = security_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches a rule at the specified priority. To clear fields in the rule, # leave the fields empty and specify them in the updateMask. # @param [String] project # Project ID for this request. # @param [String] security_policy # Name of the security policy to update. # @param [Google::Apis::ComputeV1::SecurityPolicyRule] security_policy_rule_object # @param [Fixnum] priority # The priority of the rule to patch. # @param [String] update_mask # Indicates fields to be cleared as part of this request. # @param [Boolean] validate_only # If true, the request will not be committed. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_security_policy_rule(project, security_policy, security_policy_rule_object = nil, priority: nil, update_mask: nil, validate_only: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/securityPolicies/{securityPolicy}/patchRule', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicyRule::Representation command.request_object = security_policy_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['validateOnly'] = validate_only unless validate_only.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes a rule at the specified priority. # @param [String] project # Project ID for this request. # @param [String] security_policy # Name of the security policy to update. # @param [Fixnum] priority # The priority of the rule to remove from the security policy. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_security_policy_rule(project, security_policy, priority: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/securityPolicies/{securityPolicy}/removeRule', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['securityPolicy'] = security_policy unless security_policy.nil? command.query['priority'] = priority unless priority.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on a security policy. To learn more about labels, # read the Labeling Resources # documentation. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_security_policy_labels(project, resource, global_set_labels_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/securityPolicies/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetLabelsRequest::Representation command.request_object = global_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Name of the project scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ServiceAttachmentAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ServiceAttachmentAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_service_attachment_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/serviceAttachments', options) command.response_representation = Google::Apis::ComputeV1::ServiceAttachmentAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::ServiceAttachmentAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified ServiceAttachment in the given scope # @param [String] project # Project ID for this request. # @param [String] region # Name of the region of this request. # @param [String] service_attachment # Name of the ServiceAttachment resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_service_attachment(project, region, service_attachment, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['serviceAttachment'] = service_attachment unless service_attachment.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified ServiceAttachment resource in the given scope. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region of this request. # @param [String] service_attachment # Name of the ServiceAttachment resource to return. # @param [Boolean] show_nat_ips # Indicates whether NAT IPs should be included in the response. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ServiceAttachment] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ServiceAttachment] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_service_attachment(project, region, service_attachment, show_nat_ips: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}', options) command.response_representation = Google::Apis::ComputeV1::ServiceAttachment::Representation command.response_class = Google::Apis::ComputeV1::ServiceAttachment command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['serviceAttachment'] = service_attachment unless service_attachment.nil? command.query['showNatIps'] = show_nat_ips unless show_nat_ips.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_service_attachment_iam_policy(project, region, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/serviceAttachments/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a ServiceAttachment in the specified project in the given scope # using the parameters that are included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region of this request. # @param [Google::Apis::ComputeV1::ServiceAttachment] service_attachment_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_service_attachment(project, region, service_attachment_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/serviceAttachments', options) command.request_representation = Google::Apis::ComputeV1::ServiceAttachment::Representation command.request_object = service_attachment_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the ServiceAttachments for a project in the given scope. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region of this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ServiceAttachmentList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ServiceAttachmentList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_service_attachments(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/serviceAttachments', options) command.response_representation = Google::Apis::ComputeV1::ServiceAttachmentList::Representation command.response_class = Google::Apis::ComputeV1::ServiceAttachmentList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified ServiceAttachment resource with the data included in # the request. This method supports PATCH # semantics and usesJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] region # The region scoping this request and should conform to RFC1035. # @param [String] service_attachment # The resource id of the ServiceAttachment to patch. It should conform to # RFC1035 resource name or be a string form on an unsigned long number. # @param [Google::Apis::ComputeV1::ServiceAttachment] service_attachment_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_service_attachment(project, region, service_attachment, service_attachment_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}', options) command.request_representation = Google::Apis::ComputeV1::ServiceAttachment::Representation command.request_object = service_attachment_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['serviceAttachment'] = service_attachment unless service_attachment.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetPolicyRequest] region_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_service_attachment_iam_policy(project, region, resource, region_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/serviceAttachments/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::RegionSetPolicyRequest::Representation command.request_object = region_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_service_attachment_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/serviceAttachments/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Get snapshot settings. # @param [String] project # Project ID for this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SnapshotSettings] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SnapshotSettings] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_snapshot_setting(project, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/snapshotSettings', options) command.response_representation = Google::Apis::ComputeV1::SnapshotSettings::Representation command.response_class = Google::Apis::ComputeV1::SnapshotSettings command.params['project'] = project unless project.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patch snapshot settings. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::SnapshotSettings] snapshot_settings_object # @param [String] request_id # 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). # @param [String] update_mask # update_mask indicates fields to be updated as part of this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_snapshot_setting(project, snapshot_settings_object = nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/snapshotSettings', options) command.request_representation = Google::Apis::ComputeV1::SnapshotSettings::Representation command.request_object = snapshot_settings_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified Snapshot resource. Keep in mind that deleting # a single snapshot might not necessarily delete all the data on that # snapshot. If any data on the snapshot that is marked for deletion is # needed for subsequent snapshots, the data will be moved to the next # corresponding snapshot. # For more information, seeDeleting # snapshots. # @param [String] project # Project ID for this request. # @param [String] snapshot # Name of the Snapshot resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_snapshot(project, snapshot, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/snapshots/{snapshot}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['snapshot'] = snapshot unless snapshot.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified Snapshot resource. # @param [String] project # Project ID for this request. # @param [String] snapshot # Name of the Snapshot resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Snapshot] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Snapshot] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_snapshot(project, snapshot, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/snapshots/{snapshot}', options) command.response_representation = Google::Apis::ComputeV1::Snapshot::Representation command.response_class = Google::Apis::ComputeV1::Snapshot command.params['project'] = project unless project.nil? command.params['snapshot'] = snapshot unless snapshot.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_snapshot_iam_policy(project, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/snapshots/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a snapshot in the specified project using the data included # in the request. For regular snapshot creation, consider using this method # instead of disks.createSnapshot, # as this method supports more features, such as creating snapshots in a # project different from the source disk project. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::Snapshot] snapshot_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_snapshot(project, snapshot_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/snapshots', options) command.request_representation = Google::Apis::ComputeV1::Snapshot::Representation command.request_object = snapshot_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of Snapshot resources contained within # the specified project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SnapshotList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SnapshotList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_snapshots(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/snapshots', options) command.response_representation = Google::Apis::ComputeV1::SnapshotList::Representation command.response_class = Google::Apis::ComputeV1::SnapshotList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetPolicyRequest] global_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_snapshot_iam_policy(project, resource, global_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/snapshots/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetPolicyRequest::Representation command.request_object = global_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on a snapshot. To learn more about labels, read theLabeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::GlobalSetLabelsRequest] global_set_labels_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_snapshot_labels(project, resource, global_set_labels_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/snapshots/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::GlobalSetLabelsRequest::Representation command.request_object = global_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_snapshot_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/snapshots/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Name of the project scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SslCertificateAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SslCertificateAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_ssl_certificate_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/sslCertificates', options) command.response_representation = Google::Apis::ComputeV1::SslCertificateAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::SslCertificateAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified SslCertificate resource. # @param [String] project # Project ID for this request. # @param [String] ssl_certificate # Name of the SslCertificate resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_ssl_certificate(project, ssl_certificate, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/sslCertificates/{sslCertificate}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['sslCertificate'] = ssl_certificate unless ssl_certificate.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified SslCertificate resource. # @param [String] project # Project ID for this request. # @param [String] ssl_certificate # Name of the SslCertificate resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SslCertificate] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SslCertificate] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_ssl_certificate(project, ssl_certificate, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/sslCertificates/{sslCertificate}', options) command.response_representation = Google::Apis::ComputeV1::SslCertificate::Representation command.response_class = Google::Apis::ComputeV1::SslCertificate command.params['project'] = project unless project.nil? command.params['sslCertificate'] = ssl_certificate unless ssl_certificate.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a SslCertificate resource in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::SslCertificate] ssl_certificate_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_ssl_certificate(project, ssl_certificate_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/sslCertificates', options) command.request_representation = Google::Apis::ComputeV1::SslCertificate::Representation command.request_object = ssl_certificate_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of SslCertificate resources available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SslCertificateList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SslCertificateList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_ssl_certificates(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/sslCertificates', options) command.response_representation = Google::Apis::ComputeV1::SslCertificateList::Representation command.response_class = Google::Apis::ComputeV1::SslCertificateList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Name of the project scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SslPoliciesAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SslPoliciesAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_ssl_policy_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/sslPolicies', options) command.response_representation = Google::Apis::ComputeV1::SslPoliciesAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::SslPoliciesAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified SSL policy. The SSL policy resource can be deleted # only if it is not in use by any TargetHttpsProxy or TargetSslProxy # resources. # @param [String] project # Project ID for this request. # @param [String] ssl_policy # Name of the SSL policy to delete. The name must be 1-63 characters long, # and comply with RFC1035. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_ssl_policy(project, ssl_policy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/sslPolicies/{sslPolicy}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['sslPolicy'] = ssl_policy unless ssl_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists all of the ordered rules present in a single specified policy. # @param [String] project # Project ID for this request. # @param [String] ssl_policy # Name of the SSL policy to update. The name must be 1-63 characters long, # and comply with RFC1035. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SslPolicy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SslPolicy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_ssl_policy(project, ssl_policy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/sslPolicies/{sslPolicy}', options) command.response_representation = Google::Apis::ComputeV1::SslPolicy::Representation command.response_class = Google::Apis::ComputeV1::SslPolicy command.params['project'] = project unless project.nil? command.params['sslPolicy'] = ssl_policy unless ssl_policy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified SSL policy resource. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::SslPolicy] ssl_policy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_ssl_policy(project, ssl_policy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/sslPolicies', options) command.request_representation = Google::Apis::ComputeV1::SslPolicy::Representation command.request_object = ssl_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists all the SSL policies that have been configured for the specified # project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SslPoliciesList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SslPoliciesList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_ssl_policies(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/sslPolicies', options) command.response_representation = Google::Apis::ComputeV1::SslPoliciesList::Representation command.response_class = Google::Apis::ComputeV1::SslPoliciesList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists all features that can be specified in the SSL policy when using # custom profile. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SslPoliciesListAvailableFeaturesResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SslPoliciesListAvailableFeaturesResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_ssl_policy_available_features(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/sslPolicies/listAvailableFeatures', options) command.response_representation = Google::Apis::ComputeV1::SslPoliciesListAvailableFeaturesResponse::Representation command.response_class = Google::Apis::ComputeV1::SslPoliciesListAvailableFeaturesResponse command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified SSL policy with the data included in the request. # @param [String] project # Project ID for this request. # @param [String] ssl_policy # Name of the SSL policy to update. The name must be 1-63 characters long, # and comply with RFC1035. # @param [Google::Apis::ComputeV1::SslPolicy] ssl_policy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_ssl_policy(project, ssl_policy, ssl_policy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/sslPolicies/{sslPolicy}', options) command.request_representation = Google::Apis::ComputeV1::SslPolicy::Representation command.request_object = ssl_policy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['sslPolicy'] = ssl_policy unless ssl_policy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of storage pool types. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::StoragePoolTypeAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::StoragePoolTypeAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_storage_pool_type_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/storagePoolTypes', options) command.response_representation = Google::Apis::ComputeV1::StoragePoolTypeAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::StoragePoolTypeAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified storage pool type. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] storage_pool_type # Name of the storage pool type to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::StoragePoolType] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::StoragePoolType] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_storage_pool_type(project, zone, storage_pool_type, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/storagePoolTypes/{storagePoolType}', options) command.response_representation = Google::Apis::ComputeV1::StoragePoolType::Representation command.response_class = Google::Apis::ComputeV1::StoragePoolType command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['storagePoolType'] = storage_pool_type unless storage_pool_type.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of storage pool types available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::StoragePoolTypeList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::StoragePoolTypeList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_storage_pool_types(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/storagePoolTypes', options) command.response_representation = Google::Apis::ComputeV1::StoragePoolTypeList::Representation command.response_class = Google::Apis::ComputeV1::StoragePoolTypeList command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of storage pools. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::StoragePoolAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::StoragePoolAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_storage_pool_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/storagePools', options) command.response_representation = Google::Apis::ComputeV1::StoragePoolAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::StoragePoolAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] storage_pool # Name of the storage pool to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_storage_pool(project, zone, storage_pool, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/zones/{zone}/storagePools/{storagePool}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['storagePool'] = storage_pool unless storage_pool.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns a specified storage pool. Gets a list of available # storage pools by making a list() request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] storage_pool # Name of the storage pool to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::StoragePool] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::StoragePool] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_storage_pool(project, zone, storage_pool, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/storagePools/{storagePool}', options) command.response_representation = Google::Apis::ComputeV1::StoragePool::Representation command.response_class = Google::Apis::ComputeV1::StoragePool command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['storagePool'] = storage_pool unless storage_pool.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_storage_pool_iam_policy(project, zone, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/storagePools/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a storage pool in the specified project using the data # in the request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [Google::Apis::ComputeV1::StoragePool] storage_pool_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_storage_pool(project, zone, storage_pool_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/storagePools', options) command.request_representation = Google::Apis::ComputeV1::StoragePool::Representation command.request_object = storage_pool_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of storage pools contained within # the specified zone. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::StoragePoolList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::StoragePoolList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_storage_pools(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/storagePools', options) command.response_representation = Google::Apis::ComputeV1::StoragePoolList::Representation command.response_class = Google::Apis::ComputeV1::StoragePoolList command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the disks in a specified storage pool. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] storage_pool # Name of the storage pool to list disks of. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::StoragePoolListDisks] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::StoragePoolListDisks] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_storage_pool_disks(project, zone, storage_pool, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/storagePools/{storagePool}/listDisks', options) command.response_representation = Google::Apis::ComputeV1::StoragePoolListDisks::Representation command.response_class = Google::Apis::ComputeV1::StoragePoolListDisks command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['storagePool'] = storage_pool unless storage_pool.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::ZoneSetPolicyRequest] zone_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_storage_pool_iam_policy(project, zone, resource, zone_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/storagePools/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::ZoneSetPolicyRequest::Representation command.request_object = zone_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_storage_pool_iam_permissions(project, zone, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/storagePools/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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: # pool_provisioned_capacity_gb, pool_provisioned_iops and # pool_provisioned_throughput. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] storage_pool # The storagePool name for this request. # @param [Google::Apis::ComputeV1::StoragePool] storage_pool_object # @param [String] request_id # 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). # @param [String] update_mask # update_mask indicates fields to be updated as part of this request. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_storage_pool(project, zone, storage_pool, storage_pool_object = nil, request_id: nil, update_mask: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/zones/{zone}/storagePools/{storagePool}', options) command.request_representation = Google::Apis::ComputeV1::StoragePool::Representation command.request_object = storage_pool_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['storagePool'] = storage_pool unless storage_pool.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of subnetworks. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [Array, String] views # Defines the extra views returned back in the subnetwork resource. # Supported values: # # - WITH_UTILIZATION: Utilization data is included in the # response. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SubnetworkAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SubnetworkAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_subnetwork_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, views: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/subnetworks', options) command.response_representation = Google::Apis::ComputeV1::SubnetworkAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::SubnetworkAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['views'] = views unless views.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified subnetwork. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] subnetwork # Name of the Subnetwork resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_subnetwork(project, region, subnetwork, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/subnetworks/{subnetwork}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['subnetwork'] = subnetwork unless subnetwork.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Expands the IP CIDR range of the subnetwork to a specified value. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] subnetwork # Name of the Subnetwork resource to update. # @param [Google::Apis::ComputeV1::SubnetworksExpandIpCidrRangeRequest] subnetworks_expand_ip_cidr_range_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def expand_subnetwork_ip_cidr_range(project, region, subnetwork, subnetworks_expand_ip_cidr_range_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange', options) command.request_representation = Google::Apis::ComputeV1::SubnetworksExpandIpCidrRangeRequest::Representation command.request_object = subnetworks_expand_ip_cidr_range_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['subnetwork'] = subnetwork unless subnetwork.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified subnetwork. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] subnetwork # Name of the Subnetwork resource to return. # @param [Array, String] views # Defines the extra views returned back in the subnetwork resource. # Supported values: # # - WITH_UTILIZATION: Utilization data is included in the # response. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Subnetwork] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Subnetwork] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_subnetwork(project, region, subnetwork, views: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/subnetworks/{subnetwork}', options) command.response_representation = Google::Apis::ComputeV1::Subnetwork::Representation command.response_class = Google::Apis::ComputeV1::Subnetwork command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['subnetwork'] = subnetwork unless subnetwork.nil? command.query['views'] = views unless views.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the access control policy for a resource. May be empty if no such # policy or resource exists. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Fixnum] options_requested_policy_version # Requested IAM Policy version. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_subnetwork_iam_policy(project, region, resource, options_requested_policy_version: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/subnetworks/{resource}/getIamPolicy', options) command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['optionsRequestedPolicyVersion'] = options_requested_policy_version unless options_requested_policy_version.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a subnetwork in the specified project using the data # included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::Subnetwork] subnetwork_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_subnetwork(project, region, subnetwork_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/subnetworks', options) command.request_representation = Google::Apis::ComputeV1::Subnetwork::Representation command.request_object = subnetwork_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of subnetworks available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Array, String] views # Defines the extra views returned back in the subnetwork resource. # Supported values: # # - WITH_UTILIZATION: Utilization data is included in the # response. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::SubnetworkList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::SubnetworkList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_subnetworks(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, views: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/subnetworks', options) command.response_representation = Google::Apis::ComputeV1::SubnetworkList::Representation command.response_class = Google::Apis::ComputeV1::SubnetworkList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['views'] = views unless views.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of all usable subnetworks in the project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] service_project # The project id or project number in which the subnetwork is intended to be # used. Only applied for Shared VPC. See [Shared VPC # documentation](https://cloud.google.com/vpc/docs/shared-vpc/) # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::UsableSubnetworksAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::UsableSubnetworksAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_subnetwork_usable(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/subnetworks/listUsable', options) command.response_representation = Google::Apis::ComputeV1::UsableSubnetworksAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::UsableSubnetworksAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProject'] = service_project unless service_project.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified subnetwork with the data included in the request. # Only certain fields can be updated with a patch request # as indicated in the field descriptions. # You must specify the current fingerprint of the # subnetwork resource being patched. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] subnetwork # Name of the Subnetwork resource to patch. # @param [Google::Apis::ComputeV1::Subnetwork] subnetwork_object # @param [Fixnum] drain_timeout_seconds # The drain timeout specifies the upper bound in seconds on the amount of # time allowed to drain connections from the current ACTIVE subnetwork # to the current BACKUP subnetwork. The drain timeout is only applicable # when the following conditions are true: # - the subnetwork being patched has purpose = INTERNAL_HTTPS_LOAD_BALANCER # - the subnetwork being patched has role = BACKUP # - the patch request is setting the role to ACTIVE. Note that after this # patch operation the roles of the ACTIVE and BACKUP subnetworks will be # swapped. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_subnetwork(project, region, subnetwork, subnetwork_object = nil, drain_timeout_seconds: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/regions/{region}/subnetworks/{subnetwork}', options) command.request_representation = Google::Apis::ComputeV1::Subnetwork::Representation command.request_object = subnetwork_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['subnetwork'] = subnetwork unless subnetwork.nil? command.query['drainTimeoutSeconds'] = drain_timeout_seconds unless drain_timeout_seconds.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the access control policy on the specified resource. # Replaces any existing policy. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetPolicyRequest] region_set_policy_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Policy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_subnetwork_iam_policy(project, region, resource, region_set_policy_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/subnetworks/{resource}/setIamPolicy', options) command.request_representation = Google::Apis::ComputeV1::RegionSetPolicyRequest::Representation command.request_object = region_set_policy_request_object command.response_representation = Google::Apis::ComputeV1::Policy::Representation command.response_class = Google::Apis::ComputeV1::Policy command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Set whether VMs in this subnet can access Google services without assigning # external IP addresses through Private Google Access. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] subnetwork # Name of the Subnetwork resource. # @param [Google::Apis::ComputeV1::SubnetworksSetPrivateIpGoogleAccessRequest] subnetworks_set_private_ip_google_access_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_subnetwork_private_ip_google_access(project, region, subnetwork, subnetworks_set_private_ip_google_access_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess', options) command.request_representation = Google::Apis::ComputeV1::SubnetworksSetPrivateIpGoogleAccessRequest::Representation command.request_object = subnetworks_set_private_ip_google_access_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['subnetwork'] = subnetwork unless subnetwork.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_subnetwork_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/subnetworks/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified TargetGrpcProxy in the given scope # @param [String] project # Project ID for this request. # @param [String] target_grpc_proxy # Name of the TargetGrpcProxy resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_target_grpc_proxy(project, target_grpc_proxy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetGrpcProxy'] = target_grpc_proxy unless target_grpc_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified TargetGrpcProxy resource in the given scope. # @param [String] project # Project ID for this request. # @param [String] target_grpc_proxy # Name of the TargetGrpcProxy resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetGrpcProxy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetGrpcProxy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_target_grpc_proxy(project, target_grpc_proxy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}', options) command.response_representation = Google::Apis::ComputeV1::TargetGrpcProxy::Representation command.response_class = Google::Apis::ComputeV1::TargetGrpcProxy command.params['project'] = project unless project.nil? command.params['targetGrpcProxy'] = target_grpc_proxy unless target_grpc_proxy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a TargetGrpcProxy in the specified project in the given scope # using the parameters that are included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::TargetGrpcProxy] target_grpc_proxy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_target_grpc_proxy(project, target_grpc_proxy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/targetGrpcProxies', options) command.request_representation = Google::Apis::ComputeV1::TargetGrpcProxy::Representation command.request_object = target_grpc_proxy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the TargetGrpcProxies for a project in the given scope. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetGrpcProxyList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetGrpcProxyList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_target_grpc_proxies(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/targetGrpcProxies', options) command.response_representation = Google::Apis::ComputeV1::TargetGrpcProxyList::Representation command.response_class = Google::Apis::ComputeV1::TargetGrpcProxyList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified TargetGrpcProxy resource with the data included in # the request. This method supports PATCH # semantics and usesJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] target_grpc_proxy # Name of the TargetGrpcProxy resource to patch. # @param [Google::Apis::ComputeV1::TargetGrpcProxy] target_grpc_proxy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_target_grpc_proxy(project, target_grpc_proxy, target_grpc_proxy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}', options) command.request_representation = Google::Apis::ComputeV1::TargetGrpcProxy::Representation command.request_object = target_grpc_proxy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetGrpcProxy'] = target_grpc_proxy unless target_grpc_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Name of the project scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetHttpProxyAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetHttpProxyAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_target_http_proxy_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/targetHttpProxies', options) command.response_representation = Google::Apis::ComputeV1::TargetHttpProxyAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::TargetHttpProxyAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified TargetHttpProxy resource. # @param [String] project # Project ID for this request. # @param [String] target_http_proxy # Name of the TargetHttpProxy resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_target_http_proxy(project, target_http_proxy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/targetHttpProxies/{targetHttpProxy}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetHttpProxy'] = target_http_proxy unless target_http_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified TargetHttpProxy resource. # @param [String] project # Project ID for this request. # @param [String] target_http_proxy # Name of the TargetHttpProxy resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetHttpProxy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetHttpProxy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_target_http_proxy(project, target_http_proxy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/targetHttpProxies/{targetHttpProxy}', options) command.response_representation = Google::Apis::ComputeV1::TargetHttpProxy::Representation command.response_class = Google::Apis::ComputeV1::TargetHttpProxy command.params['project'] = project unless project.nil? command.params['targetHttpProxy'] = target_http_proxy unless target_http_proxy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a TargetHttpProxy resource in the specified # project using the data included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::TargetHttpProxy] target_http_proxy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_target_http_proxy(project, target_http_proxy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/targetHttpProxies', options) command.request_representation = Google::Apis::ComputeV1::TargetHttpProxy::Representation command.request_object = target_http_proxy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of TargetHttpProxy resources available # to the specified project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetHttpProxyList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetHttpProxyList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_target_http_proxies(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/targetHttpProxies', options) command.response_representation = Google::Apis::ComputeV1::TargetHttpProxyList::Representation command.response_class = Google::Apis::ComputeV1::TargetHttpProxyList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified TargetHttpProxy resource with the data included in # the request. This method supports PATCH # semantics and usesJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] target_http_proxy # Name of the TargetHttpProxy resource to patch. # @param [Google::Apis::ComputeV1::TargetHttpProxy] target_http_proxy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_target_http_proxy(project, target_http_proxy, target_http_proxy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/targetHttpProxies/{targetHttpProxy}', options) command.request_representation = Google::Apis::ComputeV1::TargetHttpProxy::Representation command.request_object = target_http_proxy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetHttpProxy'] = target_http_proxy unless target_http_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes the URL map for TargetHttpProxy. # @param [String] project # Project ID for this request. # @param [String] target_http_proxy # Name of the TargetHttpProxy to set a URL map for. # @param [Google::Apis::ComputeV1::UrlMapReference] url_map_reference_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_target_http_proxy_url_map(project, target_http_proxy, url_map_reference_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap', options) command.request_representation = Google::Apis::ComputeV1::UrlMapReference::Representation command.request_object = url_map_reference_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetHttpProxy'] = target_http_proxy unless target_http_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Name of the project scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetHttpsProxyAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetHttpsProxyAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_target_https_proxy_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/targetHttpsProxies', options) command.response_representation = Google::Apis::ComputeV1::TargetHttpsProxyAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::TargetHttpsProxyAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified TargetHttpsProxy resource. # @param [String] project # Project ID for this request. # @param [String] target_https_proxy # Name of the TargetHttpsProxy resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_target_https_proxy(project, target_https_proxy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetHttpsProxy'] = target_https_proxy unless target_https_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified TargetHttpsProxy resource. # @param [String] project # Project ID for this request. # @param [String] target_https_proxy # Name of the TargetHttpsProxy resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetHttpsProxy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetHttpsProxy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_target_https_proxy(project, target_https_proxy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}', options) command.response_representation = Google::Apis::ComputeV1::TargetHttpsProxy::Representation command.response_class = Google::Apis::ComputeV1::TargetHttpsProxy command.params['project'] = project unless project.nil? command.params['targetHttpsProxy'] = target_https_proxy unless target_https_proxy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a TargetHttpsProxy resource in the specified # project using the data included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::TargetHttpsProxy] target_https_proxy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_target_https_proxy(project, target_https_proxy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/targetHttpsProxies', options) command.request_representation = Google::Apis::ComputeV1::TargetHttpsProxy::Representation command.request_object = target_https_proxy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of TargetHttpsProxy resources # available to the specified project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetHttpsProxyList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetHttpsProxyList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_target_https_proxies(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/targetHttpsProxies', options) command.response_representation = Google::Apis::ComputeV1::TargetHttpsProxyList::Representation command.response_class = Google::Apis::ComputeV1::TargetHttpsProxyList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified TargetHttpsProxy resource with the data included in # the request. This method supports PATCH # semantics and usesJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] target_https_proxy # Name of the TargetHttpsProxy resource to patch. # @param [Google::Apis::ComputeV1::TargetHttpsProxy] target_https_proxy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_target_https_proxy(project, target_https_proxy, target_https_proxy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}', options) command.request_representation = Google::Apis::ComputeV1::TargetHttpsProxy::Representation command.request_object = target_https_proxy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetHttpsProxy'] = target_https_proxy unless target_https_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes the Certificate Map for TargetHttpsProxy. # @param [String] project # Project ID for this request. # @param [String] target_https_proxy # Name of the TargetHttpsProxy resource whose CertificateMap is # to be set. The name must be 1-63 characters long, and comply with RFC1035. # @param [Google::Apis::ComputeV1::TargetHttpsProxiesSetCertificateMapRequest] target_https_proxies_set_certificate_map_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_target_https_proxy_certificate_map(project, target_https_proxy, target_https_proxies_set_certificate_map_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setCertificateMap', options) command.request_representation = Google::Apis::ComputeV1::TargetHttpsProxiesSetCertificateMapRequest::Representation command.request_object = target_https_proxies_set_certificate_map_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetHttpsProxy'] = target_https_proxy unless target_https_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the QUIC override policy for TargetHttpsProxy. # @param [String] project # Project ID for this request. # @param [String] target_https_proxy # Name of the TargetHttpsProxy resource to set the QUIC override policy for. # The name should conform to RFC1035. # @param [Google::Apis::ComputeV1::TargetHttpsProxiesSetQuicOverrideRequest] target_https_proxies_set_quic_override_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_target_https_proxy_quic_override(project, target_https_proxy, target_https_proxies_set_quic_override_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride', options) command.request_representation = Google::Apis::ComputeV1::TargetHttpsProxiesSetQuicOverrideRequest::Representation command.request_object = target_https_proxies_set_quic_override_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetHttpsProxy'] = target_https_proxy unless target_https_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Replaces SslCertificates for TargetHttpsProxy. # @param [String] project # Project ID for this request. # @param [String] target_https_proxy # Name of the TargetHttpsProxy resource to set an # SslCertificates resource for. # @param [Google::Apis::ComputeV1::TargetHttpsProxiesSetSslCertificatesRequest] target_https_proxies_set_ssl_certificates_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_target_https_proxy_ssl_certificates(project, target_https_proxy, target_https_proxies_set_ssl_certificates_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates', options) command.request_representation = Google::Apis::ComputeV1::TargetHttpsProxiesSetSslCertificatesRequest::Representation command.request_object = target_https_proxies_set_ssl_certificates_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetHttpsProxy'] = target_https_proxy unless target_https_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the SSL policy for TargetHttpsProxy. The SSL policy specifies the # server-side support for SSL features. This affects connections between # clients and the HTTPS proxy load balancer. They do not affect the # connection between the load balancer and the backends. # @param [String] project # Project ID for this request. # @param [String] target_https_proxy # Name of the TargetHttpsProxy resource whose SSL policy is # to be set. The name must be 1-63 characters long, and comply with RFC1035. # @param [Google::Apis::ComputeV1::SslPolicyReference] ssl_policy_reference_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_target_https_proxy_ssl_policy(project, target_https_proxy, ssl_policy_reference_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy', options) command.request_representation = Google::Apis::ComputeV1::SslPolicyReference::Representation command.request_object = ssl_policy_reference_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetHttpsProxy'] = target_https_proxy unless target_https_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes the URL map for TargetHttpsProxy. # @param [String] project # Project ID for this request. # @param [String] target_https_proxy # Name of the TargetHttpsProxy resource whose URL map is # to be set. # @param [Google::Apis::ComputeV1::UrlMapReference] url_map_reference_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_target_https_proxy_url_map(project, target_https_proxy, url_map_reference_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap', options) command.request_representation = Google::Apis::ComputeV1::UrlMapReference::Representation command.request_object = url_map_reference_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetHttpsProxy'] = target_https_proxy unless target_https_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of target instances. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetInstanceAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetInstanceAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_aggregated_target_instance(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/targetInstances', options) command.response_representation = Google::Apis::ComputeV1::TargetInstanceAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::TargetInstanceAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified TargetInstance resource. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone scoping this request. # @param [String] target_instance # Name of the TargetInstance resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_target_instance(project, zone, target_instance, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/zones/{zone}/targetInstances/{targetInstance}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['targetInstance'] = target_instance unless target_instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified TargetInstance resource. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone scoping this request. # @param [String] target_instance # Name of the TargetInstance resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetInstance] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetInstance] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_target_instance(project, zone, target_instance, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/targetInstances/{targetInstance}', options) command.response_representation = Google::Apis::ComputeV1::TargetInstance::Representation command.response_class = Google::Apis::ComputeV1::TargetInstance command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['targetInstance'] = target_instance unless target_instance.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a TargetInstance resource in the specified project and zone using # the data included in the request. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone scoping this request. # @param [Google::Apis::ComputeV1::TargetInstance] target_instance_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_target_instance(project, zone, target_instance_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/targetInstances', options) command.request_representation = Google::Apis::ComputeV1::TargetInstance::Representation command.request_object = target_instance_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of TargetInstance resources available to the specified # project and zone. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetInstanceList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetInstanceList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_target_instances(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/targetInstances', options) command.response_representation = Google::Apis::ComputeV1::TargetInstanceList::Representation command.response_class = Google::Apis::ComputeV1::TargetInstanceList command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the Google Cloud Armor security policy for the specified target # instance. For more information, seeGoogle # Cloud Armor Overview # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone scoping this request. # @param [String] target_instance # Name of the TargetInstance resource to which the security policy should be # set. The name should conform to RFC1035. # @param [Google::Apis::ComputeV1::SecurityPolicyReference] security_policy_reference_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_target_instance_security_policy(project, zone, target_instance, security_policy_reference_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/targetInstances/{targetInstance}/setSecurityPolicy', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicyReference::Representation command.request_object = security_policy_reference_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['targetInstance'] = target_instance unless target_instance.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_target_instance_iam_permissions(project, zone, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/targetInstances/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Adds health check URLs to a target pool. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] target_pool # Name of the target pool to add a health check to. # @param [Google::Apis::ComputeV1::AddTargetPoolsHealthCheckRequest] add_target_pools_health_check_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_target_pool_health_check(project, region, target_pool, add_target_pools_health_check_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck', options) command.request_representation = Google::Apis::ComputeV1::AddTargetPoolsHealthCheckRequest::Representation command.request_object = add_target_pools_health_check_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetPool'] = target_pool unless target_pool.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Adds an instance to a target pool. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] target_pool # Name of the TargetPool resource to add instances to. # @param [Google::Apis::ComputeV1::AddTargetPoolsInstanceRequest] add_target_pools_instance_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def add_target_pool_instance(project, region, target_pool, add_target_pools_instance_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance', options) command.request_representation = Google::Apis::ComputeV1::AddTargetPoolsInstanceRequest::Representation command.request_object = add_target_pools_instance_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetPool'] = target_pool unless target_pool.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of target pools. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetPoolAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetPoolAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_aggregated_target_pools(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/targetPools', options) command.response_representation = Google::Apis::ComputeV1::TargetPoolAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::TargetPoolAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified target pool. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] target_pool # Name of the TargetPool resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_target_pool(project, region, target_pool, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/targetPools/{targetPool}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetPool'] = target_pool unless target_pool.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified target pool. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] target_pool # Name of the TargetPool resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetPool] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetPool] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_target_pool(project, region, target_pool, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/targetPools/{targetPool}', options) command.response_representation = Google::Apis::ComputeV1::TargetPool::Representation command.response_class = Google::Apis::ComputeV1::TargetPool command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetPool'] = target_pool unless target_pool.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the most recent health check results for each IP for the # instance that is referenced by the given target pool. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] target_pool # Name of the TargetPool resource to which the queried instance belongs. # @param [Google::Apis::ComputeV1::InstanceReference] instance_reference_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetPoolInstanceHealth] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetPoolInstanceHealth] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_target_pool_health(project, region, target_pool, instance_reference_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/targetPools/{targetPool}/getHealth', options) command.request_representation = Google::Apis::ComputeV1::InstanceReference::Representation command.request_object = instance_reference_object command.response_representation = Google::Apis::ComputeV1::TargetPoolInstanceHealth::Representation command.response_class = Google::Apis::ComputeV1::TargetPoolInstanceHealth command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetPool'] = target_pool unless target_pool.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a target pool in the specified project and region using # the data included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [Google::Apis::ComputeV1::TargetPool] target_pool_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_target_pool(project, region, target_pool_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/targetPools', options) command.request_representation = Google::Apis::ComputeV1::TargetPool::Representation command.request_object = target_pool_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of target pools available to the specified # project and region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetPoolList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetPoolList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_target_pools(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/targetPools', options) command.response_representation = Google::Apis::ComputeV1::TargetPoolList::Representation command.response_class = Google::Apis::ComputeV1::TargetPoolList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Removes health check URL from a target pool. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] target_pool # Name of the target pool to remove health checks from. # @param [Google::Apis::ComputeV1::RemoveTargetPoolsHealthCheckRequest] remove_target_pools_health_check_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_target_pool_health_check(project, region, target_pool, remove_target_pools_health_check_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck', options) command.request_representation = Google::Apis::ComputeV1::RemoveTargetPoolsHealthCheckRequest::Representation command.request_object = remove_target_pools_health_check_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetPool'] = target_pool unless target_pool.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Removes instance URL from a target pool. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] target_pool # Name of the TargetPool resource to remove instances from. # @param [Google::Apis::ComputeV1::RemoveTargetPoolsInstanceRequest] remove_target_pools_instance_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def remove_target_pool_instance(project, region, target_pool, remove_target_pools_instance_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance', options) command.request_representation = Google::Apis::ComputeV1::RemoveTargetPoolsInstanceRequest::Representation command.request_object = remove_target_pools_instance_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetPool'] = target_pool unless target_pool.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes a backup target pool's configurations. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] target_pool # Name of the TargetPool resource to set a backup pool for. # @param [Google::Apis::ComputeV1::TargetReference] target_reference_object # @param [Float] failover_ratio # New failoverRatio value for the target pool. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_target_pool_backup(project, region, target_pool, target_reference_object = nil, failover_ratio: nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup', options) command.request_representation = Google::Apis::ComputeV1::TargetReference::Representation command.request_object = target_reference_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetPool'] = target_pool unless target_pool.nil? command.query['failoverRatio'] = failover_ratio unless failover_ratio.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the Google Cloud Armor security policy for the specified target pool. # For more information, seeGoogle # Cloud Armor Overview # @param [String] project # Project ID for this request. # @param [String] region # Name of the region scoping this request. # @param [String] target_pool # Name of the TargetPool resource to which the security policy should be # set. The name should conform to RFC1035. # @param [Google::Apis::ComputeV1::SecurityPolicyReference] security_policy_reference_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_target_pool_security_policy(project, region, target_pool, security_policy_reference_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/targetPools/{targetPool}/setSecurityPolicy', options) command.request_representation = Google::Apis::ComputeV1::SecurityPolicyReference::Representation command.request_object = security_policy_reference_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetPool'] = target_pool unless target_pool.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_target_pool_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/targetPools/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified TargetSslProxy resource. # @param [String] project # Project ID for this request. # @param [String] target_ssl_proxy # Name of the TargetSslProxy resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_target_ssl_proxy(project, target_ssl_proxy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/targetSslProxies/{targetSslProxy}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetSslProxy'] = target_ssl_proxy unless target_ssl_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified TargetSslProxy resource. # @param [String] project # Project ID for this request. # @param [String] target_ssl_proxy # Name of the TargetSslProxy resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetSslProxy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetSslProxy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_target_ssl_proxy(project, target_ssl_proxy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/targetSslProxies/{targetSslProxy}', options) command.response_representation = Google::Apis::ComputeV1::TargetSslProxy::Representation command.response_class = Google::Apis::ComputeV1::TargetSslProxy command.params['project'] = project unless project.nil? command.params['targetSslProxy'] = target_ssl_proxy unless target_ssl_proxy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a TargetSslProxy resource in the specified project using # the data included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::TargetSslProxy] target_ssl_proxy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_target_ssl_proxy(project, target_ssl_proxy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/targetSslProxies', options) command.request_representation = Google::Apis::ComputeV1::TargetSslProxy::Representation command.request_object = target_ssl_proxy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of TargetSslProxy resources # available to the specified project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetSslProxyList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetSslProxyList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_target_ssl_proxies(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/targetSslProxies', options) command.response_representation = Google::Apis::ComputeV1::TargetSslProxyList::Representation command.response_class = Google::Apis::ComputeV1::TargetSslProxyList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes the BackendService for TargetSslProxy. # @param [String] project # Project ID for this request. # @param [String] target_ssl_proxy # Name of the TargetSslProxy resource whose BackendService resource # is to be set. # @param [Google::Apis::ComputeV1::TargetSslProxiesSetBackendServiceRequest] target_ssl_proxies_set_backend_service_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_target_ssl_proxy_backend_service(project, target_ssl_proxy, target_ssl_proxies_set_backend_service_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService', options) command.request_representation = Google::Apis::ComputeV1::TargetSslProxiesSetBackendServiceRequest::Representation command.request_object = target_ssl_proxies_set_backend_service_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetSslProxy'] = target_ssl_proxy unless target_ssl_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes the Certificate Map for TargetSslProxy. # @param [String] project # Project ID for this request. # @param [String] target_ssl_proxy # Name of the TargetSslProxy resource whose CertificateMap is # to be set. The name must be 1-63 characters long, and comply with RFC1035. # @param [Google::Apis::ComputeV1::TargetSslProxiesSetCertificateMapRequest] target_ssl_proxies_set_certificate_map_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_target_ssl_proxy_certificate_map(project, target_ssl_proxy, target_ssl_proxies_set_certificate_map_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/targetSslProxies/{targetSslProxy}/setCertificateMap', options) command.request_representation = Google::Apis::ComputeV1::TargetSslProxiesSetCertificateMapRequest::Representation command.request_object = target_ssl_proxies_set_certificate_map_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetSslProxy'] = target_ssl_proxy unless target_ssl_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes the ProxyHeaderType for TargetSslProxy. # @param [String] project # Project ID for this request. # @param [String] target_ssl_proxy # Name of the TargetSslProxy resource whose ProxyHeader is to be set. # @param [Google::Apis::ComputeV1::TargetSslProxiesSetProxyHeaderRequest] target_ssl_proxies_set_proxy_header_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_target_ssl_proxy_proxy_header(project, target_ssl_proxy, target_ssl_proxies_set_proxy_header_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader', options) command.request_representation = Google::Apis::ComputeV1::TargetSslProxiesSetProxyHeaderRequest::Representation command.request_object = target_ssl_proxies_set_proxy_header_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetSslProxy'] = target_ssl_proxy unless target_ssl_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes SslCertificates for TargetSslProxy. # @param [String] project # Project ID for this request. # @param [String] target_ssl_proxy # Name of the TargetSslProxy resource whose SslCertificate resource # is to be set. # @param [Google::Apis::ComputeV1::TargetSslProxiesSetSslCertificatesRequest] target_ssl_proxies_set_ssl_certificates_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_target_ssl_proxy_ssl_certificates(project, target_ssl_proxy, target_ssl_proxies_set_ssl_certificates_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates', options) command.request_representation = Google::Apis::ComputeV1::TargetSslProxiesSetSslCertificatesRequest::Representation command.request_object = target_ssl_proxies_set_ssl_certificates_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetSslProxy'] = target_ssl_proxy unless target_ssl_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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. # @param [String] project # Project ID for this request. # @param [String] target_ssl_proxy # Name of the TargetSslProxy resource whose SSL policy is # to be set. The name must be 1-63 characters long, and comply with RFC1035. # @param [Google::Apis::ComputeV1::SslPolicyReference] ssl_policy_reference_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_target_ssl_proxy_ssl_policy(project, target_ssl_proxy, ssl_policy_reference_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy', options) command.request_representation = Google::Apis::ComputeV1::SslPolicyReference::Representation command.request_object = ssl_policy_reference_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetSslProxy'] = target_ssl_proxy unless target_ssl_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_target_ssl_proxy_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/targetSslProxies/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Name of the project scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetTcpProxyAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetTcpProxyAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_target_tcp_proxy_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/targetTcpProxies', options) command.response_representation = Google::Apis::ComputeV1::TargetTcpProxyAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::TargetTcpProxyAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified TargetTcpProxy resource. # @param [String] project # Project ID for this request. # @param [String] target_tcp_proxy # Name of the TargetTcpProxy resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_target_tcp_proxy(project, target_tcp_proxy, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/targetTcpProxies/{targetTcpProxy}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetTcpProxy'] = target_tcp_proxy unless target_tcp_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified TargetTcpProxy resource. # @param [String] project # Project ID for this request. # @param [String] target_tcp_proxy # Name of the TargetTcpProxy resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetTcpProxy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetTcpProxy] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_target_tcp_proxy(project, target_tcp_proxy, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/targetTcpProxies/{targetTcpProxy}', options) command.response_representation = Google::Apis::ComputeV1::TargetTcpProxy::Representation command.response_class = Google::Apis::ComputeV1::TargetTcpProxy command.params['project'] = project unless project.nil? command.params['targetTcpProxy'] = target_tcp_proxy unless target_tcp_proxy.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a TargetTcpProxy resource in the specified project using # the data included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::TargetTcpProxy] target_tcp_proxy_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_target_tcp_proxy(project, target_tcp_proxy_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/targetTcpProxies', options) command.request_representation = Google::Apis::ComputeV1::TargetTcpProxy::Representation command.request_object = target_tcp_proxy_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of TargetTcpProxy resources # available to the specified project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetTcpProxyList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetTcpProxyList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_target_tcp_proxies(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/targetTcpProxies', options) command.response_representation = Google::Apis::ComputeV1::TargetTcpProxyList::Representation command.response_class = Google::Apis::ComputeV1::TargetTcpProxyList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes the BackendService for TargetTcpProxy. # @param [String] project # Project ID for this request. # @param [String] target_tcp_proxy # Name of the TargetTcpProxy resource whose BackendService resource # is to be set. # @param [Google::Apis::ComputeV1::TargetTcpProxiesSetBackendServiceRequest] target_tcp_proxies_set_backend_service_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_target_tcp_proxy_backend_service(project, target_tcp_proxy, target_tcp_proxies_set_backend_service_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService', options) command.request_representation = Google::Apis::ComputeV1::TargetTcpProxiesSetBackendServiceRequest::Representation command.request_object = target_tcp_proxies_set_backend_service_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetTcpProxy'] = target_tcp_proxy unless target_tcp_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Changes the ProxyHeaderType for TargetTcpProxy. # @param [String] project # Project ID for this request. # @param [String] target_tcp_proxy # Name of the TargetTcpProxy resource whose ProxyHeader is to be set. # @param [Google::Apis::ComputeV1::TargetTcpProxiesSetProxyHeaderRequest] target_tcp_proxies_set_proxy_header_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_target_tcp_proxy_proxy_header(project, target_tcp_proxy, target_tcp_proxies_set_proxy_header_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader', options) command.request_representation = Google::Apis::ComputeV1::TargetTcpProxiesSetProxyHeaderRequest::Representation command.request_object = target_tcp_proxies_set_proxy_header_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['targetTcpProxy'] = target_tcp_proxy unless target_tcp_proxy.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_target_tcp_proxy_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/targetTcpProxies/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of target VPN gateways. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetVpnGatewayAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetVpnGatewayAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_aggregated_target_vpn_gateways(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/targetVpnGateways', options) command.response_representation = Google::Apis::ComputeV1::TargetVpnGatewayAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::TargetVpnGatewayAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified target VPN gateway. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] target_vpn_gateway # Name of the target VPN gateway to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_target_vpn_gateway(project, region, target_vpn_gateway, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetVpnGateway'] = target_vpn_gateway unless target_vpn_gateway.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified target VPN gateway. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] target_vpn_gateway # Name of the target VPN gateway to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetVpnGateway] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetVpnGateway] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_target_vpn_gateway(project, region, target_vpn_gateway, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}', options) command.response_representation = Google::Apis::ComputeV1::TargetVpnGateway::Representation command.response_class = Google::Apis::ComputeV1::TargetVpnGateway command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['targetVpnGateway'] = target_vpn_gateway unless target_vpn_gateway.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a target VPN gateway in the specified project and region using # the data included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [Google::Apis::ComputeV1::TargetVpnGateway] target_vpn_gateway_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_target_vpn_gateway(project, region, target_vpn_gateway_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/targetVpnGateways', options) command.request_representation = Google::Apis::ComputeV1::TargetVpnGateway::Representation command.request_object = target_vpn_gateway_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of target VPN gateways available to the specified # project and region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TargetVpnGatewayList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TargetVpnGatewayList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_target_vpn_gateways(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/targetVpnGateways', options) command.response_representation = Google::Apis::ComputeV1::TargetVpnGatewayList::Representation command.response_class = Google::Apis::ComputeV1::TargetVpnGatewayList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on a TargetVpnGateway. To learn more about labels, read # theLabeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] region # The region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_target_vpn_gateway_labels(project, region, resource, region_set_labels_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/targetVpnGateways/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::RegionSetLabelsRequest::Representation command.request_object = region_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # 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`. # @param [String] project # Name of the project scoping this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::UrlMapsAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::UrlMapsAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_url_map_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/urlMaps', options) command.response_representation = Google::Apis::ComputeV1::UrlMapsAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::UrlMapsAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified UrlMap resource. # @param [String] project # Project ID for this request. # @param [String] url_map # Name of the UrlMap resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_url_map(project, url_map, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/urlMaps/{urlMap}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['urlMap'] = url_map unless url_map.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified UrlMap resource. # @param [String] project # Project ID for this request. # @param [String] url_map # Name of the UrlMap resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::UrlMap] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::UrlMap] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_url_map(project, url_map, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/urlMaps/{urlMap}', options) command.response_representation = Google::Apis::ComputeV1::UrlMap::Representation command.response_class = Google::Apis::ComputeV1::UrlMap command.params['project'] = project unless project.nil? command.params['urlMap'] = url_map unless url_map.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a UrlMap resource in the specified project using # the data included in the request. # @param [String] project # Project ID for this request. # @param [Google::Apis::ComputeV1::UrlMap] url_map_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_url_map(project, url_map_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/urlMaps', options) command.request_representation = Google::Apis::ComputeV1::UrlMap::Representation command.request_object = url_map_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Initiates a cache invalidation operation, invalidating the specified path, # scoped to the specified UrlMap. # For more information, see [Invalidating cached # content](/cdn/docs/invalidating-cached-content). # @param [String] project # Project ID for this request. # @param [String] url_map # Name of the UrlMap scoping this request. # @param [Google::Apis::ComputeV1::CacheInvalidationRule] cache_invalidation_rule_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def invalidate_url_map_cache(project, url_map, cache_invalidation_rule_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/urlMaps/{urlMap}/invalidateCache', options) command.request_representation = Google::Apis::ComputeV1::CacheInvalidationRule::Representation command.request_object = cache_invalidation_rule_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['urlMap'] = url_map unless url_map.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of UrlMap resources available to the specified # project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::UrlMapList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::UrlMapList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_url_maps(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/urlMaps', options) command.response_representation = Google::Apis::ComputeV1::UrlMapList::Representation command.response_class = Google::Apis::ComputeV1::UrlMapList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Patches the specified UrlMap resource with the data included in the # request. This method supportsPATCH # semantics and uses theJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] url_map # Name of the UrlMap resource to patch. # @param [Google::Apis::ComputeV1::UrlMap] url_map_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_url_map(project, url_map, url_map_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/urlMaps/{urlMap}', options) command.request_representation = Google::Apis::ComputeV1::UrlMap::Representation command.request_object = url_map_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['urlMap'] = url_map unless url_map.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_url_map_iam_permissions(project, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/urlMaps/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified UrlMap resource with the data included in the # request. # @param [String] project # Project ID for this request. # @param [String] url_map # Name of the UrlMap resource to update. # @param [Google::Apis::ComputeV1::UrlMap] url_map_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def update_url_map(project, url_map, url_map_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:put, 'projects/{project}/global/urlMaps/{urlMap}', options) command.request_representation = Google::Apis::ComputeV1::UrlMap::Representation command.request_object = url_map_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['urlMap'] = url_map unless url_map.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Runs static validation for the UrlMap. In particular, the tests of the # provided UrlMap will be run. Calling this method does NOT create the # UrlMap. # @param [String] project # Project ID for this request. # @param [String] url_map # Name of the UrlMap resource to be validated as. # @param [Google::Apis::ComputeV1::ValidateUrlMapsRequest] validate_url_maps_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ValidateUrlMapsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ValidateUrlMapsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def validate_url_map(project, url_map, validate_url_maps_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/urlMaps/{urlMap}/validate', options) command.request_representation = Google::Apis::ComputeV1::ValidateUrlMapsRequest::Representation command.request_object = validate_url_maps_request_object command.response_representation = Google::Apis::ComputeV1::ValidateUrlMapsResponse::Representation command.response_class = Google::Apis::ComputeV1::ValidateUrlMapsResponse command.params['project'] = project unless project.nil? command.params['urlMap'] = url_map unless url_map.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of VPN gateways. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::VpnGatewayAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::VpnGatewayAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def aggregated_vpn_gateway_list(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/vpnGateways', options) command.response_representation = Google::Apis::ComputeV1::VpnGatewayAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::VpnGatewayAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified VPN gateway. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] vpn_gateway # Name of the VPN gateway to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_vpn_gateway(project, region, vpn_gateway, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/vpnGateways/{vpnGateway}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['vpnGateway'] = vpn_gateway unless vpn_gateway.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified VPN gateway. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] vpn_gateway # Name of the VPN gateway to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::VpnGateway] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::VpnGateway] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_vpn_gateway(project, region, vpn_gateway, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/vpnGateways/{vpnGateway}', options) command.response_representation = Google::Apis::ComputeV1::VpnGateway::Representation command.response_class = Google::Apis::ComputeV1::VpnGateway command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['vpnGateway'] = vpn_gateway unless vpn_gateway.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the status for the specified VPN gateway. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] vpn_gateway # Name of the VPN gateway to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::VpnGatewaysGetStatusResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::VpnGatewaysGetStatusResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_vpn_gateway_status(project, region, vpn_gateway, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/vpnGateways/{vpnGateway}/getStatus', options) command.response_representation = Google::Apis::ComputeV1::VpnGatewaysGetStatusResponse::Representation command.response_class = Google::Apis::ComputeV1::VpnGatewaysGetStatusResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['vpnGateway'] = vpn_gateway unless vpn_gateway.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a VPN gateway in the specified project and region using # the data included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [Google::Apis::ComputeV1::VpnGateway] vpn_gateway_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_vpn_gateway(project, region, vpn_gateway_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/vpnGateways', options) command.request_representation = Google::Apis::ComputeV1::VpnGateway::Representation command.request_object = vpn_gateway_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of VPN gateways available to the specified # project and region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::VpnGatewayList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::VpnGatewayList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_vpn_gateways(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/vpnGateways', options) command.response_representation = Google::Apis::ComputeV1::VpnGatewayList::Representation command.response_class = Google::Apis::ComputeV1::VpnGatewayList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on a VpnGateway. To learn more about labels, read theLabeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] region # The region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_vpn_gateway_labels(project, region, resource, region_set_labels_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/vpnGateways/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::RegionSetLabelsRequest::Representation command.request_object = region_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns permissions that a caller has on the specified resource. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::TestPermissionsRequest] test_permissions_request_object # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::TestPermissionsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::TestPermissionsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def test_vpn_gateway_iam_permissions(project, region, resource, test_permissions_request_object = nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/vpnGateways/{resource}/testIamPermissions', options) command.request_representation = Google::Apis::ComputeV1::TestPermissionsRequest::Representation command.request_object = test_permissions_request_object command.response_representation = Google::Apis::ComputeV1::TestPermissionsResponse::Representation command.response_class = Google::Apis::ComputeV1::TestPermissionsResponse command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves an aggregated list of VPN tunnels. # To prevent failure, Google recommends that you set the # `returnPartialSuccess` parameter to `true`. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Boolean] include_all_scopes # 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [Fixnum] service_project_number # The Shared VPC service project id or service project number for which # aggregated list request is invoked for subnetworks list-usable api. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::VpnTunnelAggregatedList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::VpnTunnelAggregatedList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_aggregated_vpn_tunnel(project, filter: nil, include_all_scopes: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, service_project_number: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/aggregated/vpnTunnels', options) command.response_representation = Google::Apis::ComputeV1::VpnTunnelAggregatedList::Representation command.response_class = Google::Apis::ComputeV1::VpnTunnelAggregatedList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['includeAllScopes'] = include_all_scopes unless include_all_scopes.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['serviceProjectNumber'] = service_project_number unless service_project_number.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified VpnTunnel resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] vpn_tunnel # Name of the VpnTunnel resource to delete. # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_vpn_tunnel(project, region, vpn_tunnel, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['vpnTunnel'] = vpn_tunnel unless vpn_tunnel.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified VpnTunnel resource. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] vpn_tunnel # Name of the VpnTunnel resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::VpnTunnel] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::VpnTunnel] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_vpn_tunnel(project, region, vpn_tunnel, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}', options) command.response_representation = Google::Apis::ComputeV1::VpnTunnel::Representation command.response_class = Google::Apis::ComputeV1::VpnTunnel command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['vpnTunnel'] = vpn_tunnel unless vpn_tunnel.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a VpnTunnel resource in the specified project and region using # the data included in the request. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [Google::Apis::ComputeV1::VpnTunnel] vpn_tunnel_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_vpn_tunnel(project, region, vpn_tunnel_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/vpnTunnels', options) command.request_representation = Google::Apis::ComputeV1::VpnTunnel::Representation command.request_object = vpn_tunnel_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of VpnTunnel resources contained in the specified # project and region. # @param [String] project # Project ID for this request. # @param [String] region # Name of the region for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::VpnTunnelList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::VpnTunnelList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_vpn_tunnels(project, region, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/regions/{region}/vpnTunnels', options) command.response_representation = Google::Apis::ComputeV1::VpnTunnelList::Representation command.response_class = Google::Apis::ComputeV1::VpnTunnelList command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Sets the labels on a VpnTunnel. To learn more about labels, read theLabeling # Resources documentation. # @param [String] project # Project ID for this request. # @param [String] region # The region for this request. # @param [String] resource # Name or id of the resource for this request. # @param [Google::Apis::ComputeV1::RegionSetLabelsRequest] region_set_labels_request_object # @param [String] request_id # 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). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def set_vpn_tunnel_labels(project, region, resource, region_set_labels_request_object = nil, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/regions/{region}/vpnTunnels/{resource}/setLabels', options) command.request_representation = Google::Apis::ComputeV1::RegionSetLabelsRequest::Representation command.request_object = region_set_labels_request_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['region'] = region unless region.nil? command.params['resource'] = resource unless resource.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified wire group in the given scope. # @param [String] project # Project ID for this request. # @param [String] cross_site_network # @param [String] wire_group # Name of the wire group resource to delete. # @param [String] request_id # 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 # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_wire_group(project, cross_site_network, wire_group, request_id: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['crossSiteNetwork'] = cross_site_network unless cross_site_network.nil? command.params['wireGroup'] = wire_group unless wire_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Gets the specified wire group resource in the given scope. # @param [String] project # Project ID for this request. # @param [String] cross_site_network # @param [String] wire_group # Name of the wire group resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::WireGroup] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::WireGroup] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_wire_group(project, cross_site_network, wire_group, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}', options) command.response_representation = Google::Apis::ComputeV1::WireGroup::Representation command.response_class = Google::Apis::ComputeV1::WireGroup command.params['project'] = project unless project.nil? command.params['crossSiteNetwork'] = cross_site_network unless cross_site_network.nil? command.params['wireGroup'] = wire_group unless wire_group.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Creates a wire group in the specified project in the given scope # using the parameters that are included in the request. # @param [String] project # Project ID for this request. # @param [String] cross_site_network # @param [Google::Apis::ComputeV1::WireGroup] wire_group_object # @param [String] request_id # 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 # @param [Boolean] validate_only # [Input Only] Validate the new configuration, but don't create it. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def insert_wire_group(project, cross_site_network, wire_group_object = nil, request_id: nil, validate_only: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups', options) command.request_representation = Google::Apis::ComputeV1::WireGroup::Representation command.request_object = wire_group_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['crossSiteNetwork'] = cross_site_network unless cross_site_network.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['validateOnly'] = validate_only unless validate_only.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Lists the wire groups for a project in the given scope. # @param [String] project # Project ID for this request. # @param [String] cross_site_network # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::WireGroupList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::WireGroupList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_wire_groups(project, cross_site_network, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups', options) command.response_representation = Google::Apis::ComputeV1::WireGroupList::Representation command.response_class = Google::Apis::ComputeV1::WireGroupList command.params['project'] = project unless project.nil? command.params['crossSiteNetwork'] = cross_site_network unless cross_site_network.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Updates the specified wire group resource with the data included in the # request. This method supportsPATCH # semantics and usesJSON merge # patch format and processing rules. # @param [String] project # Project ID for this request. # @param [String] cross_site_network # @param [String] wire_group # Name of the WireGroups resource to patch. # @param [Google::Apis::ComputeV1::WireGroup] wire_group_object # @param [String] request_id # 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 # @param [String] update_mask # update_mask indicates fields to be updated as part of this request. # @param [Boolean] validate_only # [Input Only] Validate the new configuration, but don't update it. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def patch_wire_group(project, cross_site_network, wire_group, wire_group_object = nil, request_id: nil, update_mask: nil, validate_only: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:patch, 'projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}', options) command.request_representation = Google::Apis::ComputeV1::WireGroup::Representation command.request_object = wire_group_object command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['crossSiteNetwork'] = cross_site_network unless cross_site_network.nil? command.params['wireGroup'] = wire_group unless wire_group.nil? command.query['requestId'] = request_id unless request_id.nil? command.query['updateMask'] = update_mask unless update_mask.nil? command.query['validateOnly'] = validate_only unless validate_only.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Deletes the specified zone-specific Operations resource. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. # @param [String] operation # Name of the Operations resource to delete, or its unique numeric # identifier. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [NilClass] No result returned for this method # @yieldparam err [StandardError] error object if request failed # # @return [void] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def delete_zone_operation(project, zone, operation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:delete, 'projects/{project}/zones/{zone}/operations/{operation}', options) command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['operation'] = operation unless operation.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the specified zone-specific Operations resource. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. # @param [String] operation # Name of the Operations resource to return, or its unique numeric # identifier. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_zone_operation(project, zone, operation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/operations/{operation}', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['operation'] = operation unless operation.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves a list of Operation resources contained within # the specified zone. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::OperationList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::OperationList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_zone_operations(project, zone, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}/operations', options) command.response_representation = Google::Apis::ComputeV1::OperationList::Representation command.response_class = Google::Apis::ComputeV1::OperationList command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Waits for the specified Operation resource to return as `DONE` # or for the request to approach the 2 minute deadline, and retrieves the # specified Operation resource. This method waits for no more than the # 2 minutes and then returns the current state of the # operation, which might be `DONE` or still in progress. # This method is called on a best-effort basis. Specifically: # # # - In uncommon cases, when the server is overloaded, the request might # return before the default deadline is reached, or might return after zero # seconds. # - If the default deadline is reached, there is no guarantee that the # operation is actually done when the method returns. Be prepared to retry # if the operation is not `DONE`. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone for this request. # @param [String] operation # Name of the Operations resource to return, or its unique numeric # identifier. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def wait_zone_operation(project, zone, operation, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:post, 'projects/{project}/zones/{zone}/operations/{operation}/wait', options) command.response_representation = Google::Apis::ComputeV1::Operation::Representation command.response_class = Google::Apis::ComputeV1::Operation command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.params['operation'] = operation unless operation.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Returns the specified Zone resource. # @param [String] project # Project ID for this request. # @param [String] zone # Name of the zone resource to return. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Zone] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Zone] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_zone(project, zone, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones/{zone}', options) command.response_representation = Google::Apis::ComputeV1::Zone::Representation command.response_class = Google::Apis::ComputeV1::Zone command.params['project'] = project unless project.nil? command.params['zone'] = zone unless zone.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end # Retrieves the list of Zone resources available to the specified project. # @param [String] project # Project ID for this request. # @param [String] filter # A filter expression that filters resources listed in the 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 onresource labels. # To filter on multiple expressions, provide each separate expression within # parentheses. For example: # ``` # (scheduling.automaticRestart = true) # (cpuPlatform = "Intel Skylake") # ``` # By default, each expression is an `AND` expression. However, you # can include `AND` and `OR` expressions explicitly. # For example: # ``` # (cpuPlatform = "Intel Skylake") OR # (cpuPlatform = "Intel Broadwell") AND # (scheduling.automaticRestart = true) # ``` # If you want to use a regular expression, use the `eq` (equal) or `ne` # (not equal) operator against a single un-parenthesized expression with or # without quotes or against multiple parenthesized expressions. Examples: # `fieldname eq unquoted literal` # `fieldname eq 'single quoted literal'` # `fieldname eq "double quoted literal"` # `(fieldname1 eq literal) (fieldname2 ne "literal")` # The literal value is interpreted as a regular expression using GoogleRE2 # library syntax. # The literal value 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. # @param [Fixnum] max_results # 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`) # @param [String] order_by # 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. # @param [String] page_token # Specifies a page token to use. Set `pageToken` to the # `nextPageToken` returned by a previous list request to get # the next page of results. # @param [Boolean] return_partial_success # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # 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. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::ZoneList] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::ZoneList] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_zones(project, filter: nil, max_results: nil, order_by: nil, page_token: nil, return_partial_success: nil, fields: nil, quota_user: nil, user_ip: nil, options: nil, &block) command = make_simple_command(:get, 'projects/{project}/zones', options) command.response_representation = Google::Apis::ComputeV1::ZoneList::Representation command.response_class = Google::Apis::ComputeV1::ZoneList command.params['project'] = project unless project.nil? command.query['filter'] = filter unless filter.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['orderBy'] = order_by unless order_by.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['returnPartialSuccess'] = return_partial_success unless return_partial_success.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? execute_or_queue_command(command, &block) end protected def apply_command_defaults(command) command.query['key'] = key unless key.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? command.query['userIp'] = user_ip unless user_ip.nil? end end end end end google-apis-compute_v1-0.140.0/lib/google/apis/compute_v1/classes.rb0000644000004100000410001224135315140136377025236 0ustar www-datawww-data# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require 'date' require 'google/apis/core/base_service' require 'google/apis/core/json_representation' require 'google/apis/core/hashable' require 'google/apis/errors' module Google module Apis module ComputeV1 # 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'. class Awsv4Signature include Google::Apis::Core::Hashable # 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 # Corresponds to the JSON property `accessKey` # @return [String] attr_accessor :access_key # The identifier of an access key used for s3 bucket authentication. # Corresponds to the JSON property `accessKeyId` # @return [String] attr_accessor :access_key_id # The optional version identifier for the access key. You can use this to # keep track of different iterations of your access key. # Corresponds to the JSON property `accessKeyVersion` # @return [String] attr_accessor :access_key_version # 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. # Corresponds to the JSON property `originRegion` # @return [String] attr_accessor :origin_region def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @access_key = args[:access_key] if args.key?(:access_key) @access_key_id = args[:access_key_id] if args.key?(:access_key_id) @access_key_version = args[:access_key_version] if args.key?(:access_key_version) @origin_region = args[:origin_region] if args.key?(:origin_region) end end # A specification of the type and number of accelerator cards attached to the # instance. class AcceleratorConfig include Google::Apis::Core::Hashable # The number of the guest accelerator cards exposed to this instance. # Corresponds to the JSON property `acceleratorCount` # @return [Fixnum] attr_accessor :accelerator_count # Full or partial URL of the accelerator type resource to attach to this # instance. For example:projects/my-project/zones/us-central1-c/acceleratorTypes/ # nvidia-tesla-p100 # If you are creating an instance template, specify only the # accelerator name. # See GPUs on Compute Engine # for a full list of accelerator types. # Corresponds to the JSON property `acceleratorType` # @return [String] attr_accessor :accelerator_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @accelerator_count = args[:accelerator_count] if args.key?(:accelerator_count) @accelerator_type = args[:accelerator_type] if args.key?(:accelerator_type) end end # Info for accelerator topologies within a densely packed reservation. class AcceleratorTopologiesInfo include Google::Apis::Core::Hashable # Info for each accelerator topology. # Corresponds to the JSON property `acceleratorTopologyInfos` # @return [Array] attr_accessor :accelerator_topology_infos def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @accelerator_topology_infos = args[:accelerator_topology_infos] if args.key?(:accelerator_topology_infos) end end # Info for a slice of a given topology. class AcceleratorTopologiesInfoAcceleratorTopologyInfo include Google::Apis::Core::Hashable # The accelerator topology. # Corresponds to the JSON property `acceleratorTopology` # @return [String] attr_accessor :accelerator_topology # Info for each topology state. # Corresponds to the JSON property `infoPerTopologyStates` # @return [Array] attr_accessor :info_per_topology_states def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @accelerator_topology = args[:accelerator_topology] if args.key?(:accelerator_topology) @info_per_topology_states = args[:info_per_topology_states] if args.key?(:info_per_topology_states) end end # Info for each topology state. class AcceleratorTopologiesInfoAcceleratorTopologyInfoInfoPerTopologyState include Google::Apis::Core::Hashable # The number of accelerator topologies in this state. # Corresponds to the JSON property `count` # @return [Fixnum] attr_accessor :count # The state of the accelerator topology. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @count = args[:count] if args.key?(:count) @state = args[:state] if args.key?(:state) end end # Represents an Accelerator Type resource. # Google Cloud Platform provides graphics processing units (accelerators) that # you can add to VM instances to improve or accelerate performance when working # with intensive workloads. For more information, readGPUs on Compute Engine. class AcceleratorType include Google::Apis::Core::Hashable # [Output Only] Creation timestamp inRFC3339 text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Deprecation status for a public resource. # Corresponds to the JSON property `deprecated` # @return [Google::Apis::ComputeV1::DeprecationStatus] attr_accessor :deprecated # [Output Only] An optional textual description of the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] The type of the resource. Alwayscompute# # acceleratorType for accelerator types. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] Maximum number of accelerator cards allowed per instance. # Corresponds to the JSON property `maximumCardsPerInstance` # @return [Fixnum] attr_accessor :maximum_cards_per_instance # [Output Only] Name of the resource. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] Server-defined, fully qualified URL for this # resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] The name of the zone where the accelerator type resides, # such as us-central1-a. # You must specify this field as part of the HTTP request URL. It is # not settable as a field in the request body. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @deprecated = args[:deprecated] if args.key?(:deprecated) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @maximum_cards_per_instance = args[:maximum_cards_per_instance] if args.key?(:maximum_cards_per_instance) @name = args[:name] if args.key?(:name) @self_link = args[:self_link] if args.key?(:self_link) @zone = args[:zone] if args.key?(:zone) end end # class AcceleratorTypeAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of AcceleratorTypesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # acceleratorTypeAggregatedList for aggregated lists of # accelerator types. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::AcceleratorTypeAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of accelerator types. class AcceleratorTypeList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of AcceleratorType resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute#acceleratorTypeList # for lists of accelerator types. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::AcceleratorTypeList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class AcceleratorTypesScopedList include Google::Apis::Core::Hashable # [Output Only] A list of accelerator types contained in this scope. # Corresponds to the JSON property `acceleratorTypes` # @return [Array] attr_accessor :accelerator_types # [Output Only] An informational warning that appears when the accelerator # types list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::AcceleratorTypesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @accelerator_types = args[:accelerator_types] if args.key?(:accelerator_types) @warning = args[:warning] if args.key?(:warning) end # [Output Only] An informational warning that appears when the accelerator # types list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # An access configuration attached to an instance's network interface. # Only one access config per instance is supported. class AccessConfig include Google::Apis::Core::Hashable # Applies to ipv6AccessConfigs only. # The first IPv6 address of the external IPv6 range associated # with this instance, prefix length is stored inexternalIpv6PrefixLength 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. # Corresponds to the JSON property `externalIpv6` # @return [String] attr_accessor :external_ipv6 # Applies to ipv6AccessConfigs only. The prefix length of the # external IPv6 range. # Corresponds to the JSON property `externalIpv6PrefixLength` # @return [Fixnum] attr_accessor :external_ipv6_prefix_length # Output only. [Output Only] Type of the resource. Alwayscompute#accessConfig # for access configs. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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 orNetwork Access. In # ipv6AccessConfigs, the # recommend name is External IPv6. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Applies to accessConfigs (IPv4) only. Anexternal 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. # Corresponds to the JSON property `natIP` # @return [String] attr_accessor :nat_ip # 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. # Corresponds to the JSON property `networkTier` # @return [String] attr_accessor :network_tier # The DNS domain name for the public PTR record. # You can set this field only if the `setPublicPtr` field is enabled # inaccessConfig. If this field is unspecified inipv6AccessConfig, a default PTR # record will be created for # first IP in associated external IPv6 range. # Corresponds to the JSON property `publicPtrDomainName` # @return [String] attr_accessor :public_ptr_domain_name # The resource URL for the security policy associated with this access # config. # Corresponds to the JSON property `securityPolicy` # @return [String] attr_accessor :security_policy # 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. # Corresponds to the JSON property `setPublicPtr` # @return [Boolean] attr_accessor :set_public_ptr alias_method :set_public_ptr?, :set_public_ptr # The type of configuration. In accessConfigs (IPv4), the # default and only option is ONE_TO_ONE_NAT. Inipv6AccessConfigs, the default # and only option isDIRECT_IPV6. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @external_ipv6 = args[:external_ipv6] if args.key?(:external_ipv6) @external_ipv6_prefix_length = args[:external_ipv6_prefix_length] if args.key?(:external_ipv6_prefix_length) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @nat_ip = args[:nat_ip] if args.key?(:nat_ip) @network_tier = args[:network_tier] if args.key?(:network_tier) @public_ptr_domain_name = args[:public_ptr_domain_name] if args.key?(:public_ptr_domain_name) @security_policy = args[:security_policy] if args.key?(:security_policy) @set_public_ptr = args[:set_public_ptr] if args.key?(:set_public_ptr) @type = args[:type] if args.key?(:type) end end # Represents an IP Address resource. # Google Compute Engine has two IP Address resources: # * [Global (external and # internal)](https://cloud.google.com/compute/docs/reference/rest/v1/ # globalAddresses) # * [Regional (external and # internal)](https://cloud.google.com/compute/docs/reference/rest/v1/addresses) # For more information, see # Reserving a static external IP address. class Address include Google::Apis::Core::Hashable # The static IP address represented by this resource. # Corresponds to the JSON property `address` # @return [String] attr_accessor :address # The type of address to reserve, either INTERNAL orEXTERNAL. If unspecified, # defaults to EXTERNAL. # Corresponds to the JSON property `addressType` # @return [String] attr_accessor :address_type # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this field when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Reference to the source of external IPv4 addresses, # like a PublicDelegatedPrefix (PDP) for BYOIP. # The PDP must support enhanced IPv4 allocations. # Use one of the following formats to specify a PDP when reserving an # external IPv4 address using BYOIP. # # - # Full resource URL, as inhttps://www.googleapis.com/compute/v1/projects/ # projectId/regions/region/publicDelegatedPrefixes/pdp-name # - # Partial URL, as in # # # - projects/projectId/regions/region/publicDelegatedPrefixes/pdp-name # - regions/region/publicDelegatedPrefixes/pdp-name # Corresponds to the JSON property `ipCollection` # @return [String] attr_accessor :ip_collection # The IP version that will be used by this address. Valid options areIPV4 or # IPV6. # Corresponds to the JSON property `ipVersion` # @return [String] attr_accessor :ip_version # 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. # Corresponds to the JSON property `ipv6EndpointType` # @return [String] attr_accessor :ipv6_endpoint_type # Output only. [Output Only] Type of the resource. Always compute#address for # addresses. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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 error412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve an Address. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # Labels for this resource. These can only be added or modified by thesetLabels # method. Each label key/value pair must comply withRFC1035. # Label values may be empty. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The URL of the network in which to reserve the address. This field can # only be used with INTERNAL type with theVPC_PEERING purpose. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # This signifies the networking tier used for configuring this address and # can only take the following values: PREMIUM orSTANDARD. 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. # Corresponds to the JSON property `networkTier` # @return [String] attr_accessor :network_tier # The prefix length if the resource represents an IP range. # Corresponds to the JSON property `prefixLength` # @return [Fixnum] attr_accessor :prefix_length # The purpose of this resource, which can be one of the following values: # # # - GCE_ENDPOINT for addresses that are used by VM # instances, alias IP ranges, load balancers, and similar resources. # - DNS_RESOLVER for a DNS resolver address in a subnetwork # for a Cloud DNS inbound # forwarder IP addresses (regional internal IP address in a subnet of # a VPC network) # - VPC_PEERING for global internal IP addresses used for # # private services access allocated ranges. # - NAT_AUTO for the regional external IP addresses used by # Cloud NAT when allocating addresses using # # automatic NAT IP address allocation. # - IPSEC_INTERCONNECT for addresses created from a private # IP range that are reserved for a VLAN attachment in an # *HA VPN over Cloud Interconnect* configuration. These addresses # are regional resources. # - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned # to multiple internal forwarding rules. # - `PRIVATE_SERVICE_CONNECT` for a private network address that is # used to configure Private Service Connect. Only global internal addresses # can use this purpose. # Corresponds to the JSON property `purpose` # @return [String] attr_accessor :purpose # Output only. [Output Only] The URL of the region where a regional address # resides. # For regional addresses, you must specify the region as a path parameter in # the HTTP request URL. *This field is not applicable to global # addresses.* # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] The status of the address, which can be one # ofRESERVING, RESERVED, or IN_USE. # An address that is RESERVING is currently in the process of # being reserved. A RESERVED address is currently reserved and # available to use. An IN_USE address is currently being used # by another resource and is not available. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # The URL of the subnetwork in which to reserve the address. If an IP address # is specified, it must be within the subnetwork's IP range. This field can # only be used with INTERNAL type with aGCE_ENDPOINT or DNS_RESOLVER purpose. # Corresponds to the JSON property `subnetwork` # @return [String] attr_accessor :subnetwork # [Output Only] The URLs of the resources that are using this address. # Corresponds to the JSON property `users` # @return [Array] attr_accessor :users def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @address = args[:address] if args.key?(:address) @address_type = args[:address_type] if args.key?(:address_type) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @ip_collection = args[:ip_collection] if args.key?(:ip_collection) @ip_version = args[:ip_version] if args.key?(:ip_version) @ipv6_endpoint_type = args[:ipv6_endpoint_type] if args.key?(:ipv6_endpoint_type) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @network_tier = args[:network_tier] if args.key?(:network_tier) @prefix_length = args[:prefix_length] if args.key?(:prefix_length) @purpose = args[:purpose] if args.key?(:purpose) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @status = args[:status] if args.key?(:status) @subnetwork = args[:subnetwork] if args.key?(:subnetwork) @users = args[:users] if args.key?(:users) end end # class AddressAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of AddressesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # addressAggregatedList for aggregated lists of # addresses. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::AddressAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of addresses. class AddressList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Address resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#addressList for # lists of addresses. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::AddressList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class AddressesScopedList include Google::Apis::Core::Hashable # [Output Only] A list of addresses contained in this scope. # Corresponds to the JSON property `addresses` # @return [Array] attr_accessor :addresses # [Output Only] Informational warning which replaces the list of addresses # when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::AddressesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @addresses = args[:addresses] if args.key?(:addresses) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning which replaces the list of addresses # when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Specifies options for controlling advanced machine features. # Options that would traditionally be configured in a BIOS belong # here. Features that require operating system support may have # corresponding entries in the GuestOsFeatures of anImage (e.g., whether or not # the OS in theImage supports nested virtualization being enabled or # disabled). class AdvancedMachineFeatures include Google::Apis::Core::Hashable # Whether to enable nested virtualization or not (default is false). # Corresponds to the JSON property `enableNestedVirtualization` # @return [Boolean] attr_accessor :enable_nested_virtualization alias_method :enable_nested_virtualization?, :enable_nested_virtualization # Whether to enable UEFI networking for instance creation. # Corresponds to the JSON property `enableUefiNetworking` # @return [Boolean] attr_accessor :enable_uefi_networking alias_method :enable_uefi_networking?, :enable_uefi_networking # Type of Performance Monitoring Unit requested on instance. # Corresponds to the JSON property `performanceMonitoringUnit` # @return [String] attr_accessor :performance_monitoring_unit # The number of threads per physical core. To disable simultaneous # multithreading (SMT) set this to 1. If unset, the maximum number # of threads supported per core by the underlying processor is # assumed. # Corresponds to the JSON property `threadsPerCore` # @return [Fixnum] attr_accessor :threads_per_core # Turbo frequency mode to use for the instance. # Supported modes include: # * ALL_CORE_MAX # Using empty string or not setting this field will use the platform-specific # default turbo mode. # Corresponds to the JSON property `turboMode` # @return [String] attr_accessor :turbo_mode # The number of physical cores to expose to an instance. Multiply by # the number of threads per core to compute the total number of virtual # CPUs to expose to the instance. If unset, the number of cores is # inferred from the instance's nominal CPU count and the underlying # platform's SMT width. # Corresponds to the JSON property `visibleCoreCount` # @return [Fixnum] attr_accessor :visible_core_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization) @enable_uefi_networking = args[:enable_uefi_networking] if args.key?(:enable_uefi_networking) @performance_monitoring_unit = args[:performance_monitoring_unit] if args.key?(:performance_monitoring_unit) @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core) @turbo_mode = args[:turbo_mode] if args.key?(:turbo_mode) @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count) end end # An alias IP range attached to an instance's network interface. class AliasIpRange include Google::Apis::Core::Hashable # The IP alias ranges to allocate for this interface. This IP CIDR range # must belong to the specified subnetwork and cannot contain IP addresses # reserved by system or used by other network interfaces. This range may be # a single IP address (such as 10.2.3.4), a netmask (such as/24) or a CIDR- # formatted string (such as10.1.2.0/24). # Corresponds to the JSON property `ipCidrRange` # @return [String] attr_accessor :ip_cidr_range # The name of a subnetwork secondary IP range from which to allocate an IP # alias range. If not specified, the primary range of the subnetwork is used. # Corresponds to the JSON property `subnetworkRangeName` # @return [String] attr_accessor :subnetwork_range_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range) @subnetwork_range_name = args[:subnetwork_range_name] if args.key?(:subnetwork_range_name) end end # 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. class AllocationAggregateReservation include Google::Apis::Core::Hashable # Output only. [Output only] List of resources currently in use. # Corresponds to the JSON property `inUseResources` # @return [Array] attr_accessor :in_use_resources # List of reserved resources (CPUs, memory, accelerators). # Corresponds to the JSON property `reservedResources` # @return [Array] attr_accessor :reserved_resources # The VM family that all instances scheduled against this reservation must # belong to. # Corresponds to the JSON property `vmFamily` # @return [String] attr_accessor :vm_family # The workload type of the instances that will target this reservation. # Corresponds to the JSON property `workloadType` # @return [String] attr_accessor :workload_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @in_use_resources = args[:in_use_resources] if args.key?(:in_use_resources) @reserved_resources = args[:reserved_resources] if args.key?(:reserved_resources) @vm_family = args[:vm_family] if args.key?(:vm_family) @workload_type = args[:workload_type] if args.key?(:workload_type) end end # class AllocationAggregateReservationReservedResourceInfo include Google::Apis::Core::Hashable # Properties of accelerator resources in this reservation. # Corresponds to the JSON property `accelerator` # @return [Google::Apis::ComputeV1::AllocationAggregateReservationReservedResourceInfoAccelerator] attr_accessor :accelerator def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @accelerator = args[:accelerator] if args.key?(:accelerator) end end # class AllocationAggregateReservationReservedResourceInfoAccelerator include Google::Apis::Core::Hashable # Number of accelerators of specified type. # Corresponds to the JSON property `acceleratorCount` # @return [Fixnum] attr_accessor :accelerator_count # Full or partial URL to accelerator type. e.g. # "projects/`PROJECT`/zones/`ZONE`/acceleratorTypes/ct4l" # Corresponds to the JSON property `acceleratorType` # @return [String] attr_accessor :accelerator_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @accelerator_count = args[:accelerator_count] if args.key?(:accelerator_count) @accelerator_type = args[:accelerator_type] if args.key?(:accelerator_type) end end # class AllocationReservationSharingPolicy include Google::Apis::Core::Hashable # Sharing config for all Google Cloud services. # Corresponds to the JSON property `serviceShareType` # @return [String] attr_accessor :service_share_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @service_share_type = args[:service_share_type] if args.key?(:service_share_type) end end # [Output Only] Contains output only fields. class AllocationResourceStatus include Google::Apis::Core::Hashable # Health information for the reservation. # Corresponds to the JSON property `healthInfo` # @return [Google::Apis::ComputeV1::AllocationResourceStatusHealthInfo] attr_accessor :health_info # The number of reservation blocks associated with this reservation. # Corresponds to the JSON property `reservationBlockCount` # @return [Fixnum] attr_accessor :reservation_block_count # Maintenance Info for ReservationBlocks. # Corresponds to the JSON property `reservationMaintenance` # @return [Google::Apis::ComputeV1::GroupMaintenanceInfo] attr_accessor :reservation_maintenance # Contains Properties set for the reservation. # Corresponds to the JSON property `specificSkuAllocation` # @return [Google::Apis::ComputeV1::AllocationResourceStatusSpecificSkuAllocation] attr_accessor :specific_sku_allocation def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @health_info = args[:health_info] if args.key?(:health_info) @reservation_block_count = args[:reservation_block_count] if args.key?(:reservation_block_count) @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance) @specific_sku_allocation = args[:specific_sku_allocation] if args.key?(:specific_sku_allocation) end end # Health information for the reservation. class AllocationResourceStatusHealthInfo include Google::Apis::Core::Hashable # The number of reservation blocks that are degraded. # Corresponds to the JSON property `degradedBlockCount` # @return [Fixnum] attr_accessor :degraded_block_count # The health status of the reservation. # Corresponds to the JSON property `healthStatus` # @return [String] attr_accessor :health_status # The number of reservation blocks that are healthy. # Corresponds to the JSON property `healthyBlockCount` # @return [Fixnum] attr_accessor :healthy_block_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @degraded_block_count = args[:degraded_block_count] if args.key?(:degraded_block_count) @health_status = args[:health_status] if args.key?(:health_status) @healthy_block_count = args[:healthy_block_count] if args.key?(:healthy_block_count) end end # Contains Properties set for the reservation. class AllocationResourceStatusSpecificSkuAllocation include Google::Apis::Core::Hashable # ID of the instance template used to populate reservation properties. # Corresponds to the JSON property `sourceInstanceTemplateId` # @return [String] attr_accessor :source_instance_template_id # Per service utilization breakdown. The Key is the Google Cloud managed # service name. # Corresponds to the JSON property `utilizations` # @return [Hash] attr_accessor :utilizations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @source_instance_template_id = args[:source_instance_template_id] if args.key?(:source_instance_template_id) @utilizations = args[:utilizations] if args.key?(:utilizations) end end # class AllocationSpecificSkuAllocationAllocatedInstancePropertiesReservedDisk include Google::Apis::Core::Hashable # Specifies the size of the disk in base-2 GB. # Corresponds to the JSON property `diskSizeGb` # @return [Fixnum] attr_accessor :disk_size_gb # Specifies the disk interface to use for attaching this disk, which is # either SCSI or NVME. The default isSCSI. # For performance characteristics of SCSI over NVMe, seeLocal SSD performance. # Corresponds to the JSON property `interface` # @return [String] attr_accessor :interface def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) @interface = args[:interface] if args.key?(:interface) end end # Properties of the SKU instances being reserved. # Next ID: 9 class AllocationSpecificSkuAllocationReservedInstanceProperties include Google::Apis::Core::Hashable # Specifies accelerator type and count. # Corresponds to the JSON property `guestAccelerators` # @return [Array] attr_accessor :guest_accelerators # Specifies amount of local ssd to reserve with each instance. The type # of disk is local-ssd. # Corresponds to the JSON property `localSsds` # @return [Array] attr_accessor :local_ssds # An opaque location hint used to place the allocation close to other # resources. # This field is for use by internal tools that use the public API. # Corresponds to the JSON property `locationHint` # @return [String] attr_accessor :location_hint # Specifies type of machine (name only) which has fixed number of vCPUs # and fixed amount of memory. This also includes specifying custom # machine type following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern. # Corresponds to the JSON property `machineType` # @return [String] attr_accessor :machine_type # Minimum cpu platform the reservation. # Corresponds to the JSON property `minCpuPlatform` # @return [String] attr_accessor :min_cpu_platform def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators) @local_ssds = args[:local_ssds] if args.key?(:local_ssds) @location_hint = args[:location_hint] if args.key?(:location_hint) @machine_type = args[:machine_type] if args.key?(:machine_type) @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform) end end # This reservation type allows to pre allocate specific instance # configuration. class AllocationSpecificSkuReservation include Google::Apis::Core::Hashable # Output only. [Output Only] Indicates how many instances are actually usable # currently. # Corresponds to the JSON property `assuredCount` # @return [Fixnum] attr_accessor :assured_count # Specifies the number of resources that are allocated. # Corresponds to the JSON property `count` # @return [Fixnum] attr_accessor :count # Output only. [Output Only] Indicates how many instances are in use. # Corresponds to the JSON property `inUseCount` # @return [Fixnum] attr_accessor :in_use_count # Properties of the SKU instances being reserved. # Next ID: 9 # Corresponds to the JSON property `instanceProperties` # @return [Google::Apis::ComputeV1::AllocationSpecificSkuAllocationReservedInstanceProperties] attr_accessor :instance_properties # 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 # Corresponds to the JSON property `sourceInstanceTemplate` # @return [String] attr_accessor :source_instance_template def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @assured_count = args[:assured_count] if args.key?(:assured_count) @count = args[:count] if args.key?(:count) @in_use_count = args[:in_use_count] if args.key?(:in_use_count) @instance_properties = args[:instance_properties] if args.key?(:instance_properties) @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template) end end # An instance-attached disk resource. class AttachedDisk include Google::Apis::Core::Hashable # Output only. [Output Only] The architecture of the attached disk. Valid values # are ARM64 # or X86_64. # Corresponds to the JSON property `architecture` # @return [String] attr_accessor :architecture # Specifies whether the disk will be auto-deleted when the instance is # deleted (but not when the disk is detached from the instance). # Corresponds to the JSON property `autoDelete` # @return [Boolean] attr_accessor :auto_delete alias_method :auto_delete?, :auto_delete # Indicates that this is a boot disk. The virtual machine will use the first # partition of the disk for its root filesystem. # Corresponds to the JSON property `boot` # @return [Boolean] attr_accessor :boot alias_method :boot?, :boot # Specifies a unique device name of your choice that is reflected into the/dev/ # disk/by-id/google-* tree of a Linux operating system # running within the instance. This name can be used to reference the device # for mounting, resizing, and so on, from within the instance. # If not specified, the server chooses a default device name to apply to this # disk, in the form persistent-disk-x, where x is a number # assigned by Google Compute Engine. This field is only applicable for # persistent disks. # Corresponds to the JSON property `deviceName` # @return [String] attr_accessor :device_name # Encrypts or decrypts a disk using acustomer-supplied # encryption key. # If you are creating a new disk, this field encrypts the new disk using # an encryption key that you provide. If you are attaching an existing # disk that is already encrypted, this field decrypts the disk using # the customer-supplied encryption key. # If you encrypt a disk using a customer-supplied key, you must provide the # same key again when you attempt to use this resource at a later time. For # example, you must provide the key when you create a snapshot or an image # from the disk or when you attach the disk to a virtual machine instance. # If you do not provide an encryption key, then the disk will be encrypted # using an automatically generated key and you do not need to provide a key # to use the disk later. # Note: # Instance templates do not storecustomer-supplied # encryption keys, so you cannot use your own keys to encrypt disks in amanaged # instance group. # You cannot create VMs that have disks with customer-supplied keys using # the bulk # insert method. # Corresponds to the JSON property `diskEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :disk_encryption_key # The size of the disk in GB. # Corresponds to the JSON property `diskSizeGb` # @return [Fixnum] attr_accessor :disk_size_gb # [Input Only] Whether to force attach the regional disk even if it's # currently attached to another instance. If you try to force attach a zonal # disk to an instance, you will receive an error. # Corresponds to the JSON property `forceAttach` # @return [Boolean] attr_accessor :force_attach alias_method :force_attach?, :force_attach # 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. # Corresponds to the JSON property `guestOsFeatures` # @return [Array] attr_accessor :guest_os_features # Output only. [Output Only] A zero-based index to this disk, where 0 is # reserved for the # boot disk. If you have many disks attached to an instance, each # disk would have a unique index number. # Corresponds to the JSON property `index` # @return [Fixnum] attr_accessor :index # [Input Only] Specifies the parameters for a new disk that will be created # alongside the new instance. Use initialization parameters to create boot # disks or local SSDs attached to the new instance. # This field is persisted and returned for instanceTemplate and not returned # in the context of instance. # This property is mutually exclusive with the source property; # you can only define one or the other, but not both. # Corresponds to the JSON property `initializeParams` # @return [Google::Apis::ComputeV1::AttachedDiskInitializeParams] attr_accessor :initialize_params # Specifies the disk interface to use for attaching this disk, which is # either SCSI or NVME. For most machine types, the # default is SCSI. Local SSDs can use either NVME or SCSI. # In certain configurations, persistent disks can use NVMe. For more # information, seeAbout # persistent disks. # Corresponds to the JSON property `interface` # @return [String] attr_accessor :interface # Output only. [Output Only] Type of the resource. Alwayscompute#attachedDisk # for attached disks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] Any valid publicly visible licenses. # Corresponds to the JSON property `licenses` # @return [Array] attr_accessor :licenses # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not # specified, the default is to attach the disk # in READ_WRITE mode. # Corresponds to the JSON property `mode` # @return [String] attr_accessor :mode # Output only. 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. # Corresponds to the JSON property `savedState` # @return [String] attr_accessor :saved_state # Initial State for shielded instance, # these are public keys which are safe to store in public # Corresponds to the JSON property `shieldedInstanceInitialState` # @return [Google::Apis::ComputeV1::InitialStateConfig] attr_accessor :shielded_instance_initial_state # Specifies a valid partial or full URL to an existing Persistent Disk # resource. When creating a new instance boot disk, one ofinitializeParams. # sourceImage orinitializeParams.sourceSnapshot or disks.source # is required. # 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. # Corresponds to the JSON property `source` # @return [String] attr_accessor :source # Specifies the type of the disk, either SCRATCH orPERSISTENT. If not specified, # the default isPERSISTENT. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @architecture = args[:architecture] if args.key?(:architecture) @auto_delete = args[:auto_delete] if args.key?(:auto_delete) @boot = args[:boot] if args.key?(:boot) @device_name = args[:device_name] if args.key?(:device_name) @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key) @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) @force_attach = args[:force_attach] if args.key?(:force_attach) @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features) @index = args[:index] if args.key?(:index) @initialize_params = args[:initialize_params] if args.key?(:initialize_params) @interface = args[:interface] if args.key?(:interface) @kind = args[:kind] if args.key?(:kind) @licenses = args[:licenses] if args.key?(:licenses) @mode = args[:mode] if args.key?(:mode) @saved_state = args[:saved_state] if args.key?(:saved_state) @shielded_instance_initial_state = args[:shielded_instance_initial_state] if args.key?(:shielded_instance_initial_state) @source = args[:source] if args.key?(:source) @type = args[:type] if args.key?(:type) end end # [Input Only] Specifies the parameters for a new disk that will be created # alongside the new instance. Use initialization parameters to create boot # disks or local SSDs attached to the new instance. # This field is persisted and returned for instanceTemplate and not returned # in the context of instance. # This property is mutually exclusive with the source property; # you can only define one or the other, but not both. class AttachedDiskInitializeParams include Google::Apis::Core::Hashable # The architecture of the attached disk. Valid values are # arm64 or x86_64. # Corresponds to the JSON property `architecture` # @return [String] attr_accessor :architecture # An optional description. Provide this property when creating the disk. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # 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. # Corresponds to the JSON property `diskName` # @return [String] attr_accessor :disk_name # 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. # Corresponds to the JSON property `diskSizeGb` # @return [Fixnum] attr_accessor :disk_size_gb # 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, seePersistent 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. # Corresponds to the JSON property `diskType` # @return [String] attr_accessor :disk_type # Whether this disk is using confidential compute mode. # Corresponds to the JSON property `enableConfidentialCompute` # @return [Boolean] attr_accessor :enable_confidential_compute alias_method :enable_confidential_compute?, :enable_confidential_compute # Labels to apply to this disk. These can be later modified by thedisks. # setLabels method. This field is only applicable for # persistent disks. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # A list of publicly visible licenses. Reserved for Google's use. # Corresponds to the JSON property `licenses` # @return [Array] attr_accessor :licenses # Specifies which action to take on instance update with this disk. Default # is to use the existing disk. # Corresponds to the JSON property `onUpdateAction` # @return [String] attr_accessor :on_update_action # 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 theExtreme persistent # disk documentation. # Corresponds to the JSON property `provisionedIops` # @return [Fixnum] attr_accessor :provisioned_iops # 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. # Corresponds to the JSON property `provisionedThroughput` # @return [Fixnum] attr_accessor :provisioned_throughput # 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. # Corresponds to the JSON property `replicaZones` # @return [Array] attr_accessor :replica_zones # Resource manager tags to be bound to the disk. Tag keys and values # have the same definition as resource # manager tags. Keys and values can be either in numeric format, # such as `tagKeys/`tag_key_id`` and `tagValues/456` or in namespaced # format such as ``org_id|project_id`/`tag_key_short_name`` and # ``tag_value_short_name``. The field is ignored (both PUT & PATCH) when # empty. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags # 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. # Corresponds to the JSON property `resourcePolicies` # @return [Array] attr_accessor :resource_policies # The source image to create this disk. When creating a new instance boot # disk, one of initializeParams.sourceImage orinitializeParams.sourceSnapshot or # disks.source # is required. # To create a disk with one of the public operating system # images, specify the image by its family name. For example, specifyfamily/ # 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. # Corresponds to the JSON property `sourceImage` # @return [String] attr_accessor :source_image # Thecustomer-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 storecustomer-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. # Corresponds to the JSON property `sourceImageEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :source_image_encryption_key # The source snapshot to create this disk. When creating a new instance # boot disk, one of initializeParams.sourceSnapshot orinitializeParams. # sourceImage or disks.source # is required. # 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. # Note: You cannot create VMs in bulk using a snapshot as the source. Use # an image instead when you create VMs using # the bulk # insert method. # Corresponds to the JSON property `sourceSnapshot` # @return [String] attr_accessor :source_snapshot # Thecustomer-supplied # encryption key of the source snapshot. # Corresponds to the JSON property `sourceSnapshotEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :source_snapshot_encryption_key # 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 # Corresponds to the JSON property `storagePool` # @return [String] attr_accessor :storage_pool def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @architecture = args[:architecture] if args.key?(:architecture) @description = args[:description] if args.key?(:description) @disk_name = args[:disk_name] if args.key?(:disk_name) @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) @disk_type = args[:disk_type] if args.key?(:disk_type) @enable_confidential_compute = args[:enable_confidential_compute] if args.key?(:enable_confidential_compute) @labels = args[:labels] if args.key?(:labels) @licenses = args[:licenses] if args.key?(:licenses) @on_update_action = args[:on_update_action] if args.key?(:on_update_action) @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops) @provisioned_throughput = args[:provisioned_throughput] if args.key?(:provisioned_throughput) @replica_zones = args[:replica_zones] if args.key?(:replica_zones) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) @source_image = args[:source_image] if args.key?(:source_image) @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key) @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot) @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key) @storage_pool = args[:storage_pool] if args.key?(:storage_pool) end end # Specifies the audit configuration for a service. # The configuration determines which permission types are logged, and what # identities, if any, are exempted from logging. # An AuditConfig must have one or more AuditLogConfigs. # If there are AuditConfigs for both `allServices` and a specific service, # the union of the two AuditConfigs is used for that service: the log_types # specified in each AuditConfig are enabled, and the exempted_members in each # AuditLogConfig are exempted. # Example Policy with multiple AuditConfigs: # ` # "audit_configs": [ # ` # "service": "allServices", # "audit_log_configs": [ # ` # "log_type": "DATA_READ", # "exempted_members": [ # "user:jose@example.com" # ] # `, # ` # "log_type": "DATA_WRITE" # `, # ` # "log_type": "ADMIN_READ" # ` # ] # `, # ` # "service": "sampleservice.googleapis.com", # "audit_log_configs": [ # ` # "log_type": "DATA_READ" # `, # ` # "log_type": "DATA_WRITE", # "exempted_members": [ # "user:aliya@example.com" # ] # ` # ] # ` # ] # ` # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ # logging. It also exempts `jose@example.com` from DATA_READ logging, and # `aliya@example.com` from DATA_WRITE logging. class AuditConfig include Google::Apis::Core::Hashable # The configuration for logging of each type of permission. # Corresponds to the JSON property `auditLogConfigs` # @return [Array] attr_accessor :audit_log_configs # Specifies a service that will be enabled for audit logging. # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. # `allServices` is a special value that covers all services. # Corresponds to the JSON property `service` # @return [String] attr_accessor :service def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs) @service = args[:service] if args.key?(:service) end end # Provides the configuration for logging a type of permissions. # Example: # ` # "audit_log_configs": [ # ` # "log_type": "DATA_READ", # "exempted_members": [ # "user:jose@example.com" # ] # `, # ` # "log_type": "DATA_WRITE" # ` # ] # ` # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting # jose@example.com from DATA_READ logging. class AuditLogConfig include Google::Apis::Core::Hashable # Specifies the identities that do not cause logging for this type of # permission. # Follows the same format of Binding.members. # Corresponds to the JSON property `exemptedMembers` # @return [Array] attr_accessor :exempted_members # The log type that this config enables. # Corresponds to the JSON property `logType` # @return [String] attr_accessor :log_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @exempted_members = args[:exempted_members] if args.key?(:exempted_members) @log_type = args[:log_type] if args.key?(:log_type) end end # Represents an Autoscaler resource. # Google Compute Engine has two Autoscaler resources: # * [Zonal](/compute/docs/reference/rest/v1/autoscalers) # * [Regional](/compute/docs/reference/rest/v1/regionAutoscalers) # Use autoscalers to automatically add or delete instances from a # managed instance group according to your defined autoscaling policy. # For more information, read Autoscaling Groups of Instances. # For zonal managed instance groups resource, use the autoscaler # resource. # For regional managed instance groups, use theregionAutoscalers resource. class Autoscaler include Google::Apis::Core::Hashable # Cloud Autoscaler policy. # Corresponds to the JSON property `autoscalingPolicy` # @return [Google::Apis::ComputeV1::AutoscalingPolicy] attr_accessor :autoscaling_policy # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Always compute#autoscaler # for autoscalers. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] Target recommended MIG size (number of instances) # computed by # autoscaler. Autoscaler calculates the recommended MIG size even when the # autoscaling policy mode is different from ON. This field is empty when # autoscaler is not connected to an existing managed instance group or # autoscaler did not generate its prediction. # Corresponds to the JSON property `recommendedSize` # @return [Fixnum] attr_accessor :recommended_size # Output only. [Output Only] URL of theregion # where the instance group resides (for autoscalers living in regional # scope). # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Output only. [Output Only] Status information of existing scaling schedules. # Corresponds to the JSON property `scalingScheduleStatus` # @return [Hash] attr_accessor :scaling_schedule_status # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] The status of the autoscaler configuration. Current set of # possible values: # # - PENDING: # Autoscaler backend hasn't read new/updated configuration. # - DELETING: # Configuration is being deleted. # - ACTIVE: # Configuration is acknowledged to be effective. Some warnings might # be present in the statusDetails field. # - ERROR: # Configuration has errors. Actionable for users. Details are present in # the statusDetails field. # New values might be added in the future. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # [Output Only] Human-readable details about the current state of the # autoscaler. Read the documentation forCommonly # returned status messages for examples of status messages you might # encounter. # Corresponds to the JSON property `statusDetails` # @return [Array] attr_accessor :status_details # URL of the managed instance group that this autoscaler will scale. This # field is required when creating an autoscaler. # Corresponds to the JSON property `target` # @return [String] attr_accessor :target # Output only. [Output Only] URL of thezone # where the instance group resides (for autoscalers living in zonal scope). # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @autoscaling_policy = args[:autoscaling_policy] if args.key?(:autoscaling_policy) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @recommended_size = args[:recommended_size] if args.key?(:recommended_size) @region = args[:region] if args.key?(:region) @scaling_schedule_status = args[:scaling_schedule_status] if args.key?(:scaling_schedule_status) @self_link = args[:self_link] if args.key?(:self_link) @status = args[:status] if args.key?(:status) @status_details = args[:status_details] if args.key?(:status_details) @target = args[:target] if args.key?(:target) @zone = args[:zone] if args.key?(:zone) end end # class AutoscalerAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of AutoscalersScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # autoscalerAggregatedList for aggregated lists of # autoscalers. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # end_interface: MixerListResponseWithEtagBuilder # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::AutoscalerAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of Autoscaler resources. class AutoscalerList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Autoscaler resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#autoscalerList # for lists of autoscalers. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::AutoscalerList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class AutoscalerStatusDetails include Google::Apis::Core::Hashable # The status message. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message # The type of error, warning, or notice returned. Current set of possible # values: # # - ALL_INSTANCES_UNHEALTHY (WARNING): # All instances in the instance group are unhealthy (not in RUNNING # state). # - BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): # There is no backend service attached to the instance group. # - CAPPED_AT_MAX_NUM_REPLICAS (WARNING): # Autoscaler recommends a size greater than maxNumReplicas. # - CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): # The custom metric samples are not exported often enough to be # a credible base for autoscaling. # - CUSTOM_METRIC_INVALID (ERROR): # The custom metric that was specified does not exist or does not have # the necessary labels. # - MIN_EQUALS_MAX (WARNING): # The minNumReplicas is equal to maxNumReplicas. This means the # autoscaler cannot add or remove instances from the instance group. # - MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): # The autoscaler did not receive any data from the custom metric # configured for autoscaling. # - MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): # The autoscaler is configured to scale based on a load balancing signal # but the instance group has not received any requests from the load # balancer. # - MODE_OFF (WARNING): # Autoscaling is turned off. The number of instances in the group won't # change automatically. The autoscaling configuration is preserved. # - MODE_ONLY_UP (WARNING): # Autoscaling is in the "Autoscale only out" mode. The autoscaler can add # instances but not remove any. # - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): # The instance group cannot be autoscaled because it has more than one # backend service attached to it. # - NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): # There is insufficient quota for the necessary resources, such as CPU or # number of instances. # - REGION_RESOURCE_STOCKOUT (ERROR): # Shown only for regional autoscalers: there is a resource stockout in # the chosen region. # - SCALING_TARGET_DOES_NOT_EXIST (ERROR): # The target to be scaled does not exist. # - UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION # (ERROR): Autoscaling does not work with an HTTP/S load balancer that # has been configured for maxRate. # - ZONE_RESOURCE_STOCKOUT (ERROR): # For zonal autoscalers: there is a resource stockout in the chosen zone. # For regional autoscalers: in at least one of the zones you're using # there is a resource stockout. # New values might be added in the future. Some of the values might not be # available in all API versions. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @message = args[:message] if args.key?(:message) @type = args[:type] if args.key?(:type) end end # class AutoscalersScopedList include Google::Apis::Core::Hashable # [Output Only] A list of autoscalers contained in this scope. # Corresponds to the JSON property `autoscalers` # @return [Array] attr_accessor :autoscalers # [Output Only] Informational warning which replaces the list of autoscalers # when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::AutoscalersScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @autoscalers = args[:autoscalers] if args.key?(:autoscalers) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning which replaces the list of autoscalers # when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Cloud Autoscaler policy. class AutoscalingPolicy include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `coolDownPeriodSec` # @return [Fixnum] attr_accessor :cool_down_period_sec # CPU utilization policy. # Corresponds to the JSON property `cpuUtilization` # @return [Google::Apis::ComputeV1::AutoscalingPolicyCpuUtilization] attr_accessor :cpu_utilization # Configuration parameters of autoscaling based on a custom metric. # Corresponds to the JSON property `customMetricUtilizations` # @return [Array] attr_accessor :custom_metric_utilizations # Configuration parameters of autoscaling based on load balancing. # Corresponds to the JSON property `loadBalancingUtilization` # @return [Google::Apis::ComputeV1::AutoscalingPolicyLoadBalancingUtilization] attr_accessor :load_balancing_utilization # 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. # Corresponds to the JSON property `maxNumReplicas` # @return [Fixnum] attr_accessor :max_num_replicas # 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. # Corresponds to the JSON property `minNumReplicas` # @return [Fixnum] attr_accessor :min_num_replicas # 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" # Corresponds to the JSON property `mode` # @return [String] attr_accessor :mode # Configuration that allows for slower scale in so that even if Autoscaler # recommends an abrupt scale in of a MIG, it will be throttled as specified # by the parameters below. # Corresponds to the JSON property `scaleInControl` # @return [Google::Apis::ComputeV1::AutoscalingPolicyScaleInControl] attr_accessor :scale_in_control # 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. # Corresponds to the JSON property `scalingSchedules` # @return [Hash] attr_accessor :scaling_schedules def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cool_down_period_sec = args[:cool_down_period_sec] if args.key?(:cool_down_period_sec) @cpu_utilization = args[:cpu_utilization] if args.key?(:cpu_utilization) @custom_metric_utilizations = args[:custom_metric_utilizations] if args.key?(:custom_metric_utilizations) @load_balancing_utilization = args[:load_balancing_utilization] if args.key?(:load_balancing_utilization) @max_num_replicas = args[:max_num_replicas] if args.key?(:max_num_replicas) @min_num_replicas = args[:min_num_replicas] if args.key?(:min_num_replicas) @mode = args[:mode] if args.key?(:mode) @scale_in_control = args[:scale_in_control] if args.key?(:scale_in_control) @scaling_schedules = args[:scaling_schedules] if args.key?(:scaling_schedules) end end # CPU utilization policy. class AutoscalingPolicyCpuUtilization include Google::Apis::Core::Hashable # Indicates whether predictive autoscaling based on CPU metric is enabled. # Valid values are: # * NONE (default). No predictive method is used. The autoscaler scales the # group to meet current demand based on real-time metrics. # * OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by # monitoring daily and weekly load patterns and scaling out ahead of # anticipated demand. # Corresponds to the JSON property `predictiveMethod` # @return [String] attr_accessor :predictive_method # The target CPU utilization that the autoscaler maintains. Must be # a float value in the range (0, 1]. If not specified, the default is0.6. # If the CPU level is below the target utilization, the autoscaler scales # in the number of instances until it reaches the minimum number of # instances you specified or until the average CPU of your instances # reaches the target utilization. # If the average CPU is above the target utilization, the autoscaler # scales out until it reaches the maximum number of instances you # specified or until the average utilization reaches the target # utilization. # Corresponds to the JSON property `utilizationTarget` # @return [Float] attr_accessor :utilization_target def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @predictive_method = args[:predictive_method] if args.key?(:predictive_method) @utilization_target = args[:utilization_target] if args.key?(:utilization_target) end end # Custom utilization metric policy. class AutoscalingPolicyCustomMetricUtilization include Google::Apis::Core::Hashable # A filter string, compatible with a Stackdriver Monitoringfilter string # forTimeSeries.list API call. This filter is # used to select a specific TimeSeries for the purpose of autoscaling and # to determine whether the metric is exporting per-instance or # per-group data. # For the filter to be valid for autoscaling purposes, the following rules # apply: # # # - You can only use the AND operator for joining # selectors. # - You can only use direct equality comparison operator # (=) without any functions for each selector. # - You can specify the metric in both the filter string and in the # metric field. However, if specified in both places, the metric must # be identical. # - The monitored resource type # determines what kind of values are expected for the metric. If it is # a gce_instance, the autoscaler expects the metric to # include a separate TimeSeries for each instance in a group. In such a # case, you cannot filter on resource labels. # # # If the resource type is any other value, the autoscaler expects # this metric to contain values that apply to the entire autoscaled # instance group and resource label filtering can be performed to # point autoscaler at the correct TimeSeries to scale upon. This is # called a *per-group metric* for the purpose of autoscaling. # # If not specified, the type defaults to # gce_instance. # Try to provide a filter that is selective enough to pick just one # TimeSeries for the autoscaled group or for each of the instances (if you # are using gce_instance resource type). If multiple # TimeSeries are returned upon the query execution, the autoscaler will sum # their respective values to obtain its scaling value. # Corresponds to the JSON property `filter` # @return [String] attr_accessor :filter # The identifier (type) of the Stackdriver Monitoring metric. The metric # cannot have negative values. # The metric must have a value type of INT64 orDOUBLE. # Corresponds to the JSON property `metric` # @return [String] attr_accessor :metric # If scaling is based on a per-group metric value that represents the # total amount of work to be done or resource usage, set this value to an # amount assigned for a single instance of the scaled group. Autoscaler # keeps the number of instances proportional to the value of this # metric. The metric itself does not change value due to group # resizing. # A good metric to use with the target is for examplepubsub.googleapis.com/ # subscription/num_undelivered_messages # or a custom metric exporting the total number of requests coming to # your instances. # A bad example would be a metric exporting an average or median latency, # since this value can't include a chunk assignable to a single instance, # it could be better used with utilization_target instead. # Corresponds to the JSON property `singleInstanceAssignment` # @return [Float] attr_accessor :single_instance_assignment # The target value of the metric that autoscaler maintains. This # must be a positive value. A utilization metric scales number of # virtual machines handling requests to increase or decrease # proportionally to the metric. # For example, a good metric to use as a utilization_target ishttps://www. # googleapis.com/compute/v1/instance/network/received_bytes_count. # The autoscaler works to keep this value constant for each of the # instances. # Corresponds to the JSON property `utilizationTarget` # @return [Float] attr_accessor :utilization_target # Defines how target utilization value is expressed for a Stackdriver # Monitoring metric. Either GAUGE,DELTA_PER_SECOND, or DELTA_PER_MINUTE. # Corresponds to the JSON property `utilizationTargetType` # @return [String] attr_accessor :utilization_target_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @filter = args[:filter] if args.key?(:filter) @metric = args[:metric] if args.key?(:metric) @single_instance_assignment = args[:single_instance_assignment] if args.key?(:single_instance_assignment) @utilization_target = args[:utilization_target] if args.key?(:utilization_target) @utilization_target_type = args[:utilization_target_type] if args.key?(:utilization_target_type) end end # Configuration parameters of autoscaling based on load balancing. class AutoscalingPolicyLoadBalancingUtilization include Google::Apis::Core::Hashable # Fraction of backend capacity utilization (set in HTTP(S) load balancing # configuration) that the autoscaler maintains. Must be a positive float # value. If not defined, the default is 0.8. # Corresponds to the JSON property `utilizationTarget` # @return [Float] attr_accessor :utilization_target def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @utilization_target = args[:utilization_target] if args.key?(:utilization_target) end end # Configuration that allows for slower scale in so that even if Autoscaler # recommends an abrupt scale in of a MIG, it will be throttled as specified # by the parameters below. class AutoscalingPolicyScaleInControl include Google::Apis::Core::Hashable # Encapsulates numeric value that can be either absolute or relative. # Corresponds to the JSON property `maxScaledInReplicas` # @return [Google::Apis::ComputeV1::FixedOrPercent] attr_accessor :max_scaled_in_replicas # How far back autoscaling looks when computing recommendations to # include directives regarding slower scale in, as described above. # Corresponds to the JSON property `timeWindowSec` # @return [Fixnum] attr_accessor :time_window_sec def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @max_scaled_in_replicas = args[:max_scaled_in_replicas] if args.key?(:max_scaled_in_replicas) @time_window_sec = args[:time_window_sec] if args.key?(:time_window_sec) end end # Scaling based on user-defined schedule. The message describes a single # scaling schedule. A scaling schedule changes the minimum number of VM # instances an autoscaler can recommend, which can trigger scaling out. class AutoscalingPolicyScalingSchedule include Google::Apis::Core::Hashable # A description of a scaling schedule. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # A boolean value that specifies whether a scaling schedule can influence # autoscaler recommendations. If set to true, then a scaling schedule has # no effect. This field is optional, and its value is false by default. # Corresponds to the JSON property `disabled` # @return [Boolean] attr_accessor :disabled alias_method :disabled?, :disabled # 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. # Corresponds to the JSON property `durationSec` # @return [Fixnum] attr_accessor :duration_sec # The minimum number of VM instances that the autoscaler will # recommend in time intervals starting according to schedule. This field is # required. # Corresponds to the JSON property `minRequiredReplicas` # @return [Fixnum] attr_accessor :min_required_replicas # 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. # Corresponds to the JSON property `schedule` # @return [String] attr_accessor :schedule # 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. # Corresponds to the JSON property `timeZone` # @return [String] attr_accessor :time_zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @disabled = args[:disabled] if args.key?(:disabled) @duration_sec = args[:duration_sec] if args.key?(:duration_sec) @min_required_replicas = args[:min_required_replicas] if args.key?(:min_required_replicas) @schedule = args[:schedule] if args.key?(:schedule) @time_zone = args[:time_zone] if args.key?(:time_zone) end end # Message containing information of one individual backend. class Backend include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `balancingMode` # @return [String] attr_accessor :balancing_mode # 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 onbalancingMode). 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 than0.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 abalancingMode. This # includes backends such as global # internet NEGs, regional serverless NEGs, and PSC NEGs. # Corresponds to the JSON property `capacityScaler` # @return [Float] attr_accessor :capacity_scaler # List of custom metrics that are used for CUSTOM_METRICS # BalancingMode. # Corresponds to the JSON property `customMetrics` # @return [Array] attr_accessor :custom_metrics # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # This field designates whether this is a failover backend. More than one # failover backend can be configured for a given BackendService. # Corresponds to the JSON property `failover` # @return [Boolean] attr_accessor :failover alias_method :failover?, :failover # The fully-qualified URL of aninstance # 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 withhttps://www.googleapis. # com/) to specify the instance group # or NEG. Partial URLs are not supported. # If haPolicy is specified, backends must refer to NEG resources of type # GCE_VM_IP. # Corresponds to the JSON property `group` # @return [String] attr_accessor :group # Defines a target maximum number of simultaneous connections. For usage # guidelines, seeConnection # balancing mode and Utilization # balancing mode. Not available if the backend'sbalancingMode is RATE. # Corresponds to the JSON property `maxConnections` # @return [Fixnum] attr_accessor :max_connections # Defines a target maximum number of simultaneous connections. For usage # guidelines, seeConnection # balancing mode and Utilization # balancing mode. # Not available if the backend's balancingMode isRATE. # Corresponds to the JSON property `maxConnectionsPerEndpoint` # @return [Fixnum] attr_accessor :max_connections_per_endpoint # Defines a target maximum number of simultaneous connections. # For usage guidelines, seeConnection # balancing mode and Utilization # balancing mode. # Not available if the backend's balancingMode isRATE. # Corresponds to the JSON property `maxConnectionsPerInstance` # @return [Fixnum] attr_accessor :max_connections_per_instance # Defines a maximum number of HTTP requests per second (RPS). For # usage guidelines, seeRate # balancing mode and Utilization # balancing mode. # Not available if the backend's balancingMode isCONNECTION. # Corresponds to the JSON property `maxRate` # @return [Fixnum] attr_accessor :max_rate # Defines a maximum target for requests per second (RPS). For usage # guidelines, seeRate # balancing mode and Utilization # balancing mode. # Not available if the backend's balancingMode isCONNECTION. # Corresponds to the JSON property `maxRatePerEndpoint` # @return [Float] attr_accessor :max_rate_per_endpoint # Defines a maximum target for requests per second (RPS). For usage # guidelines, seeRate # balancing mode and Utilization # balancing mode. # Not available if the backend's balancingMode isCONNECTION. # Corresponds to the JSON property `maxRatePerInstance` # @return [Float] attr_accessor :max_rate_per_instance # Optional parameter to define a target capacity for theUTILIZATION balancing # mode. The valid range is[0.0, 1.0]. # For usage guidelines, seeUtilization # balancing mode. # Corresponds to the JSON property `maxUtilization` # @return [Float] attr_accessor :max_utilization # 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 # Corresponds to the JSON property `preference` # @return [String] attr_accessor :preference def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @balancing_mode = args[:balancing_mode] if args.key?(:balancing_mode) @capacity_scaler = args[:capacity_scaler] if args.key?(:capacity_scaler) @custom_metrics = args[:custom_metrics] if args.key?(:custom_metrics) @description = args[:description] if args.key?(:description) @failover = args[:failover] if args.key?(:failover) @group = args[:group] if args.key?(:group) @max_connections = args[:max_connections] if args.key?(:max_connections) @max_connections_per_endpoint = args[:max_connections_per_endpoint] if args.key?(:max_connections_per_endpoint) @max_connections_per_instance = args[:max_connections_per_instance] if args.key?(:max_connections_per_instance) @max_rate = args[:max_rate] if args.key?(:max_rate) @max_rate_per_endpoint = args[:max_rate_per_endpoint] if args.key?(:max_rate_per_endpoint) @max_rate_per_instance = args[:max_rate_per_instance] if args.key?(:max_rate_per_instance) @max_utilization = args[:max_utilization] if args.key?(:max_utilization) @preference = args[:preference] if args.key?(:preference) end end # Represents a Cloud Storage Bucket resource. # This Cloud Storage bucket resource is referenced by a URL map of a load # balancer. For more information, readBackend Buckets. class BackendBucket include Google::Apis::Core::Hashable # Cloud Storage bucket name. # Corresponds to the JSON property `bucketName` # @return [String] attr_accessor :bucket_name # Message containing Cloud CDN configuration for a backend bucket. # Corresponds to the JSON property `cdnPolicy` # @return [Google::Apis::ComputeV1::BackendBucketCdnPolicy] attr_accessor :cdn_policy # Compress text responses using Brotli or gzip compression, based on # the client's Accept-Encoding header. # Corresponds to the JSON property `compressionMode` # @return [String] attr_accessor :compression_mode # [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Headers that the Application Load Balancer should add to proxied responses. # Corresponds to the JSON property `customResponseHeaders` # @return [Array] attr_accessor :custom_response_headers # An optional textual description of the resource; provided by the client # when the resource is created. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Output Only] The resource URL for the edge security policy associated with # this backend bucket. # Corresponds to the JSON property `edgeSecurityPolicy` # @return [String] attr_accessor :edge_security_policy # If true, enable Cloud CDN for this BackendBucket. # Corresponds to the JSON property `enableCdn` # @return [Boolean] attr_accessor :enable_cdn alias_method :enable_cdn?, :enable_cdn # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. Type of the resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The value can only be INTERNAL_MANAGED for cross-region internal layer 7 # load balancer. # If loadBalancingScheme is not specified, the backend bucket can be used by # classic global external load balancers, or global application external load # balancers, or both. # Corresponds to the JSON property `loadBalancingScheme` # @return [String] attr_accessor :load_balancing_scheme # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Additional Backend Bucket parameters. # Corresponds to the JSON property `params` # @return [Google::Apis::ComputeV1::BackendBucketParams] attr_accessor :params # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] List of resources referencing that backend bucket. # Corresponds to the JSON property `usedBy` # @return [Array] attr_accessor :used_by def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bucket_name = args[:bucket_name] if args.key?(:bucket_name) @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy) @compression_mode = args[:compression_mode] if args.key?(:compression_mode) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers) @description = args[:description] if args.key?(:description) @edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy) @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme) @name = args[:name] if args.key?(:name) @params = args[:params] if args.key?(:params) @self_link = args[:self_link] if args.key?(:self_link) @used_by = args[:used_by] if args.key?(:used_by) end end # Message containing Cloud CDN configuration for a backend bucket. class BackendBucketCdnPolicy include Google::Apis::Core::Hashable # Bypass the cache when the specified request headers are matched - e.g. # Pragma or Authorization headers. Up to 5 headers can be specified. # The cache is bypassed for all cdnPolicy.cacheMode settings. # Corresponds to the JSON property `bypassCacheOnRequestHeaders` # @return [Array] attr_accessor :bypass_cache_on_request_headers # Message containing what to include in the cache key for a request for # Cloud CDN. # Corresponds to the JSON property `cacheKeyPolicy` # @return [Google::Apis::ComputeV1::BackendBucketCdnPolicyCacheKeyPolicy] attr_accessor :cache_key_policy # Specifies the cache setting for all responses from this backend. # The possible values are:USE_ORIGIN_HEADERS Requires the origin to set valid # caching # headers to cache content. Responses without these headers will not be # cached at Google's edge, and will require a full trip to the origin on # every request, potentially impacting performance and increasing load on # the origin server.FORCE_CACHE_ALL Cache all content, ignoring any "private", # "no-store" or "no-cache" directives in Cache-Control response headers. # Warning: this may result in Cloud CDN caching private, # per-user (user identifiable) content.CACHE_ALL_STATIC Automatically cache # static content, # including common image formats, media (video and audio), and web assets # (JavaScript and CSS). Requests and responses that are marked as # uncacheable, as well as dynamic content (including HTML), will not be # cached. # If no value is provided for cdnPolicy.cacheMode, it defaults # to CACHE_ALL_STATIC. # Corresponds to the JSON property `cacheMode` # @return [String] attr_accessor :cache_mode # Specifies a separate client (e.g. browser client) maximum TTL. This is # used to clamp the max-age (or Expires) value sent to the client. With # FORCE_CACHE_ALL, the lesser of client_ttl and default_ttl is used for the # response max-age directive, along with a "public" directive. For # cacheable content in CACHE_ALL_STATIC mode, client_ttl clamps the max-age # from the origin (if specified), or else sets the response max-age # directive to the lesser of the client_ttl and default_ttl, and also # ensures a "public" cache-control directive is present. # If a client TTL is not specified, a default value (1 hour) will be used. # The maximum allowed value is 31,622,400s (1 year). # Corresponds to the JSON property `clientTtl` # @return [Fixnum] attr_accessor :client_ttl # Specifies the default TTL for cached content served by this origin for # responses that do not have an existing valid TTL (max-age or s-maxage). # Setting a TTL of "0" means "always revalidate". # The value of defaultTTL cannot be set to a value greater than that of # maxTTL, but can be equal. # When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL # will overwrite the TTL set in all responses. The maximum allowed value is # 31,622,400s (1 year), noting that infrequently accessed objects may be # evicted from the cache before the defined TTL. # Corresponds to the JSON property `defaultTtl` # @return [Fixnum] attr_accessor :default_ttl # Specifies the maximum allowed TTL for cached content served by this # origin. # Cache directives that attempt to set a max-age or s-maxage higher than # this, or an Expires header more than maxTTL seconds in the future will # be capped at the value of maxTTL, as if it were the value of an # s-maxage Cache-Control directive. # Headers sent to the client will not be modified. # Setting a TTL of "0" means "always revalidate". # The maximum allowed value is 31,622,400s (1 year), noting that # infrequently accessed objects may be evicted from the cache before # the defined TTL. # Corresponds to the JSON property `maxTtl` # @return [Fixnum] attr_accessor :max_ttl # Negative caching allows per-status code TTLs to be set, in order # to apply fine-grained caching for common errors or redirects. # This can reduce the load on your origin and improve end-user # experience by reducing response latency. # When the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, # negative caching applies to responses with the specified response code # that lack any Cache-Control, Expires, or Pragma: no-cache directives. # When the cache mode is set to FORCE_CACHE_ALL, negative caching applies # to all responses with the specified response code, and override any # caching headers. # By default, Cloud CDN will apply the following default TTLs to these # status codes: # HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m # HTTP 404 (Not Found), 410 (Gone), # 451 (Unavailable For Legal Reasons): 120s # HTTP 405 (Method Not Found), 501 (Not Implemented): 60s. # These defaults can be overridden in negative_caching_policy. # Corresponds to the JSON property `negativeCaching` # @return [Boolean] attr_accessor :negative_caching alias_method :negative_caching?, :negative_caching # Sets a cache TTL for the specified HTTP status code. # negative_caching must be enabled to configure negative_caching_policy. # Omitting the policy and leaving negative_caching enabled will use # Cloud CDN's default cache TTLs. # Note that when specifying an explicit negative_caching_policy, you # should take care to specify a cache TTL for all response codes # that you wish to cache. Cloud CDN will not apply any default # negative caching when a policy exists. # Corresponds to the JSON property `negativeCachingPolicy` # @return [Array] attr_accessor :negative_caching_policy # If true then Cloud CDN will combine multiple concurrent cache fill # requests into a small number of requests to the origin. # Corresponds to the JSON property `requestCoalescing` # @return [Boolean] attr_accessor :request_coalescing alias_method :request_coalescing?, :request_coalescing # Serve existing content from the cache (if available) when revalidating # content with the origin, or when an error is encountered when refreshing # the cache. # This setting defines the default "max-stale" duration for any cached # responses that do not specify a max-stale directive. Stale responses that # exceed the TTL configured here will not be served. The default limit # (max-stale) is 86400s (1 day), which will allow stale content to be # served up to this limit beyond the max-age (or s-maxage) of a cached # response. # The maximum allowed value is 604800 (1 week). # Set this to zero (0) to disable serve-while-stale. # Corresponds to the JSON property `serveWhileStale` # @return [Fixnum] attr_accessor :serve_while_stale # Maximum number of seconds the response to a signed URL request will be # considered fresh. After this time period, the response will be # revalidated before being served. Defaults to 1hr (3600s). When serving # responses to signed URL requests, Cloud CDN will internally behave as # though all responses from this backend had a "Cache-Control: # public, max-age=[TTL]" header, regardless of any existing # Cache-Control header. The actual headers served in responses will not be # altered. # Corresponds to the JSON property `signedUrlCacheMaxAgeSec` # @return [Fixnum] attr_accessor :signed_url_cache_max_age_sec # [Output Only] Names of the keys for signing request URLs. # Corresponds to the JSON property `signedUrlKeyNames` # @return [Array] attr_accessor :signed_url_key_names def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers) @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy) @cache_mode = args[:cache_mode] if args.key?(:cache_mode) @client_ttl = args[:client_ttl] if args.key?(:client_ttl) @default_ttl = args[:default_ttl] if args.key?(:default_ttl) @max_ttl = args[:max_ttl] if args.key?(:max_ttl) @negative_caching = args[:negative_caching] if args.key?(:negative_caching) @negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy) @request_coalescing = args[:request_coalescing] if args.key?(:request_coalescing) @serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale) @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec) @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names) end end # Bypass the cache when the specified request headers are present, # e.g. Pragma or Authorization headers. Values are case insensitive. # The presence of such a header overrides the cache_mode setting. class BackendBucketCdnPolicyBypassCacheOnRequestHeader include Google::Apis::Core::Hashable # The header field name to match on when bypassing cache. # Values are case-insensitive. # Corresponds to the JSON property `headerName` # @return [String] attr_accessor :header_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @header_name = args[:header_name] if args.key?(:header_name) end end # Message containing what to include in the cache key for a request for # Cloud CDN. class BackendBucketCdnPolicyCacheKeyPolicy include Google::Apis::Core::Hashable # Allows HTTP request headers (by name) to be used in the cache key. # Corresponds to the JSON property `includeHttpHeaders` # @return [Array] attr_accessor :include_http_headers # Names of query string parameters to include in cache keys. Default # parameters are always included. '&' and '=' will be percent encoded # and not treated as delimiters. # Corresponds to the JSON property `queryStringWhitelist` # @return [Array] attr_accessor :query_string_whitelist def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers) @query_string_whitelist = args[:query_string_whitelist] if args.key?(:query_string_whitelist) end end # Specify CDN TTLs for response error codes. class BackendBucketCdnPolicyNegativeCachingPolicy include Google::Apis::Core::Hashable # The HTTP status code to define a TTL against. Only HTTP status codes # 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 can be # specified as values, and you cannot specify a status code more than # once. # Corresponds to the JSON property `code` # @return [Fixnum] attr_accessor :code # The TTL (in seconds) for which to cache responses with the # corresponding status code. # The maximum allowed value is 1800s (30 minutes), noting that # infrequently accessed objects may be evicted from the cache before the # defined TTL. # Corresponds to the JSON property `ttl` # @return [Fixnum] attr_accessor :ttl def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @ttl = args[:ttl] if args.key?(:ttl) end end # Contains a list of BackendBucket resources. class BackendBucketList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of BackendBucket resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::BackendBucketList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Additional Backend Bucket parameters. class BackendBucketParams include Google::Apis::Core::Hashable # Tag keys/values directly bound to this resource. # Tag keys and values have the same definition as resource # manager tags. The field is allowed for INSERT # only. The keys/values to set on the resource should be specified in # either ID ` : ` or Namespaced format # ` : `. # For example the following are valid inputs: # * `"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` # * `"123/environment" : "production", "345/abc" : "xyz"` # Note: # * Invalid combinations of ID & namespaced format is not supported. For # instance: `"123/environment" : "tagValues/444"` is invalid. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) end end # class BackendBucketUsedBy include Google::Apis::Core::Hashable # Output only. [Output Only] Server-defined URL for UrlMaps referencing that # BackendBucket. # Corresponds to the JSON property `reference` # @return [String] attr_accessor :reference def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @reference = args[:reference] if args.key?(:reference) end end # Custom Metrics are used for CUSTOM_METRICS balancing_mode. class BackendCustomMetric include Google::Apis::Core::Hashable # If true, the metric data is collected and reported to Cloud # Monitoring, but is not used for load balancing. # Corresponds to the JSON property `dryRun` # @return [Boolean] attr_accessor :dry_run alias_method :dry_run?, :dry_run # Optional parameter to define a target utilization for the Custom Metrics # balancing mode. The valid range is [0.0, 1.0]. # Corresponds to the JSON property `maxUtilization` # @return [Float] attr_accessor :max_utilization # Name of a custom utilization signal. The name must be 1-64 characters # long and match the regular expression # `[a-z]([-_.a-z0-9]*[a-z0-9])?` which means that the # first character must be a lowercase letter, and all following # characters must be a dash, period, underscore, lowercase letter, or # digit, except the last character, which cannot be a dash, period, or # underscore. For usage guidelines, see Custom Metrics balancing mode. This # field can only be used for a global or regional backend service with the # loadBalancingScheme set to EXTERNAL_MANAGED,INTERNAL_MANAGED # INTERNAL_SELF_MANAGED. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dry_run = args[:dry_run] if args.key?(:dry_run) @max_utilization = args[:max_utilization] if args.key?(:max_utilization) @name = args[:name] if args.key?(:name) end end # Represents a Backend Service resource. # A backend service defines how Google Cloud load balancers distribute traffic. # The backend service configuration contains a set of values, such as the # protocol used to connect to backends, various distribution and session # settings, health checks, and timeouts. These settings provide fine-grained # control over how your load balancer behaves. Most of the settings have # default values that allow for easy configuration if you need to get started # quickly. # Backend services in Google Compute Engine can be either regionally or # globally scoped. # * [Global](https://cloud.google.com/compute/docs/reference/rest/v1/ # backendServices) # * [Regional](https://cloud.google.com/compute/docs/reference/rest/v1/ # regionBackendServices) # For more information, seeBackend # Services. class BackendService include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `affinityCookieTtlSec` # @return [Fixnum] attr_accessor :affinity_cookie_ttl_sec # The list of backends that serve this BackendService. # Corresponds to the JSON property `backends` # @return [Array] attr_accessor :backends # Message containing Cloud CDN configuration for a backend service. # Corresponds to the JSON property `cdnPolicy` # @return [Google::Apis::ComputeV1::BackendServiceCdnPolicy] attr_accessor :cdn_policy # Settings controlling the volume of requests, connections and retries to this # backend service. # Corresponds to the JSON property `circuitBreakers` # @return [Google::Apis::ComputeV1::CircuitBreakers] attr_accessor :circuit_breakers # Compress text responses using Brotli or gzip compression, based on # the client's Accept-Encoding header. # Corresponds to the JSON property `compressionMode` # @return [String] attr_accessor :compression_mode # Message containing connection draining configuration. # Corresponds to the JSON property `connectionDraining` # @return [Google::Apis::ComputeV1::ConnectionDraining] attr_accessor :connection_draining # Connection Tracking configuration for this BackendService. # Corresponds to the JSON property `connectionTrackingPolicy` # @return [Google::Apis::ComputeV1::BackendServiceConnectionTrackingPolicy] attr_accessor :connection_tracking_policy # This message defines settings for a consistent hash style load balancer. # Corresponds to the JSON property `consistentHash` # @return [Google::Apis::ComputeV1::ConsistentHashLoadBalancerSettings] attr_accessor :consistent_hash # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # List of custom metrics that are used for theWEIGHTED_ROUND_ROBIN # locality_lb_policy. # Corresponds to the JSON property `customMetrics` # @return [Array] attr_accessor :custom_metrics # Headers that the load balancer adds to proxied requests. See [Creating # custom # headers](https://cloud.google.com/load-balancing/docs/custom-headers). # Corresponds to the JSON property `customRequestHeaders` # @return [Array] attr_accessor :custom_request_headers # Headers that the load balancer adds to proxied responses. See [Creating # custom # headers](https://cloud.google.com/load-balancing/docs/custom-headers). # Corresponds to the JSON property `customResponseHeaders` # @return [Array] attr_accessor :custom_response_headers # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Output Only] The resource URL for the edge security policy associated with # this backend service. # Corresponds to the JSON property `edgeSecurityPolicy` # @return [String] attr_accessor :edge_security_policy # If true, enables Cloud CDN for the backend service of a # global external Application Load Balancer. # Corresponds to the JSON property `enableCDN` # @return [Boolean] attr_accessor :enable_cdn alias_method :enable_cdn?, :enable_cdn # Specifies the canary migration state. Possible values are PREPARE, # TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. # To begin the migration from EXTERNAL to EXTERNAL_MANAGED, the state must be # changed to PREPARE. The state must be changed to TEST_ALL_TRAFFIC before # the loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, the # TEST_BY_PERCENTAGE state can be used to migrate traffic by percentage using # externalManagedMigrationTestingPercentage. # Rolling back a migration requires the states to be set in reverse order. So # changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to # be set to TEST_ALL_TRAFFIC at the same time. Optionally, the # TEST_BY_PERCENTAGE state can be used to migrate some traffic back to # EXTERNAL or PREPARE can be used to migrate all traffic back to EXTERNAL. # Corresponds to the JSON property `externalManagedMigrationState` # @return [String] attr_accessor :external_managed_migration_state # Determines the fraction of requests that should be processed by the Global # external Application Load Balancer. # The value of this field must be in the range [0, 100]. # Session affinity options will slightly affect this routing behavior, for # more details, see:Session # Affinity. # This value can only be set if the loadBalancingScheme in the BackendService # is set to EXTERNAL (when using the classic Application Load Balancer) and # the migration state is TEST_BY_PERCENTAGE. # Corresponds to the JSON property `externalManagedMigrationTestingPercentage` # @return [Float] attr_accessor :external_managed_migration_testing_percentage # 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). # Corresponds to the JSON property `failoverPolicy` # @return [Google::Apis::ComputeV1::BackendServiceFailoverPolicy] attr_accessor :failover_policy # 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 BackendService. An up-to-date fingerprint must be provided in # order to update the BackendService, otherwise the request will # fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve a BackendService. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # Configures self-managed High Availability (HA) for External and Internal # Protocol Forwarding. # The backends of this regional backend service must only specify zonal # network endpoint groups (NEGs) of type GCE_VM_IP. # When haPolicy is set for an Internal Passthrough Network Load Balancer, the # regional backend service must set the network field. All zonal NEGs must # belong to the same network. However, individual NEGs can # belong to different subnetworks of that network. # When haPolicy is specified, the set of attached network endpoints across # all backends comprise an High Availability domain from which one endpoint # is selected as the active endpoint (the leader) that receives all # traffic. # haPolicy can be added only at backend service creation time. Once set up, # it cannot be deleted. # Note that haPolicy is not for load balancing, and therefore cannot be # specified with sessionAffinity, connectionTrackingPolicy, and # failoverPolicy. # haPolicy requires customers to be responsible for tracking backend # endpoint health and electing a leader among the healthy endpoints. # Therefore, haPolicy cannot be specified with healthChecks. # haPolicy can only be specified for External Passthrough Network Load # Balancers and Internal Passthrough Network Load Balancers. # Corresponds to the JSON property `haPolicy` # @return [Google::Apis::ComputeV1::BackendServiceHaPolicy] attr_accessor :ha_policy # 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 unless # haPolicy is specified. Backend services with internet or serverless NEG # backends must not have a health check. # healthChecks[] cannot be specified with haPolicy. # Corresponds to the JSON property `healthChecks` # @return [Array] attr_accessor :health_checks # Identity-Aware Proxy # Corresponds to the JSON property `iap` # @return [Google::Apis::ComputeV1::BackendServiceIap] attr_accessor :iap # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Specifies a preference for traffic sent from the proxy to the backend (or # from the client to the backend for proxyless gRPC). # The possible values are: # # - IPV4_ONLY: Only send IPv4 traffic to the backends of the # backend service (Instance Group, Managed Instance Group, Network Endpoint # Group), regardless of traffic from the client to the proxy. Only IPv4 # health checks are used to check the health of the backends. This is the # default setting. # - PREFER_IPV6: Prioritize the connection to the endpoint's # IPv6 address over its IPv4 address (provided there is a healthy IPv6 # address). # - IPV6_ONLY: Only send IPv6 traffic to the backends of the # backend service (Instance Group, Managed Instance Group, Network Endpoint # Group), regardless of traffic from the client to the proxy. Only IPv6 # health checks are used to check the health of the backends. # This field is applicable to either: # # - Advanced global external Application Load Balancer (load balancing # scheme EXTERNAL_MANAGED), # - Regional external Application Load # Balancer, # - Internal proxy Network Load Balancer (load balancing # scheme INTERNAL_MANAGED), # - Regional internal Application Load # Balancer (load balancing scheme INTERNAL_MANAGED), # - Traffic # Director with Envoy proxies and proxyless gRPC (load balancing scheme # INTERNAL_SELF_MANAGED). # Corresponds to the JSON property `ipAddressSelectionPolicy` # @return [String] attr_accessor :ip_address_selection_policy # Output only. [Output Only] Type of resource. Always compute#backendService # for backend services. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Specifies the load balancer type. A backend service # created for one type of load balancer cannot be used with another. # For more information, refer toChoosing # a load balancer. # Corresponds to the JSON property `loadBalancingScheme` # @return [String] attr_accessor :load_balancing_scheme # 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, seeDefine # 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. # Corresponds to the JSON property `localityLbPolicies` # @return [Array] attr_accessor :locality_lb_policies # 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 Maglev: # A Fast and Reliable Software Network Load Balancer. # - WEIGHTED_ROUND_ROBIN: Per-endpoint Weighted Round Robin # Load Balancing using weights computed from Backend reported Custom Metrics. # If set, the Backend Service responses are expected to contain non-standard # HTTP response header field Endpoint-Load-Metrics. The reported # metrics to use for computing the weights are specified via thecustomMetrics # field. # # This field is applicable to either: # - A regional backend service with the service_protocol set to HTTP, # HTTPS, HTTP2 or H2C, 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 configured—that is, if session # affinity remains at the default value of NONE—then the # default value for localityLbPolicy # is ROUND_ROBIN. If session affinity is set to a value other # than NONE, # then the default value for localityLbPolicy isMAGLEV. # # 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 cannot be specified with haPolicy. # Corresponds to the JSON property `localityLbPolicy` # @return [String] attr_accessor :locality_lb_policy # The available logging options for the load balancer traffic served by this # backend service. # Corresponds to the JSON property `logConfig` # @return [Google::Apis::ComputeV1::BackendServiceLogConfig] attr_accessor :log_config # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `maxStreamDuration` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :max_stream_duration # Deployment metadata associated with the resource to be set by a GKE hub # controller and read by the backend RCTH # Corresponds to the JSON property `metadatas` # @return [Hash] attr_accessor :metadatas # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The URL of the network to which this backend service belongs. # This field must be set for Internal Passthrough Network Load Balancers when # the haPolicy is enabled, and for External Passthrough Network Load # Balancers when the haPolicy fastIpMove is enabled. # This field can only be specified when the load balancing scheme is set # toINTERNAL, or when the load balancing scheme is set toEXTERNAL and haPolicy # fastIpMove is enabled. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # Configures traffic steering properties of internal passthrough Network # Load Balancers. # networkPassThroughLbTrafficPolicy cannot be specified with haPolicy. # Corresponds to the JSON property `networkPassThroughLbTrafficPolicy` # @return [Google::Apis::ComputeV1::BackendServiceNetworkPassThroughLbTrafficPolicy] attr_accessor :network_pass_through_lb_traffic_policy # Settings controlling the eviction of unhealthy hosts from the load balancing # pool for the backend service. # Corresponds to the JSON property `outlierDetection` # @return [Google::Apis::ComputeV1::OutlierDetection] attr_accessor :outlier_detection # Additional Backend Service parameters. # Corresponds to the JSON property `params` # @return [Google::Apis::ComputeV1::BackendServiceParams] attr_accessor :params # 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. # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port # 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. # Corresponds to the JSON property `portName` # @return [String] attr_accessor :port_name # The protocol this BackendService uses to communicate # with backends. # Possible values are HTTP, HTTPS, HTTP2, H2C, 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. # Corresponds to the JSON property `protocol` # @return [String] attr_accessor :protocol # Output only. [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. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [Output Only] The resource URL for the security policy associated with this # backend service. # Corresponds to the JSON property `securityPolicy` # @return [String] attr_accessor :security_policy # The authentication and authorization settings for a BackendService. # Corresponds to the JSON property `securitySettings` # @return [Google::Apis::ComputeV1::SecuritySettings] attr_accessor :security_settings # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # 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. # Corresponds to the JSON property `serviceBindings` # @return [Array] attr_accessor :service_bindings # URL to networkservices.ServiceLbPolicy resource. # Can only be set if load balancing scheme is EXTERNAL_MANAGED, # INTERNAL_MANAGED or INTERNAL_SELF_MANAGED and the scope is global. # Corresponds to the JSON property `serviceLbPolicy` # @return [String] attr_accessor :service_lb_policy # 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). # sessionAffinity cannot be specified with haPolicy. # Corresponds to the JSON property `sessionAffinity` # @return [String] attr_accessor :session_affinity # The HTTP cookie used for stateful session affinity. # Corresponds to the JSON property `strongSessionAffinityCookie` # @return [Google::Apis::ComputeV1::BackendServiceHttpCookie] attr_accessor :strong_session_affinity_cookie # Subsetting configuration for this BackendService. # Currently this is applicable only for Internal TCP/UDP load balancing, # Internal HTTP(S) load balancing and Traffic Director. # Corresponds to the JSON property `subsetting` # @return [Google::Apis::ComputeV1::Subsetting] attr_accessor :subsetting # 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. # Corresponds to the JSON property `timeoutSec` # @return [Fixnum] attr_accessor :timeout_sec # Configuration for Backend Authenticated TLS and mTLS. May only be specified # when the backend protocol is SSL, HTTPS or HTTP2. # Corresponds to the JSON property `tlsSettings` # @return [Google::Apis::ComputeV1::BackendServiceTlsSettings] attr_accessor :tls_settings # Output only. [Output Only] List of resources referencing given backend service. # Corresponds to the JSON property `usedBy` # @return [Array] attr_accessor :used_by def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @affinity_cookie_ttl_sec = args[:affinity_cookie_ttl_sec] if args.key?(:affinity_cookie_ttl_sec) @backends = args[:backends] if args.key?(:backends) @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy) @circuit_breakers = args[:circuit_breakers] if args.key?(:circuit_breakers) @compression_mode = args[:compression_mode] if args.key?(:compression_mode) @connection_draining = args[:connection_draining] if args.key?(:connection_draining) @connection_tracking_policy = args[:connection_tracking_policy] if args.key?(:connection_tracking_policy) @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @custom_metrics = args[:custom_metrics] if args.key?(:custom_metrics) @custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers) @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers) @description = args[:description] if args.key?(:description) @edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy) @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn) @external_managed_migration_state = args[:external_managed_migration_state] if args.key?(:external_managed_migration_state) @external_managed_migration_testing_percentage = args[:external_managed_migration_testing_percentage] if args.key?(:external_managed_migration_testing_percentage) @failover_policy = args[:failover_policy] if args.key?(:failover_policy) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @ha_policy = args[:ha_policy] if args.key?(:ha_policy) @health_checks = args[:health_checks] if args.key?(:health_checks) @iap = args[:iap] if args.key?(:iap) @id = args[:id] if args.key?(:id) @ip_address_selection_policy = args[:ip_address_selection_policy] if args.key?(:ip_address_selection_policy) @kind = args[:kind] if args.key?(:kind) @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme) @locality_lb_policies = args[:locality_lb_policies] if args.key?(:locality_lb_policies) @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy) @log_config = args[:log_config] if args.key?(:log_config) @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration) @metadatas = args[:metadatas] if args.key?(:metadatas) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @network_pass_through_lb_traffic_policy = args[:network_pass_through_lb_traffic_policy] if args.key?(:network_pass_through_lb_traffic_policy) @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection) @params = args[:params] if args.key?(:params) @port = args[:port] if args.key?(:port) @port_name = args[:port_name] if args.key?(:port_name) @protocol = args[:protocol] if args.key?(:protocol) @region = args[:region] if args.key?(:region) @security_policy = args[:security_policy] if args.key?(:security_policy) @security_settings = args[:security_settings] if args.key?(:security_settings) @self_link = args[:self_link] if args.key?(:self_link) @service_bindings = args[:service_bindings] if args.key?(:service_bindings) @service_lb_policy = args[:service_lb_policy] if args.key?(:service_lb_policy) @session_affinity = args[:session_affinity] if args.key?(:session_affinity) @strong_session_affinity_cookie = args[:strong_session_affinity_cookie] if args.key?(:strong_session_affinity_cookie) @subsetting = args[:subsetting] if args.key?(:subsetting) @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec) @tls_settings = args[:tls_settings] if args.key?(:tls_settings) @used_by = args[:used_by] if args.key?(:used_by) end end # Contains a list of BackendServicesScopedList. class BackendServiceAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of BackendServicesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::BackendServiceAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Message containing Cloud CDN configuration for a backend service. class BackendServiceCdnPolicy include Google::Apis::Core::Hashable # Bypass the cache when the specified request headers are matched - e.g. # Pragma or Authorization headers. Up to 5 headers can be specified. # The cache is bypassed for all cdnPolicy.cacheMode settings. # Corresponds to the JSON property `bypassCacheOnRequestHeaders` # @return [Array] attr_accessor :bypass_cache_on_request_headers # Message containing what to include in the cache key for a request for Cloud # CDN. # Corresponds to the JSON property `cacheKeyPolicy` # @return [Google::Apis::ComputeV1::CacheKeyPolicy] attr_accessor :cache_key_policy # Specifies the cache setting for all responses from this backend. # The possible values are:USE_ORIGIN_HEADERS Requires the origin to set valid # caching # headers to cache content. Responses without these headers will not be # cached at Google's edge, and will require a full trip to the origin on # every request, potentially impacting performance and increasing load on # the origin server.FORCE_CACHE_ALL Cache all content, ignoring any "private", # "no-store" or "no-cache" directives in Cache-Control response headers. # Warning: this may result in Cloud CDN caching private, # per-user (user identifiable) content.CACHE_ALL_STATIC Automatically cache # static content, # including common image formats, media (video and audio), and web assets # (JavaScript and CSS). Requests and responses that are marked as # uncacheable, as well as dynamic content (including HTML), will not be # cached. # If no value is provided for cdnPolicy.cacheMode, it defaults # to CACHE_ALL_STATIC. # Corresponds to the JSON property `cacheMode` # @return [String] attr_accessor :cache_mode # Specifies a separate client (e.g. browser client) maximum TTL. This is # used to clamp the max-age (or Expires) value sent to the client. With # FORCE_CACHE_ALL, the lesser of client_ttl and default_ttl is used for the # response max-age directive, along with a "public" directive. For # cacheable content in CACHE_ALL_STATIC mode, client_ttl clamps the max-age # from the origin (if specified), or else sets the response max-age # directive to the lesser of the client_ttl and default_ttl, and also # ensures a "public" cache-control directive is present. # If a client TTL is not specified, a default value (1 hour) will be used. # The maximum allowed value is 31,622,400s (1 year). # Corresponds to the JSON property `clientTtl` # @return [Fixnum] attr_accessor :client_ttl # Specifies the default TTL for cached content served by this origin for # responses that do not have an existing valid TTL (max-age or s-maxage). # Setting a TTL of "0" means "always revalidate". # The value of defaultTTL cannot be set to a value greater than that of # maxTTL, but can be equal. # When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL # will overwrite the TTL set in all responses. The maximum allowed value is # 31,622,400s (1 year), noting that infrequently accessed objects may be # evicted from the cache before the defined TTL. # Corresponds to the JSON property `defaultTtl` # @return [Fixnum] attr_accessor :default_ttl # Specifies the maximum allowed TTL for cached content served by this # origin. # Cache directives that attempt to set a max-age or s-maxage higher than # this, or an Expires header more than maxTTL seconds in the future will # be capped at the value of maxTTL, as if it were the value of an # s-maxage Cache-Control directive. # Headers sent to the client will not be modified. # Setting a TTL of "0" means "always revalidate". # The maximum allowed value is 31,622,400s (1 year), noting that # infrequently accessed objects may be evicted from the cache before # the defined TTL. # Corresponds to the JSON property `maxTtl` # @return [Fixnum] attr_accessor :max_ttl # Negative caching allows per-status code TTLs to be set, in order # to apply fine-grained caching for common errors or redirects. # This can reduce the load on your origin and improve end-user # experience by reducing response latency. # When the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, # negative caching applies to responses with the specified response code # that lack any Cache-Control, Expires, or Pragma: no-cache directives. # When the cache mode is set to FORCE_CACHE_ALL, negative caching applies # to all responses with the specified response code, and override any # caching headers. # By default, Cloud CDN will apply the following default TTLs to these # status codes: # HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m # HTTP 404 (Not Found), 410 (Gone), # 451 (Unavailable For Legal Reasons): 120s # HTTP 405 (Method Not Found), 501 (Not Implemented): 60s. # These defaults can be overridden in negative_caching_policy. # Corresponds to the JSON property `negativeCaching` # @return [Boolean] attr_accessor :negative_caching alias_method :negative_caching?, :negative_caching # Sets a cache TTL for the specified HTTP status code. # negative_caching must be enabled to configure negative_caching_policy. # Omitting the policy and leaving negative_caching enabled will use # Cloud CDN's default cache TTLs. # Note that when specifying an explicit negative_caching_policy, you # should take care to specify a cache TTL for all response codes # that you wish to cache. Cloud CDN will not apply any default # negative caching when a policy exists. # Corresponds to the JSON property `negativeCachingPolicy` # @return [Array] attr_accessor :negative_caching_policy # If true then Cloud CDN will combine multiple concurrent cache fill # requests into a small number of requests to the origin. # Corresponds to the JSON property `requestCoalescing` # @return [Boolean] attr_accessor :request_coalescing alias_method :request_coalescing?, :request_coalescing # Serve existing content from the cache (if available) when revalidating # content with the origin, or when an error is encountered when refreshing # the cache. # This setting defines the default "max-stale" duration for any cached # responses that do not specify a max-stale directive. Stale responses that # exceed the TTL configured here will not be served. The default limit # (max-stale) is 86400s (1 day), which will allow stale content to be # served up to this limit beyond the max-age (or s-maxage) of a cached # response. # The maximum allowed value is 604800 (1 week). # Set this to zero (0) to disable serve-while-stale. # Corresponds to the JSON property `serveWhileStale` # @return [Fixnum] attr_accessor :serve_while_stale # Maximum number of seconds the response to a signed URL request will be # considered fresh. After this time period, the response will be # revalidated before being served. Defaults to 1hr (3600s). When serving # responses to signed URL requests, Cloud CDN will internally behave as # though all responses from this backend had a "Cache-Control: # public, max-age=[TTL]" header, regardless of any existing # Cache-Control header. The actual headers served in responses will not be # altered. # Corresponds to the JSON property `signedUrlCacheMaxAgeSec` # @return [Fixnum] attr_accessor :signed_url_cache_max_age_sec # [Output Only] Names of the keys for signing request URLs. # Corresponds to the JSON property `signedUrlKeyNames` # @return [Array] attr_accessor :signed_url_key_names def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers) @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy) @cache_mode = args[:cache_mode] if args.key?(:cache_mode) @client_ttl = args[:client_ttl] if args.key?(:client_ttl) @default_ttl = args[:default_ttl] if args.key?(:default_ttl) @max_ttl = args[:max_ttl] if args.key?(:max_ttl) @negative_caching = args[:negative_caching] if args.key?(:negative_caching) @negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy) @request_coalescing = args[:request_coalescing] if args.key?(:request_coalescing) @serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale) @signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec) @signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names) end end # Bypass the cache when the specified request headers are present, # e.g. Pragma or Authorization headers. Values are case insensitive. # The presence of such a header overrides the cache_mode setting. class BackendServiceCdnPolicyBypassCacheOnRequestHeader include Google::Apis::Core::Hashable # The header field name to match on when bypassing cache. # Values are case-insensitive. # Corresponds to the JSON property `headerName` # @return [String] attr_accessor :header_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @header_name = args[:header_name] if args.key?(:header_name) end end # Specify CDN TTLs for response error codes. class BackendServiceCdnPolicyNegativeCachingPolicy include Google::Apis::Core::Hashable # The HTTP status code to define a TTL against. Only HTTP status codes # 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 can be # specified as values, and you cannot specify a status code more than # once. # Corresponds to the JSON property `code` # @return [Fixnum] attr_accessor :code # The TTL (in seconds) for which to cache responses with the # corresponding status code. # The maximum allowed value is 1800s (30 minutes), noting that # infrequently accessed objects may be evicted from the cache before the # defined TTL. # Corresponds to the JSON property `ttl` # @return [Fixnum] attr_accessor :ttl def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @ttl = args[:ttl] if args.key?(:ttl) end end # Connection Tracking configuration for this BackendService. class BackendServiceConnectionTrackingPolicy include Google::Apis::Core::Hashable # 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 isPER_CONNECTION (default # tracking mode) or the Session # Affinity is configured for 5-tuple. They do not persist forUDP. # 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). # Corresponds to the JSON property `connectionPersistenceOnUnhealthyBackends` # @return [String] attr_accessor :connection_persistence_on_unhealthy_backends # Enable Strong Session Affinity for external passthrough Network Load # Balancers. This option is not available publicly. # Corresponds to the JSON property `enableStrongAffinity` # @return [Boolean] attr_accessor :enable_strong_affinity alias_method :enable_strong_affinity?, :enable_strong_affinity # 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. # Corresponds to the JSON property `idleTimeoutSec` # @return [Fixnum] attr_accessor :idle_timeout_sec # 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) # . # Corresponds to the JSON property `trackingMode` # @return [String] attr_accessor :tracking_mode def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @connection_persistence_on_unhealthy_backends = args[:connection_persistence_on_unhealthy_backends] if args.key?(:connection_persistence_on_unhealthy_backends) @enable_strong_affinity = args[:enable_strong_affinity] if args.key?(:enable_strong_affinity) @idle_timeout_sec = args[:idle_timeout_sec] if args.key?(:idle_timeout_sec) @tracking_mode = args[:tracking_mode] if args.key?(:tracking_mode) end end # Custom Metrics are used for WEIGHTED_ROUND_ROBIN # locality_lb_policy. class BackendServiceCustomMetric include Google::Apis::Core::Hashable # If true, the metric data is not used for load balancing. # Corresponds to the JSON property `dryRun` # @return [Boolean] attr_accessor :dry_run alias_method :dry_run?, :dry_run # Name of a custom utilization signal. The name must be 1-64 characters # long and match the regular expression # `[a-z]([-_.a-z0-9]*[a-z0-9])?` which means that the # first character must be a lowercase letter, and all following # characters must be a dash, period, underscore, lowercase letter, or # digit, except the last character, which cannot be a dash, period, or # underscore. For usage guidelines, see Custom Metrics balancing mode. This # field can only be used for a global or regional backend service with the # loadBalancingScheme set to EXTERNAL_MANAGED,INTERNAL_MANAGED # INTERNAL_SELF_MANAGED. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dry_run = args[:dry_run] if args.key?(:dry_run) @name = args[:name] if args.key?(:name) end end # 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). class BackendServiceFailoverPolicy include Google::Apis::Core::Hashable # This can be set to true only if the protocol isTCP. # The default is false. # Corresponds to the JSON property `disableConnectionDrainOnFailover` # @return [Boolean] attr_accessor :disable_connection_drain_on_failover alias_method :disable_connection_drain_on_failover?, :disable_connection_drain_on_failover # 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. # Corresponds to the JSON property `dropTrafficIfUnhealthy` # @return [Boolean] attr_accessor :drop_traffic_if_unhealthy alias_method :drop_traffic_if_unhealthy?, :drop_traffic_if_unhealthy # 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). # Corresponds to the JSON property `failoverRatio` # @return [Float] attr_accessor :failover_ratio def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disable_connection_drain_on_failover = args[:disable_connection_drain_on_failover] if args.key?(:disable_connection_drain_on_failover) @drop_traffic_if_unhealthy = args[:drop_traffic_if_unhealthy] if args.key?(:drop_traffic_if_unhealthy) @failover_ratio = args[:failover_ratio] if args.key?(:failover_ratio) end end # class BackendServiceGroupHealth include Google::Apis::Core::Hashable # Metadata defined as annotations on the network endpoint group. # Corresponds to the JSON property `annotations` # @return [Hash] attr_accessor :annotations # Health state of the backend instances or endpoints in requested instance or # network endpoint group, determined based on configured health checks. # Corresponds to the JSON property `healthStatus` # @return [Array] attr_accessor :health_status # Output only. [Output Only] Type of resource. Alwayscompute# # backendServiceGroupHealth for the health of backend # services. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @annotations = args[:annotations] if args.key?(:annotations) @health_status = args[:health_status] if args.key?(:health_status) @kind = args[:kind] if args.key?(:kind) end end # class BackendServiceHaPolicy include Google::Apis::Core::Hashable # Specifies whether fast IP move is enabled, and if so, the mechanism to # achieve it. # Supported values are: # # - DISABLED: Fast IP Move is disabled. You can only use the # haPolicy.leader API to update the leader. # - >GARP_RA: Provides a method to very quickly define a new network # endpoint as the leader. This method is faster than updating the leader # using the haPolicy.leader API. Fast IP move works as follows: The VM # hosting the network endpoint that should become the new leader sends # either a Gratuitous ARP (GARP) packet (IPv4) or an ICMPv6 Router # Advertisement(RA) packet (IPv6). Google Cloud immediately but # temporarily associates the forwarding rule IP address with that VM, and # both new and in-flight packets are quickly delivered to that VM. # Note the important properties of the Fast IP Move functionality: # # - The GARP/RA-initiated re-routing stays active for approximately 20 # minutes. After triggering fast failover, you must also # appropriately set the haPolicy.leader. # - The new leader instance should continue to send GARP/RA packets # periodically every 10 seconds until at least 10 minutes after updating # the haPolicy.leader (but stop immediately if it is no longer the leader). # - After triggering a fast failover, we recommend that you wait at least # 3 seconds before sending another GARP/RA packet from a different VM # instance to avoid race conditions. # - Don't send GARP/RA packets from different VM # instances at the same time. If multiple instances continue to send # GARP/RA packets, traffic might be routed to different destinations in an # alternating order. This condition ceases when a single instance # issues a GARP/RA packet. # - The GARP/RA request always takes priority over the leader API. # Using the haPolicy.leader API to change the leader to a different # instance will have no effect until the GARP/RA request becomes # inactive. # - The GARP/RA packets should follow the GARP/RA # Packet Specifications.. # - When multiple forwarding rules refer to a regional backend service, # you need only send a GARP or RA packet for a single forwarding rule # virtual IP. The virtual IPs for all forwarding rules targeting the same # backend service will also be moved to the sender of the GARP or RA # packet. # The following are the Fast IP Move limitations (that is, when fastIPMove # is not DISABLED): # # - Multiple forwarding rules cannot use the same IP address if one of # them refers to a regional backend service with fastIPMove. # - The regional backend service must set the network field, and all # NEGs must belong to that network. However, individual # NEGs can belong to different subnetworks of that network. # - The maximum number of network endpoints across all backends of a # backend service with fastIPMove is 32. # - The maximum number of backend services with fastIPMove that can have # the same network endpoint attached to one of its backends is 64. # - The maximum number of backend services with fastIPMove in a VPC in a # region is 64. # - The network endpoints that are attached to a backend of a backend # service with fastIPMove cannot resolve to Gen3+ machines for IPv6. # - Traffic directed to the leader by a static route next hop will not be # redirected to a new leader by fast failover. Such traffic will only be # redirected once an haPolicy.leader update has taken effect. Only traffic # to the forwarding rule's virtual IP will be redirected to a new leader by # fast failover. # haPolicy.fastIPMove can be set only at backend service creation time. # Once set, it cannot be updated. # By default, fastIpMove is set to DISABLED. # Corresponds to the JSON property `fastIPMove` # @return [String] attr_accessor :fast_ip_move # Selects one of the network endpoints attached to the backend NEGs of # this service as the active endpoint (the leader) that receives all # traffic. # When the leader changes, there is no connection draining to persist # existing connections on the old leader. # You are responsible for selecting a suitable endpoint as the # leader. For example, preferring a healthy endpoint over unhealthy ones. # Note that this service does not track backend endpoint health, and # selects the configured leader unconditionally. # Corresponds to the JSON property `leader` # @return [Google::Apis::ComputeV1::BackendServiceHaPolicyLeader] attr_accessor :leader def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fast_ip_move = args[:fast_ip_move] if args.key?(:fast_ip_move) @leader = args[:leader] if args.key?(:leader) end end # class BackendServiceHaPolicyLeader include Google::Apis::Core::Hashable # A fully-qualified URL (starting with https://www.googleapis.com/) # of the zonal Network Endpoint Group (NEG) with `GCE_VM_IP` endpoints # that the leader is attached to. # The leader's backendGroup must already be specified as a backend of # this backend service. Removing a backend that is designated as the # leader's backendGroup is not permitted. # Corresponds to the JSON property `backendGroup` # @return [String] attr_accessor :backend_group # The network endpoint within the leader.backendGroup that is # designated as the leader. # This network endpoint cannot be detached from the NEG specified in # the haPolicy.leader.backendGroup until the leader is updated with # another network endpoint, or the leader is removed from the haPolicy. # Corresponds to the JSON property `networkEndpoint` # @return [Google::Apis::ComputeV1::BackendServiceHaPolicyLeaderNetworkEndpoint] attr_accessor :network_endpoint def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @backend_group = args[:backend_group] if args.key?(:backend_group) @network_endpoint = args[:network_endpoint] if args.key?(:network_endpoint) end end # class BackendServiceHaPolicyLeaderNetworkEndpoint include Google::Apis::Core::Hashable # The name of the VM instance of the leader network endpoint. The # instance must already be attached to the NEG specified in the # haPolicy.leader.backendGroup. # The name must be 1-63 characters long, and comply with RFC1035. # Authorization requires the following IAM permission on the # specified resource instance: compute.instances.use # Corresponds to the JSON property `instance` # @return [String] attr_accessor :instance def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance = args[:instance] if args.key?(:instance) end end # The HTTP cookie used for stateful session affinity. class BackendServiceHttpCookie include Google::Apis::Core::Hashable # Name of the cookie. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Path to set for the cookie. # Corresponds to the JSON property `path` # @return [String] attr_accessor :path # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `ttl` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :ttl def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @path = args[:path] if args.key?(:path) @ttl = args[:ttl] if args.key?(:ttl) end end # Identity-Aware Proxy class BackendServiceIap include Google::Apis::Core::Hashable # Whether the serving infrastructure will authenticate and authorize all # incoming requests. # Corresponds to the JSON property `enabled` # @return [Boolean] attr_accessor :enabled alias_method :enabled?, :enabled # OAuth2 client ID to use for the authentication flow. # Corresponds to the JSON property `oauth2ClientId` # @return [String] attr_accessor :oauth2_client_id # 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 # Corresponds to the JSON property `oauth2ClientSecret` # @return [String] attr_accessor :oauth2_client_secret # Output only. [Output Only] SHA256 hash value for the field # oauth2_client_secret above. # Corresponds to the JSON property `oauth2ClientSecretSha256` # @return [String] attr_accessor :oauth2_client_secret_sha256 def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @enabled = args[:enabled] if args.key?(:enabled) @oauth2_client_id = args[:oauth2_client_id] if args.key?(:oauth2_client_id) @oauth2_client_secret = args[:oauth2_client_secret] if args.key?(:oauth2_client_secret) @oauth2_client_secret_sha256 = args[:oauth2_client_secret_sha256] if args.key?(:oauth2_client_secret_sha256) end end # Contains a list of BackendService resources. class BackendServiceList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of BackendService resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute#backendServiceList # for lists of backend services. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::BackendServiceList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of usable BackendService resources. class BackendServiceListUsable include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of BackendService resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # usableBackendServiceList for lists of usable backend # services. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::BackendServiceListUsable::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Container for either a built-in LB policy supported by gRPC or Envoy or # a custom one implemented by the end user. class BackendServiceLocalityLoadBalancingPolicyConfig include Google::Apis::Core::Hashable # The configuration for a custom policy implemented by the user and # deployed with the client. # Corresponds to the JSON property `customPolicy` # @return [Google::Apis::ComputeV1::BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy] attr_accessor :custom_policy # The configuration for a built-in load balancing policy. # Corresponds to the JSON property `policy` # @return [Google::Apis::ComputeV1::BackendServiceLocalityLoadBalancingPolicyConfigPolicy] attr_accessor :policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @custom_policy = args[:custom_policy] if args.key?(:custom_policy) @policy = args[:policy] if args.key?(:policy) end end # The configuration for a custom policy implemented by the user and # deployed with the client. class BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy include Google::Apis::Core::Hashable # An optional, arbitrary JSON object with configuration data, understood # by a locally installed custom policy implementation. # Corresponds to the JSON property `data` # @return [String] attr_accessor :data # 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, seeUse # a custom policy. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @data = args[:data] if args.key?(:data) @name = args[:name] if args.key?(:name) end end # The configuration for a built-in load balancing policy. class BackendServiceLocalityLoadBalancingPolicyConfigPolicy include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) end end # The available logging options for the load balancer traffic served by this # backend service. class BackendServiceLogConfig include Google::Apis::Core::Hashable # Denotes whether to enable logging for the load balancer # traffic served by this backend service. The default value is false. # Corresponds to the JSON property `enable` # @return [Boolean] attr_accessor :enable alias_method :enable?, :enable # 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 # Corresponds to the JSON property `optionalFields` # @return [Array] attr_accessor :optional_fields # 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. # Corresponds to the JSON property `optionalMode` # @return [String] attr_accessor :optional_mode # 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. # Corresponds to the JSON property `sampleRate` # @return [Float] attr_accessor :sample_rate def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @enable = args[:enable] if args.key?(:enable) @optional_fields = args[:optional_fields] if args.key?(:optional_fields) @optional_mode = args[:optional_mode] if args.key?(:optional_mode) @sample_rate = args[:sample_rate] if args.key?(:sample_rate) end end # class BackendServiceNetworkPassThroughLbTrafficPolicy include Google::Apis::Core::Hashable # When configured, new connections are load balanced across healthy backend # endpoints in the local zone. # Corresponds to the JSON property `zonalAffinity` # @return [Google::Apis::ComputeV1::BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity] attr_accessor :zonal_affinity def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @zonal_affinity = args[:zonal_affinity] if args.key?(:zonal_affinity) end end # class BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity include Google::Apis::Core::Hashable # This field indicates whether zonal affinity is enabled or not. The # possible values are: # # - ZONAL_AFFINITY_DISABLED: Default Value. Zonal Affinity # is disabled. The load balancer distributes new connections to all # healthy backend endpoints across all zones. # - ZONAL_AFFINITY_STAY_WITHIN_ZONE: Zonal Affinity is # enabled. The load balancer distributes new connections to all healthy # backend endpoints in the local zone only. If there are no healthy # backend endpoints in the local zone, the load balancer distributes # new connections to all backend endpoints in the local zone. # - ZONAL_AFFINITY_SPILL_CROSS_ZONE: Zonal Affinity is # enabled. The load balancer distributes new connections to all healthy # backend endpoints in the local zone only. If there aren't enough # healthy backend endpoints in the local zone, the load balancer # distributes new connections to all healthy backend endpoints across all # zones. # Corresponds to the JSON property `spillover` # @return [String] attr_accessor :spillover # The value of the field must be in [0, 1]. When the ratio of the count # of healthy backend endpoints in a zone to the count of backend # endpoints in that same zone is equal to or above this threshold, the # load balancer distributes new connections to all healthy endpoints in # the local zone only. When the ratio of the count of healthy backend # endpoints in a zone to the count of backend endpoints in that same # zone is below this threshold, the load balancer distributes all new # connections to all healthy endpoints across all zones. # Corresponds to the JSON property `spilloverRatio` # @return [Float] attr_accessor :spillover_ratio def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @spillover = args[:spillover] if args.key?(:spillover) @spillover_ratio = args[:spillover_ratio] if args.key?(:spillover_ratio) end end # Additional Backend Service parameters. class BackendServiceParams include Google::Apis::Core::Hashable # Tag keys/values directly bound to this resource. # Tag keys and values have the same definition as resource # manager tags. The field is allowed for INSERT # only. The keys/values to set on the resource should be specified in # either ID ` : ` or Namespaced format # ` : `. # For example the following are valid inputs: # * `"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` # * `"123/environment" : "production", "345/abc" : "xyz"` # Note: # * Invalid combinations of ID & namespaced format is not supported. For # instance: `"123/environment" : "tagValues/444"` is invalid. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) end end # class BackendServiceReference include Google::Apis::Core::Hashable # # Corresponds to the JSON property `backendService` # @return [String] attr_accessor :backend_service def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @backend_service = args[:backend_service] if args.key?(:backend_service) end end # class BackendServiceTlsSettings include Google::Apis::Core::Hashable # Reference to the BackendAuthenticationConfig resource from the # networksecurity.googleapis.com namespace. Can be used in authenticating # TLS connections to the backend, as specified by the authenticationMode # field. Can only be specified if authenticationMode is not NONE. # Corresponds to the JSON property `authenticationConfig` # @return [String] attr_accessor :authentication_config # Server Name Indication - see RFC3546 section 3.1. If set, the load # balancer sends this string as the SNI hostname in the TLS connection to # the backend, and requires that this string match a Subject Alternative # Name (SAN) in the backend's server certificate. With a Regional Internet # NEG backend, if the SNI is specified here, the load balancer uses it # regardless of whether the Regional Internet NEG is specified with FQDN or # IP address and port. When both sni and subjectAltNames[] are specified, # the load balancer matches the backend certificate's SAN only to # subjectAltNames[]. # Corresponds to the JSON property `sni` # @return [String] attr_accessor :sni # A list of Subject Alternative Names (SANs) that the Load Balancer # verifies during a TLS handshake with the backend. When the server # presents its X.509 certificate to the Load Balancer, the Load Balancer # inspects the certificate's SAN field, and requires that at least one SAN # match one of the subjectAltNames in the list. This field is limited to 5 # entries. When both sni and subjectAltNames[] are specified, the load # balancer matches the backend certificate's SAN only to subjectAltNames[]. # Corresponds to the JSON property `subjectAltNames` # @return [Array] attr_accessor :subject_alt_names def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @authentication_config = args[:authentication_config] if args.key?(:authentication_config) @sni = args[:sni] if args.key?(:sni) @subject_alt_names = args[:subject_alt_names] if args.key?(:subject_alt_names) end end # A Subject Alternative Name that the load balancer matches against the SAN # field in the TLS certificate provided by the backend, specified as either # a DNS name or a URI, in accordance with RFC 5280 4.2.1.6 class BackendServiceTlsSettingsSubjectAltName include Google::Apis::Core::Hashable # The SAN specified as a DNS Name. # Corresponds to the JSON property `dnsName` # @return [String] attr_accessor :dns_name # The SAN specified as a URI. # Corresponds to the JSON property `uniformResourceIdentifier` # @return [String] attr_accessor :uniform_resource_identifier def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dns_name = args[:dns_name] if args.key?(:dns_name) @uniform_resource_identifier = args[:uniform_resource_identifier] if args.key?(:uniform_resource_identifier) end end # class BackendServiceUsedBy include Google::Apis::Core::Hashable # Output only. [Output Only] Server-defined URL for resources referencing given # BackendService like UrlMaps, TargetTcpProxies, TargetSslProxies # and ForwardingRule. # Corresponds to the JSON property `reference` # @return [String] attr_accessor :reference def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @reference = args[:reference] if args.key?(:reference) end end # class BackendServicesScopedList include Google::Apis::Core::Hashable # A list of BackendServices contained in this scope. # Corresponds to the JSON property `backendServices` # @return [Array] attr_accessor :backend_services # Informational warning which replaces the list of # backend services when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::BackendServicesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @backend_services = args[:backend_services] if args.key?(:backend_services) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of # backend services when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class BfdPacket include Google::Apis::Core::Hashable # The Authentication Present bit of the BFD packet. This is specified in # section 4.1 ofRFC5880 # Corresponds to the JSON property `authenticationPresent` # @return [Boolean] attr_accessor :authentication_present alias_method :authentication_present?, :authentication_present # The Control Plane Independent bit of the BFD packet. This is specified in # section 4.1 ofRFC5880 # Corresponds to the JSON property `controlPlaneIndependent` # @return [Boolean] attr_accessor :control_plane_independent alias_method :control_plane_independent?, :control_plane_independent # The demand bit of the BFD packet. This is specified in section 4.1 ofRFC5880 # Corresponds to the JSON property `demand` # @return [Boolean] attr_accessor :demand alias_method :demand?, :demand # The diagnostic code specifies the local system's reason for the last change # in session state. This allows remote systems to determine the reason that # the previous session failed, for example. These diagnostic codes are # specified in section 4.1 ofRFC5880 # Corresponds to the JSON property `diagnostic` # @return [String] attr_accessor :diagnostic # The Final bit of the BFD packet. This is specified in section 4.1 ofRFC5880 # Corresponds to the JSON property `final` # @return [Boolean] attr_accessor :final alias_method :final?, :final # The length of the BFD Control packet in bytes. This is specified in section # 4.1 ofRFC5880 # Corresponds to the JSON property `length` # @return [Fixnum] attr_accessor :length # The Required Min Echo RX Interval value in the BFD packet. This is # specified in section 4.1 ofRFC5880 # Corresponds to the JSON property `minEchoRxIntervalMs` # @return [Fixnum] attr_accessor :min_echo_rx_interval_ms # The Required Min RX Interval value in the BFD packet. This is specified in # section 4.1 ofRFC5880 # Corresponds to the JSON property `minRxIntervalMs` # @return [Fixnum] attr_accessor :min_rx_interval_ms # The Desired Min TX Interval value in the BFD packet. This is specified in # section 4.1 ofRFC5880 # Corresponds to the JSON property `minTxIntervalMs` # @return [Fixnum] attr_accessor :min_tx_interval_ms # The detection time multiplier of the BFD packet. This is specified in # section 4.1 ofRFC5880 # Corresponds to the JSON property `multiplier` # @return [Fixnum] attr_accessor :multiplier # The multipoint bit of the BFD packet. This is specified in section 4.1 # ofRFC5880 # Corresponds to the JSON property `multipoint` # @return [Boolean] attr_accessor :multipoint alias_method :multipoint?, :multipoint # The My Discriminator value in the BFD packet. This is specified in section # 4.1 ofRFC5880 # Corresponds to the JSON property `myDiscriminator` # @return [Fixnum] attr_accessor :my_discriminator # The Poll bit of the BFD packet. This is specified in section 4.1 ofRFC5880 # Corresponds to the JSON property `poll` # @return [Boolean] attr_accessor :poll alias_method :poll?, :poll # The current BFD session state as seen by the transmitting system. These # states are specified in section 4.1 ofRFC5880 # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # The version number of the BFD protocol, as specified in section 4.1 ofRFC5880. # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version # The Your Discriminator value in the BFD packet. This is specified in # section 4.1 ofRFC5880 # Corresponds to the JSON property `yourDiscriminator` # @return [Fixnum] attr_accessor :your_discriminator def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @authentication_present = args[:authentication_present] if args.key?(:authentication_present) @control_plane_independent = args[:control_plane_independent] if args.key?(:control_plane_independent) @demand = args[:demand] if args.key?(:demand) @diagnostic = args[:diagnostic] if args.key?(:diagnostic) @final = args[:final] if args.key?(:final) @length = args[:length] if args.key?(:length) @min_echo_rx_interval_ms = args[:min_echo_rx_interval_ms] if args.key?(:min_echo_rx_interval_ms) @min_rx_interval_ms = args[:min_rx_interval_ms] if args.key?(:min_rx_interval_ms) @min_tx_interval_ms = args[:min_tx_interval_ms] if args.key?(:min_tx_interval_ms) @multiplier = args[:multiplier] if args.key?(:multiplier) @multipoint = args[:multipoint] if args.key?(:multipoint) @my_discriminator = args[:my_discriminator] if args.key?(:my_discriminator) @poll = args[:poll] if args.key?(:poll) @state = args[:state] if args.key?(:state) @version = args[:version] if args.key?(:version) @your_discriminator = args[:your_discriminator] if args.key?(:your_discriminator) end end # Next free: 15 class BfdStatus include Google::Apis::Core::Hashable # The BFD session initialization mode for this BGP peer. # If set to ACTIVE, the Cloud Router will initiate the BFD session for # this BGP peer. If set to PASSIVE, the Cloud Router will wait for the # peer router to initiate the BFD session for this BGP peer. If set to # DISABLED, BFD is disabled for this BGP peer. # Corresponds to the JSON property `bfdSessionInitializationMode` # @return [String] attr_accessor :bfd_session_initialization_mode # Unix timestamp of the most recent config update. # Corresponds to the JSON property `configUpdateTimestampMicros` # @return [Fixnum] attr_accessor :config_update_timestamp_micros # Control packet counts for the current BFD session. # Corresponds to the JSON property `controlPacketCounts` # @return [Google::Apis::ComputeV1::BfdStatusPacketCounts] attr_accessor :control_packet_counts # Inter-packet time interval statistics for control packets. # Corresponds to the JSON property `controlPacketIntervals` # @return [Array] attr_accessor :control_packet_intervals # The diagnostic code specifies the local system's reason for the last change # in session state. This allows remote systems to determine the reason that # the previous session failed, for example. These diagnostic codes are # specified in section 4.1 ofRFC5880 # Corresponds to the JSON property `localDiagnostic` # @return [String] attr_accessor :local_diagnostic # The current BFD session state as seen by the transmitting system. These # states are specified in section 4.1 ofRFC5880 # Corresponds to the JSON property `localState` # @return [String] attr_accessor :local_state # Negotiated transmit interval for control packets. # Corresponds to the JSON property `negotiatedLocalControlTxIntervalMs` # @return [Fixnum] attr_accessor :negotiated_local_control_tx_interval_ms # The most recent Rx control packet for this BFD session. # Corresponds to the JSON property `rxPacket` # @return [Google::Apis::ComputeV1::BfdPacket] attr_accessor :rx_packet # The most recent Tx control packet for this BFD session. # Corresponds to the JSON property `txPacket` # @return [Google::Apis::ComputeV1::BfdPacket] attr_accessor :tx_packet # Session uptime in milliseconds. Value will be 0 if session is not up. # Corresponds to the JSON property `uptimeMs` # @return [Fixnum] attr_accessor :uptime_ms def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bfd_session_initialization_mode = args[:bfd_session_initialization_mode] if args.key?(:bfd_session_initialization_mode) @config_update_timestamp_micros = args[:config_update_timestamp_micros] if args.key?(:config_update_timestamp_micros) @control_packet_counts = args[:control_packet_counts] if args.key?(:control_packet_counts) @control_packet_intervals = args[:control_packet_intervals] if args.key?(:control_packet_intervals) @local_diagnostic = args[:local_diagnostic] if args.key?(:local_diagnostic) @local_state = args[:local_state] if args.key?(:local_state) @negotiated_local_control_tx_interval_ms = args[:negotiated_local_control_tx_interval_ms] if args.key?(:negotiated_local_control_tx_interval_ms) @rx_packet = args[:rx_packet] if args.key?(:rx_packet) @tx_packet = args[:tx_packet] if args.key?(:tx_packet) @uptime_ms = args[:uptime_ms] if args.key?(:uptime_ms) end end # class BfdStatusPacketCounts include Google::Apis::Core::Hashable # Number of packets received since the beginning of the current BFD # session. # Corresponds to the JSON property `numRx` # @return [Fixnum] attr_accessor :num_rx # Number of packets received that were rejected because of errors since the # beginning of the current BFD session. # Corresponds to the JSON property `numRxRejected` # @return [Fixnum] attr_accessor :num_rx_rejected # Number of packets received that were successfully processed since the # beginning of the current BFD session. # Corresponds to the JSON property `numRxSuccessful` # @return [Fixnum] attr_accessor :num_rx_successful # Number of packets transmitted since the beginning of the current BFD # session. # Corresponds to the JSON property `numTx` # @return [Fixnum] attr_accessor :num_tx def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @num_rx = args[:num_rx] if args.key?(:num_rx) @num_rx_rejected = args[:num_rx_rejected] if args.key?(:num_rx_rejected) @num_rx_successful = args[:num_rx_successful] if args.key?(:num_rx_successful) @num_tx = args[:num_tx] if args.key?(:num_tx) end end # class BgpRoute include Google::Apis::Core::Hashable # Output only. [Output only] AS-PATH for the route # Corresponds to the JSON property `asPaths` # @return [Array] attr_accessor :as_paths # Output only. [Output only] BGP communities in human-readable A:B format. # Corresponds to the JSON property `communities` # @return [Array] attr_accessor :communities # Network Layer Reachability Information (NLRI) for a route. # Corresponds to the JSON property `destination` # @return [Google::Apis::ComputeV1::BgpRouteNetworkLayerReachabilityInformation] attr_accessor :destination # Output only. [Output only] BGP multi-exit discriminator # Corresponds to the JSON property `med` # @return [Fixnum] attr_accessor :med # Output only. [Output only] BGP origin (EGP, IGP or INCOMPLETE) # Corresponds to the JSON property `origin` # @return [String] attr_accessor :origin def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @as_paths = args[:as_paths] if args.key?(:as_paths) @communities = args[:communities] if args.key?(:communities) @destination = args[:destination] if args.key?(:destination) @med = args[:med] if args.key?(:med) @origin = args[:origin] if args.key?(:origin) end end # class BgpRouteAsPath include Google::Apis::Core::Hashable # Output only. [Output only] ASNs in the path segment. When type is SEQUENCE, # these are # ordered. # Corresponds to the JSON property `asns` # @return [Array] attr_accessor :asns # Output only. [Output only] ASNs in the path segment. This field is for better # support of 32 bit ASNs as the other asns field suffers from overflow when # the ASN is larger. When type is SEQUENCE, these are ordered. # Corresponds to the JSON property `asns32` # @return [Array] attr_accessor :asns32 # Output only. [Output only] Type of AS-PATH segment (SEQUENCE or SET) # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @asns = args[:asns] if args.key?(:asns) @asns32 = args[:asns32] if args.key?(:asns32) @type = args[:type] if args.key?(:type) end end # Network Layer Reachability Information (NLRI) for a route. class BgpRouteNetworkLayerReachabilityInformation include Google::Apis::Core::Hashable # If the BGP session supports multiple paths (RFC 7911), the path # identifier for this route. # Corresponds to the JSON property `pathId` # @return [Fixnum] attr_accessor :path_id # Human readable CIDR notation for a prefix. E.g. 10.42.0.0/16. # Corresponds to the JSON property `prefix` # @return [String] attr_accessor :prefix def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @path_id = args[:path_id] if args.key?(:path_id) @prefix = args[:prefix] if args.key?(:prefix) end end # Associates `members`, or principals, with a `role`. class Binding include Google::Apis::Core::Hashable # Represents a textual expression in the Common Expression Language (CEL) # syntax. CEL is a C-like expression language. The syntax and semantics of CEL # are documented at https://github.com/google/cel-spec. # Example (Comparison): # title: "Summary size limit" # description: "Determines if a summary is less than 100 chars" # expression: "document.summary.size() < 100" # Example (Equality): # title: "Requestor is owner" # description: "Determines if requestor is the document owner" # expression: "document.owner == request.auth.claims.email" # Example (Logic): # title: "Public documents" # description: "Determine whether the document should be publicly visible" # expression: "document.type != 'private' && document.type != 'internal'" # Example (Data Manipulation): # title: "Notification string" # description: "Create a notification string with a timestamp." # expression: "'New message received at ' + string(document.create_time)" # The exact variables and functions that may be referenced within an expression # are determined by the service that evaluates it. See the service # documentation for additional information. # Corresponds to the JSON property `condition` # @return [Google::Apis::ComputeV1::Expr] attr_accessor :condition # 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`. # Corresponds to the JSON property `members` # @return [Array] attr_accessor :members # 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). # Corresponds to the JSON property `role` # @return [String] attr_accessor :role def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @condition = args[:condition] if args.key?(:condition) @members = args[:members] if args.key?(:members) @role = args[:role] if args.key?(:role) end end # A transient resource used in compute.disks.bulkInsert and # compute.regionDisks.bulkInsert. It is only used to process # requests and is not persisted. class BulkInsertDiskResource include Google::Apis::Core::Hashable # 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 # Corresponds to the JSON property `sourceConsistencyGroupPolicy` # @return [String] attr_accessor :source_consistency_group_policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @source_consistency_group_policy = args[:source_consistency_group_policy] if args.key?(:source_consistency_group_policy) end end # A transient resource used in compute.instances.bulkInsert and # compute.regionInstances.bulkInsert . This resource is not persisted # anywhere, it is used only for processing the requests. class BulkInsertInstanceResource include Google::Apis::Core::Hashable # The maximum number of instances to create. # Corresponds to the JSON property `count` # @return [Fixnum] attr_accessor :count # A flexible specification of machine types for instances to create. # Corresponds to the JSON property `instanceFlexibilityPolicy` # @return [Google::Apis::ComputeV1::InstanceFlexibilityPolicy] attr_accessor :instance_flexibility_policy # The instance properties defining the VM instances to be created. Required # if sourceInstanceTemplate is not provided. # Corresponds to the JSON property `instanceProperties` # @return [Google::Apis::ComputeV1::InstanceProperties] attr_accessor :instance_properties # Configuration for location policy among multiple possible locations # (e.g. preferences for zone selection among zones in a single region). # Corresponds to the JSON property `locationPolicy` # @return [Google::Apis::ComputeV1::LocationPolicy] attr_accessor :location_policy # The minimum number of instances to create. If no min_count is # specified then count is used as the default value. Ifmin_count instances # cannot be created, then no instances will # be created and instances already created will be deleted. # Corresponds to the JSON property `minCount` # @return [Fixnum] attr_accessor :min_count # The string pattern used for the names of the VMs. # Either name_pattern or per_instance_properties # must be set. The pattern must contain one continuous sequence of # placeholder hash characters (#) with each character corresponding to one # digit of the generated instance name. Example: a name_pattern # of inst-#### generates instance names such asinst-0001 and inst-0002. If # existing instances # in the same project and zone have names that match the name pattern # then the generated instance numbers start after the biggest # existing number. For example, if there exists an instance with nameinst-0050, # then instance names generated using the patterninst-#### begin with inst-0051. # The name pattern # placeholder #...# can contain up to 18 characters. # Corresponds to the JSON property `namePattern` # @return [String] attr_accessor :name_pattern # Per-instance properties to be set on individual instances. # Keys of this map specify requested instance names. # Can be empty if name_pattern is used. # Corresponds to the JSON property `perInstanceProperties` # @return [Hash] attr_accessor :per_instance_properties # Specifies the instance template from which to create instances. You may # combine sourceInstanceTemplate withinstanceProperties to override specific # values from an # existing instance template. Bulk API follows the semantics of JSON Merge # Patch described by RFC # 7396. # 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 # This field is optional. # Corresponds to the JSON property `sourceInstanceTemplate` # @return [String] attr_accessor :source_instance_template def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @count = args[:count] if args.key?(:count) @instance_flexibility_policy = args[:instance_flexibility_policy] if args.key?(:instance_flexibility_policy) @instance_properties = args[:instance_properties] if args.key?(:instance_properties) @location_policy = args[:location_policy] if args.key?(:location_policy) @min_count = args[:min_count] if args.key?(:min_count) @name_pattern = args[:name_pattern] if args.key?(:name_pattern) @per_instance_properties = args[:per_instance_properties] if args.key?(:per_instance_properties) @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template) end end # Per-instance properties to be set on individual instances. # To be extended in the future. class BulkInsertInstanceResourcePerInstanceProperties include Google::Apis::Core::Hashable # Specifies the hostname of the instance. More details in: # https://cloud.google.com/compute/docs/instances/custom-hostname-vm# # naming_convention # Corresponds to the JSON property `hostname` # @return [String] attr_accessor :hostname # Output only. This field is only temporary. It will be removed. Do not use it. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @hostname = args[:hostname] if args.key?(:hostname) @name = args[:name] if args.key?(:name) end end # class BulkInsertOperationStatus include Google::Apis::Core::Hashable # [Output Only] Count of VMs successfully created so far. # Corresponds to the JSON property `createdVmCount` # @return [Fixnum] attr_accessor :created_vm_count # [Output Only] Count of VMs that got deleted during rollback. # Corresponds to the JSON property `deletedVmCount` # @return [Fixnum] attr_accessor :deleted_vm_count # [Output Only] Count of VMs that started creating but encountered an # error. # Corresponds to the JSON property `failedToCreateVmCount` # @return [Fixnum] attr_accessor :failed_to_create_vm_count # [Output Only] Creation status of BulkInsert operation - information # if the flow is rolling forward or rolling back. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # [Output Only] Count of VMs originally planned to be created. # Corresponds to the JSON property `targetVmCount` # @return [Fixnum] attr_accessor :target_vm_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @created_vm_count = args[:created_vm_count] if args.key?(:created_vm_count) @deleted_vm_count = args[:deleted_vm_count] if args.key?(:deleted_vm_count) @failed_to_create_vm_count = args[:failed_to_create_vm_count] if args.key?(:failed_to_create_vm_count) @status = args[:status] if args.key?(:status) @target_vm_count = args[:target_vm_count] if args.key?(:target_vm_count) end end # class BulkSetLabelsRequest include Google::Apis::Core::Hashable # The fingerprint of the previous set of labels for this resource, # used to detect conflicts. The fingerprint is initially generated by Compute # Engine and changes after every request to modify or update labels. You may # optionally provide an up-to-date fingerprint hash in order to update or # change labels. Make a get() request to the resource to get the # latest fingerprint. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # The labels to set for this resource. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) end end # class BulkZoneSetLabelsRequest include Google::Apis::Core::Hashable # # Corresponds to the JSON property `requests` # @return [Array] attr_accessor :requests def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @requests = args[:requests] if args.key?(:requests) end end # class BundledLocalSsds include Google::Apis::Core::Hashable # The default disk interface if the interface is not specified. # Corresponds to the JSON property `defaultInterface` # @return [String] attr_accessor :default_interface # The number of partitions. # Corresponds to the JSON property `partitionCount` # @return [Fixnum] attr_accessor :partition_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @default_interface = args[:default_interface] if args.key?(:default_interface) @partition_count = args[:partition_count] if args.key?(:partition_count) end end # class CacheInvalidationRule include Google::Apis::Core::Hashable # A list of cache tags used to identify cached objects. # # - Cache tags are specified when the response is first cached, by setting # the `Cache-Tag` response header at the origin. # - Multiple cache tags in the same invalidation request are treated as # Boolean `OR` - for example, `tag1 OR tag2 OR tag3`. # - If other fields are also specified, these are treated as Boolean `AND` # with any tags. # Up to 10 tags can be specified in a single invalidation request. # Corresponds to the JSON property `cacheTags` # @return [Array] attr_accessor :cache_tags # If set, this invalidation rule will only apply to requests with a Host # header matching host. # Corresponds to the JSON property `host` # @return [String] attr_accessor :host # # Corresponds to the JSON property `path` # @return [String] attr_accessor :path def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cache_tags = args[:cache_tags] if args.key?(:cache_tags) @host = args[:host] if args.key?(:host) @path = args[:path] if args.key?(:path) end end # Message containing what to include in the cache key for a request for Cloud # CDN. class CacheKeyPolicy include Google::Apis::Core::Hashable # If true, requests to different hosts will be cached separately. # Corresponds to the JSON property `includeHost` # @return [Boolean] attr_accessor :include_host alias_method :include_host?, :include_host # Allows HTTP request headers (by name) to be used in the cache key. # Corresponds to the JSON property `includeHttpHeaders` # @return [Array] attr_accessor :include_http_headers # Allows HTTP cookies (by name) to be used in the cache key. # The name=value pair will be used in the cache key Cloud CDN generates. # Corresponds to the JSON property `includeNamedCookies` # @return [Array] attr_accessor :include_named_cookies # If true, http and https requests will be cached separately. # Corresponds to the JSON property `includeProtocol` # @return [Boolean] attr_accessor :include_protocol alias_method :include_protocol?, :include_protocol # If true, include query string parameters in the cache key according to # query_string_whitelist and query_string_blacklist. If neither is set, the # entire query string will be included. If false, the query string will be # excluded from the cache key entirely. # Corresponds to the JSON property `includeQueryString` # @return [Boolean] attr_accessor :include_query_string alias_method :include_query_string?, :include_query_string # Names of query string parameters to exclude in cache keys. All other # parameters will be included. Either specify query_string_whitelist or # query_string_blacklist, not both. '&' and '=' will be percent encoded and # not treated as delimiters. # Corresponds to the JSON property `queryStringBlacklist` # @return [Array] attr_accessor :query_string_blacklist # Names of query string parameters to include in cache keys. All other # parameters will be excluded. Either specify query_string_whitelist or # query_string_blacklist, not both. '&' and '=' will be percent encoded and # not treated as delimiters. # Corresponds to the JSON property `queryStringWhitelist` # @return [Array] attr_accessor :query_string_whitelist def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @include_host = args[:include_host] if args.key?(:include_host) @include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers) @include_named_cookies = args[:include_named_cookies] if args.key?(:include_named_cookies) @include_protocol = args[:include_protocol] if args.key?(:include_protocol) @include_query_string = args[:include_query_string] if args.key?(:include_query_string) @query_string_blacklist = args[:query_string_blacklist] if args.key?(:query_string_blacklist) @query_string_whitelist = args[:query_string_whitelist] if args.key?(:query_string_whitelist) end end # A request to recommend the best way to consume the specified resources in the # future. class CalendarModeAdviceRequest include Google::Apis::Core::Hashable # Specification of resources to create in the future. # The key of the map is an arbitrary string specified by the caller. # Value of the map is a specification of required resources and their # constraints. Currently only one value is allowed in this map. # Corresponds to the JSON property `futureResourcesSpecs` # @return [Hash] attr_accessor :future_resources_specs def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @future_resources_specs = args[:future_resources_specs] if args.key?(:future_resources_specs) end end # A response containing the recommended way of creating the specified resources # in the future. It contains (will contain) multiple recommendations that can # be analyzed by the customer and the best one can be picked. class CalendarModeAdviceResponse include Google::Apis::Core::Hashable # Recommendations where, how and when to create the requested resources # in order to maximize their obtainability and minimize cost. # Corresponds to the JSON property `recommendations` # @return [Array] attr_accessor :recommendations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @recommendations = args[:recommendations] if args.key?(:recommendations) end end # A single recommendation to create requested resources. Contains detailed # recommendations for every future resources specification specified in # CalendarModeAdviceRequest. class CalendarModeRecommendation include Google::Apis::Core::Hashable # Recommendations for every future resource specification passed in # CalendarModeAdviceRequest. Keys of the map correspond to keys # specified in the request. # Corresponds to the JSON property `recommendationsPerSpec` # @return [Hash] attr_accessor :recommendations_per_spec def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @recommendations_per_spec = args[:recommendations_per_spec] if args.key?(:recommendations_per_spec) end end # Settings controlling the volume of requests, connections and retries to this # backend service. class CircuitBreakers include Google::Apis::Core::Hashable # The maximum number of connections to the backend service. If not specified, # there is no limit. # 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. # Corresponds to the JSON property `maxConnections` # @return [Fixnum] attr_accessor :max_connections # The maximum number of pending requests allowed to the backend service. If # not specified, there is no limit. # 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. # Corresponds to the JSON property `maxPendingRequests` # @return [Fixnum] attr_accessor :max_pending_requests # The maximum number of parallel requests that allowed to the backend # service. If not specified, there is no limit. # Corresponds to the JSON property `maxRequests` # @return [Fixnum] attr_accessor :max_requests # Maximum requests for a single connection to the backend service. # This parameter is respected by both the HTTP/1.1 and HTTP/2 # implementations. If not specified, there is no limit. Setting this # parameter to 1 will effectively disable keep alive. # 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. # Corresponds to the JSON property `maxRequestsPerConnection` # @return [Fixnum] attr_accessor :max_requests_per_connection # The maximum number of parallel retries allowed to the backend cluster. If # not specified, the default is 1. # 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. # Corresponds to the JSON property `maxRetries` # @return [Fixnum] attr_accessor :max_retries def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @max_connections = args[:max_connections] if args.key?(:max_connections) @max_pending_requests = args[:max_pending_requests] if args.key?(:max_pending_requests) @max_requests = args[:max_requests] if args.key?(:max_requests) @max_requests_per_connection = args[:max_requests_per_connection] if args.key?(:max_requests_per_connection) @max_retries = args[:max_retries] if args.key?(:max_retries) end end # Represents a regional resource-based commitment resource. # Creating this commitment resource means that you are purchasing a # resource-based committed use contract, with an explicit start and end time. # You can purchase resource-based commitments for both hardware and software # resources. For more information, read # Resource-based committed use discounts class Commitment include Google::Apis::Core::Hashable # Specifies whether to automatically renew the commitment at the end of its # current term. The default value is false. If you set the field # to true, each time your commitment reaches the end of its # term, Compute Engine automatically renews it for another term. You can # update this field anytime before the commitment expires. For example, if # the commitment is set to expire at 12 AM UTC-8 on January 3, 2027, you can # update this field until 11:59 PM UTC-8 on January 2, 2027. # Corresponds to the JSON property `autoRenew` # @return [Boolean] attr_accessor :auto_renew alias_method :auto_renew?, :auto_renew # The category of the commitment; specifies whether the commitment is for # hardware or software resources. Category MACHINE specifies # that you are committing to hardware machine resources such asVCPU or MEMORY, # listed in resources. # Category LICENSE specifies that you are committing to software # licenses, listed in licenseResources. # Note that if you specify MACHINE commitments, then you must # also specify a type to indicate the machine series of the # hardware resource that you are committing to. # Corresponds to the JSON property `category` # @return [String] attr_accessor :category # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # [Input Only] Optional, specifies the requested commitment end time inRFC3339 # text format. Use this option when the desired # commitment's end date is later than the start date + term duration. # Corresponds to the JSON property `customEndTimestamp` # @return [String] attr_accessor :custom_end_timestamp # An optional description of the commitment. You can provide this property # when you create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] Commitment end time inRFC3339 # text format. # Corresponds to the JSON property `endTimestamp` # @return [String] attr_accessor :end_timestamp # # Corresponds to the JSON property `existingReservations` # @return [Array] attr_accessor :existing_reservations # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Always compute#commitment # for commitments. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Commitment for a particular license resource. # Corresponds to the JSON property `licenseResource` # @return [Google::Apis::ComputeV1::LicenseResourceCommitment] attr_accessor :license_resource # The list of source commitments that you are merging to create the new # merged commitment. For more information, see # Merging commitments. # Corresponds to the JSON property `mergeSourceCommitments` # @return [Array] attr_accessor :merge_source_commitments # Name of the commitment. You must specify a name when you purchase the # commitment. The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The minimum time duration that you commit to purchasing resources. # The plan that you choose determines the preset term length of the # commitment (which is 1 year or 3 years) and affects the discount rate that # you receive for your resources. Committing to a longer time duration # typically gives you a higher discount rate. The supported values for this # field are TWELVE_MONTH (1 year), andTHIRTY_SIX_MONTH (3 years). # Corresponds to the JSON property `plan` # @return [String] attr_accessor :plan # Output only. [Output Only] URL of the region where the commitment and # committed # resources are located. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # The list of new reservations that you want to create and attach to this # commitment. # You must attach reservations to your commitment if your commitment # specifies any GPUs or Local SSD disks. For more information, see # Attach reservations to resource-based commitments. # Specify this property only if you want to create new # reservations to attach. To attach existing reservations, specify # theexistingReservations property instead. # Corresponds to the JSON property `reservations` # @return [Array] attr_accessor :reservations # [Output Only] Contains output only fields. # Corresponds to the JSON property `resourceStatus` # @return [Google::Apis::ComputeV1::CommitmentResourceStatus] attr_accessor :resource_status # The list of all the hardware resources, with their types and amounts, that # you want to commit to. Specify as a separate entry in the list for each # individual resource type. # Corresponds to the JSON property `resources` # @return [Array] attr_accessor :resources # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # The source commitment from which you are transferring resources to create # the new split commitment. For more information, see # Split commitments. # Corresponds to the JSON property `splitSourceCommitment` # @return [String] attr_accessor :split_source_commitment # Output only. [Output Only] Commitment start time inRFC3339 # text format. # Corresponds to the JSON property `startTimestamp` # @return [String] attr_accessor :start_timestamp # Output only. [Output Only] Status of the commitment with regards to eventual # expiration # (each commitment has an end date defined). Status can be one of the # following values: NOT_YET_ACTIVE, ACTIVE, orEXPIRED. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Output only. [Output Only] An optional, human-readable explanation of the # status. # Corresponds to the JSON property `statusMessage` # @return [String] attr_accessor :status_message # The type of commitment; specifies the # machine series for which you want to commit to purchasing resources. # The choice of machine series affects the discount rate and the eligible # resource types. # The type must be one of the following:ACCELERATOR_OPTIMIZED, # ACCELERATOR_OPTIMIZED_A3,ACCELERATOR_OPTIMIZED_A3_MEGA,COMPUTE_OPTIMIZED, # COMPUTE_OPTIMIZED_C2D, # COMPUTE_OPTIMIZED_C3, COMPUTE_OPTIMIZED_C3D,COMPUTE_OPTIMIZED_H3, # GENERAL_PURPOSE,GENERAL_PURPOSE_C4, GENERAL_PURPOSE_E2,GENERAL_PURPOSE_N2, # GENERAL_PURPOSE_N2D,GENERAL_PURPOSE_N4, GENERAL_PURPOSE_T2D,GRAPHICS_OPTIMIZED, # GRAPHICS_OPTIMIZED_G4,MEMORY_OPTIMIZED, MEMORY_OPTIMIZED_M3, # MEMORY_OPTIMIZED_X4, STORAGE_OPTIMIZED_Z3. For # example, type MEMORY_OPTIMIZED specifies a commitment that # applies only to eligible resources of memory optimized M1 and M2 machine # series. Type GENERAL_PURPOSE specifies a commitment that # applies only to eligible resources of general purpose N1 machine series. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @auto_renew = args[:auto_renew] if args.key?(:auto_renew) @category = args[:category] if args.key?(:category) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @custom_end_timestamp = args[:custom_end_timestamp] if args.key?(:custom_end_timestamp) @description = args[:description] if args.key?(:description) @end_timestamp = args[:end_timestamp] if args.key?(:end_timestamp) @existing_reservations = args[:existing_reservations] if args.key?(:existing_reservations) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @license_resource = args[:license_resource] if args.key?(:license_resource) @merge_source_commitments = args[:merge_source_commitments] if args.key?(:merge_source_commitments) @name = args[:name] if args.key?(:name) @plan = args[:plan] if args.key?(:plan) @region = args[:region] if args.key?(:region) @reservations = args[:reservations] if args.key?(:reservations) @resource_status = args[:resource_status] if args.key?(:resource_status) @resources = args[:resources] if args.key?(:resources) @self_link = args[:self_link] if args.key?(:self_link) @split_source_commitment = args[:split_source_commitment] if args.key?(:split_source_commitment) @start_timestamp = args[:start_timestamp] if args.key?(:start_timestamp) @status = args[:status] if args.key?(:status) @status_message = args[:status_message] if args.key?(:status_message) @type = args[:type] if args.key?(:type) end end # class CommitmentAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of CommitmentsScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # commitmentAggregatedList for aggregated lists of # commitments. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::CommitmentAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of Commitment resources. class CommitmentList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Commitment resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#commitmentList # for lists of commitments. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::CommitmentList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # [Output Only] Contains output only fields. class CommitmentResourceStatus include Google::Apis::Core::Hashable # Output only. [Output Only] Indicates the end time of customer's eligibility to # send # custom term requests in RFC3339 text format. Term extension requests that # (not the end time in the request) after this time will be rejected. # Corresponds to the JSON property `customTermEligibilityEndTimestamp` # @return [String] attr_accessor :custom_term_eligibility_end_timestamp def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @custom_term_eligibility_end_timestamp = args[:custom_term_eligibility_end_timestamp] if args.key?(:custom_term_eligibility_end_timestamp) end end # class CommitmentsScopedList include Google::Apis::Core::Hashable # [Output Only] The list of commitments contained in this scope. # Corresponds to the JSON property `commitments` # @return [Array] attr_accessor :commitments # [Output Only] Informational warning which replaces the list of commitments # when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::CommitmentsScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @commitments = args[:commitments] if args.key?(:commitments) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning which replaces the list of commitments # when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # A set of Confidential Instance options. class ConfidentialInstanceConfig include Google::Apis::Core::Hashable # Defines the type of technology used by the confidential instance. # Corresponds to the JSON property `confidentialInstanceType` # @return [String] attr_accessor :confidential_instance_type # Defines whether the instance should have confidential compute enabled. # Corresponds to the JSON property `enableConfidentialCompute` # @return [Boolean] attr_accessor :enable_confidential_compute alias_method :enable_confidential_compute?, :enable_confidential_compute def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @confidential_instance_type = args[:confidential_instance_type] if args.key?(:confidential_instance_type) @enable_confidential_compute = args[:enable_confidential_compute] if args.key?(:enable_confidential_compute) end end # Message containing connection draining configuration. class ConnectionDraining include Google::Apis::Core::Hashable # Configures a duration timeout for existing requests on a removed backend # instance. For supported load balancers and protocols, as described inEnabling # connection draining. # Corresponds to the JSON property `drainingTimeoutSec` # @return [Fixnum] attr_accessor :draining_timeout_sec def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @draining_timeout_sec = args[:draining_timeout_sec] if args.key?(:draining_timeout_sec) end end # This message defines settings for a consistent hash style load balancer. class ConsistentHashLoadBalancerSettings include Google::Apis::Core::Hashable # The information about the HTTP Cookie on which the hash function is based # for load balancing policies that use a consistent hash. # Corresponds to the JSON property `httpCookie` # @return [Google::Apis::ComputeV1::ConsistentHashLoadBalancerSettingsHttpCookie] attr_accessor :http_cookie # The hash based on the value of the specified header field. This field is # applicable if the sessionAffinity is set toHEADER_FIELD. # Corresponds to the JSON property `httpHeaderName` # @return [String] attr_accessor :http_header_name # The minimum number of virtual nodes to use for the hash ring. Defaults to # 1024. Larger ring sizes result in more granular load distributions. If the # number of hosts in the load balancing pool is larger than the ring size, # each host will be assigned a single virtual node. # Corresponds to the JSON property `minimumRingSize` # @return [Fixnum] attr_accessor :minimum_ring_size def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @http_cookie = args[:http_cookie] if args.key?(:http_cookie) @http_header_name = args[:http_header_name] if args.key?(:http_header_name) @minimum_ring_size = args[:minimum_ring_size] if args.key?(:minimum_ring_size) end end # The information about the HTTP Cookie on which the hash function is based # for load balancing policies that use a consistent hash. class ConsistentHashLoadBalancerSettingsHttpCookie include Google::Apis::Core::Hashable # Name of the cookie. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Path to set for the cookie. # Corresponds to the JSON property `path` # @return [String] attr_accessor :path # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `ttl` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :ttl def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @path = args[:path] if args.key?(:path) @ttl = args[:ttl] if args.key?(:ttl) end end # 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. class CorsPolicy include Google::Apis::Core::Hashable # In response to a preflight request, setting this to true # indicates that # the actual request can include user credentials. This field translates to # the Access-Control-Allow-Credentials header. # Default is false. # Corresponds to the JSON property `allowCredentials` # @return [Boolean] attr_accessor :allow_credentials alias_method :allow_credentials?, :allow_credentials # Specifies the content for the Access-Control-Allow-Headers # header. # Corresponds to the JSON property `allowHeaders` # @return [Array] attr_accessor :allow_headers # Specifies the content for the Access-Control-Allow-Methods # header. # Corresponds to the JSON property `allowMethods` # @return [Array] attr_accessor :allow_methods # Specifies a regular expression that matches allowed origins. For # more information, see regular expression syntax. # An origin is allowed if it matches either an item inallowOrigins or an item # inallowOriginRegexes. # Regular expressions can only be used when the loadBalancingScheme is # set to INTERNAL_SELF_MANAGED. # Corresponds to the JSON property `allowOriginRegexes` # @return [Array] attr_accessor :allow_origin_regexes # Specifies the list of origins that is allowed to do CORS requests. # An origin is allowed if it matches either an item inallowOrigins or an item # inallowOriginRegexes. # Corresponds to the JSON property `allowOrigins` # @return [Array] attr_accessor :allow_origins # If true, disables the CORS policy. # The default value is false, which indicates that the CORS # policy is in effect. # Corresponds to the JSON property `disabled` # @return [Boolean] attr_accessor :disabled alias_method :disabled?, :disabled # Specifies the content for the Access-Control-Expose-Headers # header. # Corresponds to the JSON property `exposeHeaders` # @return [Array] attr_accessor :expose_headers # Specifies how long results of a preflight request can be cached in # seconds. This field translates to the Access-Control-Max-Age # header. # Corresponds to the JSON property `maxAge` # @return [Fixnum] attr_accessor :max_age def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @allow_credentials = args[:allow_credentials] if args.key?(:allow_credentials) @allow_headers = args[:allow_headers] if args.key?(:allow_headers) @allow_methods = args[:allow_methods] if args.key?(:allow_methods) @allow_origin_regexes = args[:allow_origin_regexes] if args.key?(:allow_origin_regexes) @allow_origins = args[:allow_origins] if args.key?(:allow_origins) @disabled = args[:disabled] if args.key?(:disabled) @expose_headers = args[:expose_headers] if args.key?(:expose_headers) @max_age = args[:max_age] if args.key?(:max_age) end end # A resource that represents a cross-site network. # You can use cross-site networks to connect your on-premises networks to # each other through Interconnect connections. class CrossSiteNetwork include Google::Apis::Core::Hashable # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of the cross-site network. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] The unique identifier for the resource type. The # server # generates this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute# # crossSiteNetwork for cross-site networks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @self_link = args[:self_link] if args.key?(:self_link) end end # Response to the list request that contains a list of cross-site networks. class CrossSiteNetworkList include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of CrossSiteNetwork resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of the resource. Alwayscompute# # crossSiteNetwork for cross-site networks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # end_interface: MixerListResponseWithEtagBuilder # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::CrossSiteNetworkList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Specifies the custom error response policy that must be applied when the # backend service or backend bucket responds with an error. class CustomErrorResponsePolicy include Google::Apis::Core::Hashable # Specifies rules for returning error responses. # In a given policy, if you specify rules for both a range of error codes # as well as rules for specific error codes then rules with specific error # codes have a higher priority. For example, assume that you configure a rule # for 401 (Un-authorized) code, and another for all 4 series # error codes (4XX). If the backend service returns a401, then the rule for 401 # will be applied. # However if the backend service returns a 403, the rule for4xx takes effect. # Corresponds to the JSON property `errorResponseRules` # @return [Array] attr_accessor :error_response_rules # The full or partial URL to the BackendBucket resource that # contains the custom error content. Examples are: # # # - https://www.googleapis.com/compute/v1/projects/project/global/ # backendBuckets/myBackendBucket # - compute/v1/projects/project/global/backendBuckets/myBackendBucket # - global/backendBuckets/myBackendBucket # If errorService is not specified at lower levels likepathMatcher, pathRule and # routeRule, # an errorService specified at a higher level in theUrlMap will be used. # IfUrlMap.defaultCustomErrorResponsePolicy contains one or # moreerrorResponseRules[], it must specifyerrorService. # If load balancer cannot reach # the backendBucket, a simple Not Found Error will # be returned, with the original response code (oroverrideResponseCode if # configured). # errorService is not supported for internal or regionalHTTP/HTTPS load # balancers. # Corresponds to the JSON property `errorService` # @return [String] attr_accessor :error_service def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @error_response_rules = args[:error_response_rules] if args.key?(:error_response_rules) @error_service = args[:error_service] if args.key?(:error_service) end end # Specifies the mapping between the response code that will be returned along # with the custom error content and the response code returned by the backend # service. class CustomErrorResponsePolicyCustomErrorResponseRule include Google::Apis::Core::Hashable # Valid values include: # # # - A number between 400 and 599: For example # 401 or 503, in which case the load balancer # applies the policy if the error code exactly matches this value. # - 5xx: Load Balancer will apply the policy if the # backend service responds with any response code in the range of # 500 to 599. # - 4xx: Load # Balancer will apply the policy if the backend service responds with any # response code in the range of 400 to # 499. # Values must be unique within matchResponseCodes and across # allerrorResponseRules ofCustomErrorResponsePolicy. # Corresponds to the JSON property `matchResponseCodes` # @return [Array] attr_accessor :match_response_codes # The HTTP status code returned with the response containing the custom # error content. If overrideResponseCode is not supplied, the # same response code returned by the original backend bucket or backend # service is returned to the client. # Corresponds to the JSON property `overrideResponseCode` # @return [Fixnum] attr_accessor :override_response_code # The full path to a file within backendBucket . For example:/errors/ # defaultError.html # path must start # with a leading slash. path cannot have trailing slashes. # If the file is not available in backendBucket or the # load balancer cannot reach the BackendBucket, a simpleNot Found Error is # returned to the client. # The value must # be from 1 to 1024 characters # Corresponds to the JSON property `path` # @return [String] attr_accessor :path def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @match_response_codes = args[:match_response_codes] if args.key?(:match_response_codes) @override_response_code = args[:override_response_code] if args.key?(:override_response_code) @path = args[:path] if args.key?(:path) end end # class CustomerEncryptionKey include Google::Apis::Core::Hashable # 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 # Corresponds to the JSON property `kmsKeyName` # @return [String] attr_accessor :kms_key_name # 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/ # Corresponds to the JSON property `kmsKeyServiceAccount` # @return [String] attr_accessor :kms_key_service_account # 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 thersaEncryptedKey. # For example: # "rawKey": # "SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=" # Corresponds to the JSON property `rawKey` # @return [String] attr_accessor :raw_key # 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 thersaEncryptedKey. # 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 # Corresponds to the JSON property `rsaEncryptedKey` # @return [String] attr_accessor :rsa_encrypted_key # [Output only] TheRFC # 4648 base64 encoded SHA-256 hash of the customer-supplied # encryption key that protects this resource. # Corresponds to the JSON property `sha256` # @return [String] attr_accessor :sha256 def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name) @kms_key_service_account = args[:kms_key_service_account] if args.key?(:kms_key_service_account) @raw_key = args[:raw_key] if args.key?(:raw_key) @rsa_encrypted_key = args[:rsa_encrypted_key] if args.key?(:rsa_encrypted_key) @sha256 = args[:sha256] if args.key?(:sha256) end end # class CustomerEncryptionKeyProtectedDisk include Google::Apis::Core::Hashable # Decrypts data associated with the disk with acustomer-supplied # encryption key. # Corresponds to the JSON property `diskEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :disk_encryption_key # Specifies a valid partial or full URL to an existing Persistent Disk # resource. This field is only applicable for persistent disks. # For example: # "source": "/compute/v1/projects/project_id/zones/zone/disks/ # disk_name # Corresponds to the JSON property `source` # @return [String] attr_accessor :source def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key) @source = args[:source] if args.key?(:source) end end # Represents a whole or partial calendar date, such as a birthday. The time of # day and time zone are either specified elsewhere or are insignificant. The # date is relative to the Gregorian Calendar. This can represent one of the # following: # * A full date, with non-zero year, month, and day values. # * A month and day, with a zero year (for example, an anniversary). # * A year on its own, with a zero month and a zero day. # * A year and month, with a zero day (for example, a credit card expiration # date). # Related types: # * google.type.TimeOfDay # * google.type.DateTime # * google.protobuf.Timestamp class Date include Google::Apis::Core::Hashable # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 # to specify a year by itself or a year and month where the day isn't # significant. # Corresponds to the JSON property `day` # @return [Fixnum] attr_accessor :day # Month of a year. Must be from 1 to 12, or 0 to specify a year without a # month and day. # Corresponds to the JSON property `month` # @return [Fixnum] attr_accessor :month # Year of the date. Must be from 1 to 9999, or 0 to specify a date without # a year. # Corresponds to the JSON property `year` # @return [Fixnum] attr_accessor :year def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @day = args[:day] if args.key?(:day) @month = args[:month] if args.key?(:month) @year = args[:year] if args.key?(:year) end end # Deprecation status for a public resource. class DeprecationStatus include Google::Apis::Core::Hashable # An optional RFC3339 timestamp on or after which the state of this # resource is intended to change to DELETED. This is only # informational and the status will not change unless the client explicitly # changes it. # Corresponds to the JSON property `deleted` # @return [String] attr_accessor :deleted # An optional RFC3339 timestamp on or after which the state of this # resource is intended to change to DEPRECATED. This is only # informational and the status will not change unless the client explicitly # changes it. # Corresponds to the JSON property `deprecated` # @return [String] attr_accessor :deprecated # An optional RFC3339 timestamp on or after which the state of this # resource is intended to change to OBSOLETE. This is only # informational and the status will not change unless the client explicitly # changes it. # Corresponds to the JSON property `obsolete` # @return [String] attr_accessor :obsolete # The URL of the suggested replacement for a deprecated resource. # The suggested replacement resource must be the same kind of resource as the # deprecated resource. # Corresponds to the JSON property `replacement` # @return [String] attr_accessor :replacement # The deprecation state of this resource. This can be ACTIVE,DEPRECATED, # OBSOLETE, or DELETED. # Operations which communicate the end of life date for an image, can useACTIVE. # Operations which create a new resource using aDEPRECATED resource will return # successfully, but with a # warning indicating the deprecated resource and recommending its # replacement. Operations which use OBSOLETE orDELETED resources will be # rejected and result in an error. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @deleted = args[:deleted] if args.key?(:deleted) @deprecated = args[:deprecated] if args.key?(:deprecated) @obsolete = args[:obsolete] if args.key?(:obsolete) @replacement = args[:replacement] if args.key?(:replacement) @state = args[:state] if args.key?(:state) end end # Represents a Persistent Disk resource. # Google Compute Engine has two Disk resources: # * [Zonal](/compute/docs/reference/rest/v1/disks) # * [Regional](/compute/docs/reference/rest/v1/regionDisks) # Persistent disks are required for running your VM instances. # Create both boot and non-boot (data) persistent disks. For more information, # read Persistent Disks. For more # storage options, read Storage options. # The disks resource represents a zonal persistent disk. # For more information, readZonal persistent disks. # The regionDisks resource represents a # regional persistent disk. For more information, read # Regional resources. class Disk include Google::Apis::Core::Hashable # The access mode of the disk. # # # - READ_WRITE_SINGLE: The default AccessMode, means the # disk can be attached to single instance in RW mode. # - READ_WRITE_MANY: The AccessMode means the disk can be # attached to multiple instances in RW mode. # - READ_ONLY_MANY: The AccessMode means the disk can be # attached to multiple instances in RO mode. # The AccessMode is only valid for Hyperdisk disk types. # Corresponds to the JSON property `accessMode` # @return [String] attr_accessor :access_mode # The architecture of the disk. Valid values are # ARM64 or X86_64. # Corresponds to the JSON property `architecture` # @return [String] attr_accessor :architecture # Disk asynchronously replicated into this disk. # Corresponds to the JSON property `asyncPrimaryDisk` # @return [Google::Apis::ComputeV1::DiskAsyncReplication] attr_accessor :async_primary_disk # Output only. [Output Only] A list of disks this disk is asynchronously # replicated to. # Corresponds to the JSON property `asyncSecondaryDisks` # @return [Hash] attr_accessor :async_secondary_disks # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # 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, thediskEncryptionKey. # 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. # Corresponds to the JSON property `diskEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :disk_encryption_key # Whether this disk is using confidential compute mode. # Corresponds to the JSON property `enableConfidentialCompute` # @return [Boolean] attr_accessor :enable_confidential_compute alias_method :enable_confidential_compute?, :enable_confidential_compute # 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. # Corresponds to the JSON property `guestOsFeatures` # @return [Array] attr_accessor :guest_os_features # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Always compute#disk for # disks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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 error412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve a disk. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # Labels to apply to this disk. These can be later modified by # the setLabels method. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Output only. [Output Only] Last attach timestamp inRFC3339 # text format. # Corresponds to the JSON property `lastAttachTimestamp` # @return [String] attr_accessor :last_attach_timestamp # Output only. [Output Only] Last detach timestamp inRFC3339 # text format. # Corresponds to the JSON property `lastDetachTimestamp` # @return [String] attr_accessor :last_detach_timestamp # Integer license codes indicating which licenses are attached to this disk. # Corresponds to the JSON property `licenseCodes` # @return [Array] attr_accessor :license_codes # A list of publicly visible licenses. Reserved for Google's use. # Corresponds to the JSON property `licenses` # @return [Array] attr_accessor :licenses # 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. # Corresponds to the JSON property `locationHint` # @return [String] attr_accessor :location_hint # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Internal use only. # Corresponds to the JSON property `options` # @return [String] attr_accessor :options # Additional disk params. # Corresponds to the JSON property `params` # @return [Google::Apis::ComputeV1::DiskParams] attr_accessor :params # 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. # Corresponds to the JSON property `physicalBlockSizeBytes` # @return [Fixnum] attr_accessor :physical_block_size_bytes # 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 theExtreme persistent # disk documentation. # Corresponds to the JSON property `provisionedIops` # @return [Fixnum] attr_accessor :provisioned_iops # 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. # Corresponds to the JSON property `provisionedThroughput` # @return [Fixnum] attr_accessor :provisioned_throughput # Output only. [Output Only] URL of the region where the disk resides. Only # applicable for # regional resources. # You must specify this field as part of the HTTP request URL. It is # not settable as a field in the request body. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # URLs of the zones where the disk should be replicated to. Only applicable # for regional resources. # Corresponds to the JSON property `replicaZones` # @return [Array] attr_accessor :replica_zones # Resource policies applied to this disk for automatic snapshot creations. # Corresponds to the JSON property `resourcePolicies` # @return [Array] attr_accessor :resource_policies # Output only. [Output Only] Status information for the disk resource. # Corresponds to the JSON property `resourceStatus` # @return [Google::Apis::ComputeV1::DiskResourceStatus] attr_accessor :resource_status # Output only. Reserved for future use. # Corresponds to the JSON property `satisfiesPzi` # @return [Boolean] attr_accessor :satisfies_pzi alias_method :satisfies_pzi?, :satisfies_pzi # Output only. [Output Only] Reserved for future use. # Corresponds to the JSON property `satisfiesPzs` # @return [Boolean] attr_accessor :satisfies_pzs alias_method :satisfies_pzs?, :satisfies_pzs # Output only. [Output Only] Server-defined fully-qualified URL for this # resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Size, in GB, of the persistent disk. You can specify # this field when creating a persistent disk using thesourceImage, # sourceSnapshot, orsourceDisk parameter, or specify it alone to create an empty # persistent disk. # If you specify this field along with a source, the value ofsizeGb must not be # less than the size of the # source. # Acceptable values are greater than 0. # Corresponds to the JSON property `sizeGb` # @return [Fixnum] attr_accessor :size_gb # Output only. [Output Only] URL of the DiskConsistencyGroupPolicy for a # secondary disk # that was created using a consistency group. # Corresponds to the JSON property `sourceConsistencyGroupPolicy` # @return [String] attr_accessor :source_consistency_group_policy # Output only. [Output Only] ID of the DiskConsistencyGroupPolicy for a # secondary disk # that was created using a consistency group. # Corresponds to the JSON property `sourceConsistencyGroupPolicyId` # @return [String] attr_accessor :source_consistency_group_policy_id # 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 # Corresponds to the JSON property `sourceDisk` # @return [String] attr_accessor :source_disk # Output only. [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. # Corresponds to the JSON property `sourceDiskId` # @return [String] attr_accessor :source_disk_id # 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, specifyfamily/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 # Corresponds to the JSON property `sourceImage` # @return [String] attr_accessor :source_image # Thecustomer-supplied # encryption key of the source image. Required if the source image is # protected by a customer-supplied encryption key. # Corresponds to the JSON property `sourceImageEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :source_image_encryption_key # Output only. [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. # Corresponds to the JSON property `sourceImageId` # @return [String] attr_accessor :source_image_id # 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 # Corresponds to the JSON property `sourceInstantSnapshot` # @return [String] attr_accessor :source_instant_snapshot # Output only. [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. # Corresponds to the JSON property `sourceInstantSnapshotId` # @return [String] attr_accessor :source_instant_snapshot_id # 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 # Corresponds to the JSON property `sourceSnapshot` # @return [String] attr_accessor :source_snapshot # Thecustomer-supplied # encryption key of the source snapshot. Required if the source snapshot # is protected by a customer-supplied encryption key. # Corresponds to the JSON property `sourceSnapshotEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :source_snapshot_encryption_key # Output only. [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. # Corresponds to the JSON property `sourceSnapshotId` # @return [String] attr_accessor :source_snapshot_id # 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. # Corresponds to the JSON property `sourceStorageObject` # @return [String] attr_accessor :source_storage_object # Output only. [Output Only] The status of disk creation. # # # - CREATING: Disk is provisioning. # - RESTORING: Source data is being copied into the # disk. # - FAILED: Disk creation failed. # - READY: Disk is ready for use. # - DELETING: Disk is deleting. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # 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 # Corresponds to the JSON property `storagePool` # @return [String] attr_accessor :storage_pool # 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. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # Output only. [Output Only] Links to the users of the disk (attached instances) # in form:projects/project/zones/zone/instances/instance # Corresponds to the JSON property `users` # @return [Array] attr_accessor :users # Output only. [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. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @access_mode = args[:access_mode] if args.key?(:access_mode) @architecture = args[:architecture] if args.key?(:architecture) @async_primary_disk = args[:async_primary_disk] if args.key?(:async_primary_disk) @async_secondary_disks = args[:async_secondary_disks] if args.key?(:async_secondary_disks) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key) @enable_confidential_compute = args[:enable_confidential_compute] if args.key?(:enable_confidential_compute) @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @last_attach_timestamp = args[:last_attach_timestamp] if args.key?(:last_attach_timestamp) @last_detach_timestamp = args[:last_detach_timestamp] if args.key?(:last_detach_timestamp) @license_codes = args[:license_codes] if args.key?(:license_codes) @licenses = args[:licenses] if args.key?(:licenses) @location_hint = args[:location_hint] if args.key?(:location_hint) @name = args[:name] if args.key?(:name) @options = args[:options] if args.key?(:options) @params = args[:params] if args.key?(:params) @physical_block_size_bytes = args[:physical_block_size_bytes] if args.key?(:physical_block_size_bytes) @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops) @provisioned_throughput = args[:provisioned_throughput] if args.key?(:provisioned_throughput) @region = args[:region] if args.key?(:region) @replica_zones = args[:replica_zones] if args.key?(:replica_zones) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) @resource_status = args[:resource_status] if args.key?(:resource_status) @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @self_link = args[:self_link] if args.key?(:self_link) @size_gb = args[:size_gb] if args.key?(:size_gb) @source_consistency_group_policy = args[:source_consistency_group_policy] if args.key?(:source_consistency_group_policy) @source_consistency_group_policy_id = args[:source_consistency_group_policy_id] if args.key?(:source_consistency_group_policy_id) @source_disk = args[:source_disk] if args.key?(:source_disk) @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id) @source_image = args[:source_image] if args.key?(:source_image) @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key) @source_image_id = args[:source_image_id] if args.key?(:source_image_id) @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot) @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id) @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot) @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key) @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id) @source_storage_object = args[:source_storage_object] if args.key?(:source_storage_object) @status = args[:status] if args.key?(:status) @storage_pool = args[:storage_pool] if args.key?(:storage_pool) @type = args[:type] if args.key?(:type) @users = args[:users] if args.key?(:users) @zone = args[:zone] if args.key?(:zone) end end # class DiskAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of DisksScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute#diskAggregatedList # for aggregated lists of persistent # disks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::DiskAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class DiskAsyncReplication include Google::Apis::Core::Hashable # Output only. [Output Only] URL of the DiskConsistencyGroupPolicy if # replication was # started on the disk as a member of a group. # Corresponds to the JSON property `consistencyGroupPolicy` # @return [String] attr_accessor :consistency_group_policy # Output only. [Output Only] ID of the DiskConsistencyGroupPolicy if replication # was # started on the disk as a member of a group. # Corresponds to the JSON property `consistencyGroupPolicyId` # @return [String] attr_accessor :consistency_group_policy_id # 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 # Corresponds to the JSON property `disk` # @return [String] attr_accessor :disk # Output only. [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. # Corresponds to the JSON property `diskId` # @return [String] attr_accessor :disk_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @consistency_group_policy = args[:consistency_group_policy] if args.key?(:consistency_group_policy) @consistency_group_policy_id = args[:consistency_group_policy_id] if args.key?(:consistency_group_policy_id) @disk = args[:disk] if args.key?(:disk) @disk_id = args[:disk_id] if args.key?(:disk_id) end end # class DiskAsyncReplicationList include Google::Apis::Core::Hashable # # Corresponds to the JSON property `asyncReplicationDisk` # @return [Google::Apis::ComputeV1::DiskAsyncReplication] attr_accessor :async_replication_disk def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @async_replication_disk = args[:async_replication_disk] if args.key?(:async_replication_disk) end end # A specification of the desired way to instantiate a disk in the instance # template when its created from a source instance. class DiskInstantiationConfig include Google::Apis::Core::Hashable # Specifies whether the disk will be auto-deleted when the instance is # deleted (but not when the disk is detached from the instance). # Corresponds to the JSON property `autoDelete` # @return [Boolean] attr_accessor :auto_delete alias_method :auto_delete?, :auto_delete # The custom source image to be used to restore this disk when instantiating # this instance template. # Corresponds to the JSON property `customImage` # @return [String] attr_accessor :custom_image # Specifies the device name of the disk to which the configurations apply to. # Corresponds to the JSON property `deviceName` # @return [String] attr_accessor :device_name # Specifies whether to include the disk and what image to use. Possible # values are: # # # - source-image: to use the same image that was used to # create the source instance's corresponding disk. Applicable to the boot # disk and additional read-write disks. # - source-image-family: to use the same image family that # was used to create the source instance's corresponding disk. Applicable # to the boot disk and additional read-write disks. # - custom-image: to use a user-provided image url for disk # creation. Applicable to the boot disk and additional read-write # disks. # - attach-read-only: to attach a read-only # disk. Applicable to read-only disks. # - do-not-include: to exclude a disk from the template. # Applicable to additional read-write disks, local SSDs, and read-only # disks. # Corresponds to the JSON property `instantiateFrom` # @return [String] attr_accessor :instantiate_from def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @auto_delete = args[:auto_delete] if args.key?(:auto_delete) @custom_image = args[:custom_image] if args.key?(:custom_image) @device_name = args[:device_name] if args.key?(:device_name) @instantiate_from = args[:instantiate_from] if args.key?(:instantiate_from) end end # A list of Disk resources. class DiskList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Disk resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#diskList for # lists of disks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::DiskList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class MoveDiskRequest include Google::Apis::Core::Hashable # The URL of the destination zone to move the disk. This can be a full or # partial URL. For example, the following are all valid URLs to a zone: # # - https://www.googleapis.com/compute/v1/projects/project/zones/zone # - projects/project/zones/zone # - zones/zone # Corresponds to the JSON property `destinationZone` # @return [String] attr_accessor :destination_zone # The URL of the target disk to move. This can be a full or partial URL. # For example, the following are all valid URLs to a disk: # # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/ # disk # - projects/project/zones/zone/disks/disk # - zones/zone/disks/disk # Corresponds to the JSON property `targetDisk` # @return [String] attr_accessor :target_disk def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @destination_zone = args[:destination_zone] if args.key?(:destination_zone) @target_disk = args[:target_disk] if args.key?(:target_disk) end end # Additional disk params. class DiskParams include Google::Apis::Core::Hashable # Resource manager tags to be bound to the disk. Tag keys and values # have the same definition as resource # manager tags. Keys and values can be either in numeric format, # such as `tagKeys/`tag_key_id`` and `tagValues/456` or in namespaced # format such as ``org_id|project_id`/`tag_key_short_name`` and # ``tag_value_short_name``. The field is ignored (both PUT & # PATCH) when empty. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) end end # class DiskResourceStatus include Google::Apis::Core::Hashable # # Corresponds to the JSON property `asyncPrimaryDisk` # @return [Google::Apis::ComputeV1::DiskResourceStatusAsyncReplicationStatus] attr_accessor :async_primary_disk # Key: disk, value: AsyncReplicationStatus message # Corresponds to the JSON property `asyncSecondaryDisks` # @return [Hash] attr_accessor :async_secondary_disks def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @async_primary_disk = args[:async_primary_disk] if args.key?(:async_primary_disk) @async_secondary_disks = args[:async_secondary_disks] if args.key?(:async_secondary_disks) end end # class DiskResourceStatusAsyncReplicationStatus include Google::Apis::Core::Hashable # # Corresponds to the JSON property `state` # @return [String] attr_accessor :state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @state = args[:state] if args.key?(:state) end end # Represents a Disk Type resource. # Google Compute Engine has two Disk Type resources: # * [Regional](/compute/docs/reference/rest/v1/regionDiskTypes) # * [Zonal](/compute/docs/reference/rest/v1/diskTypes) # You can choose from a variety of disk types based on your needs. # For more information, readStorage options. # The diskTypes resource represents disk types for a zonal # persistent disk. # For more information, readZonal persistent disks. # The regionDiskTypes resource represents disk types for a # regional persistent disk. For more information, read Regional persistent disks. class DiskType include Google::Apis::Core::Hashable # [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # [Output Only] Server-defined default disk size in GB. # Corresponds to the JSON property `defaultDiskSizeGb` # @return [Fixnum] attr_accessor :default_disk_size_gb # Deprecation status for a public resource. # Corresponds to the JSON property `deprecated` # @return [Google::Apis::ComputeV1::DeprecationStatus] attr_accessor :deprecated # [Output Only] An optional description of this resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Always compute#diskType # for disk types. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] Name of the resource. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # [Output Only] URL of the region where the disk type resides. Only # applicable for regional resources. # You must specify this field as part of the HTTP request URL. It is # not settable as a field in the request body. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] An optional textual description of the valid disk size, # such as "10GB-10TB". # Corresponds to the JSON property `validDiskSize` # @return [String] attr_accessor :valid_disk_size # [Output Only] URL of the zone where the disk 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. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @default_disk_size_gb = args[:default_disk_size_gb] if args.key?(:default_disk_size_gb) @deprecated = args[:deprecated] if args.key?(:deprecated) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @valid_disk_size = args[:valid_disk_size] if args.key?(:valid_disk_size) @zone = args[:zone] if args.key?(:zone) end end # class DiskTypeAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of DiskTypesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # diskTypeAggregatedList. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::DiskTypeAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of disk types. class DiskTypeList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of DiskType resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#diskTypeList # for disk types. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::DiskTypeList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class DiskTypesScopedList include Google::Apis::Core::Hashable # [Output Only] A list of disk types contained in this scope. # Corresponds to the JSON property `diskTypes` # @return [Array] attr_accessor :disk_types # [Output Only] Informational warning which replaces the list of disk types # when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::DiskTypesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disk_types = args[:disk_types] if args.key?(:disk_types) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning which replaces the list of disk types # when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class DisksAddResourcePoliciesRequest include Google::Apis::Core::Hashable # Full or relative path to the resource policy to be added to this disk. You # can only specify one resource policy. # Corresponds to the JSON property `resourcePolicies` # @return [Array] attr_accessor :resource_policies def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) end end # class DisksRemoveResourcePoliciesRequest include Google::Apis::Core::Hashable # Resource policies to be removed from this disk. # Corresponds to the JSON property `resourcePolicies` # @return [Array] attr_accessor :resource_policies def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) end end # class DisksResizeRequest include Google::Apis::Core::Hashable # The new size of the persistent disk, which is specified in GB. # Corresponds to the JSON property `sizeGb` # @return [Fixnum] attr_accessor :size_gb def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @size_gb = args[:size_gb] if args.key?(:size_gb) end end # class DisksScopedList include Google::Apis::Core::Hashable # [Output Only] A list of disks contained in this scope. # Corresponds to the JSON property `disks` # @return [Array] attr_accessor :disks # [Output Only] Informational warning which replaces the list of disks when # the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::DisksScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disks = args[:disks] if args.key?(:disks) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning which replaces the list of disks when # the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class DisksStartAsyncReplicationRequest include Google::Apis::Core::Hashable # 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 # Corresponds to the JSON property `asyncSecondaryDisk` # @return [String] attr_accessor :async_secondary_disk def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @async_secondary_disk = args[:async_secondary_disk] if args.key?(:async_secondary_disk) end end # A transient resource used in compute.disks.stopGroupAsyncReplication and # compute.regionDisks.stopGroupAsyncReplication. It is only used to process # requests and is not persisted. class DisksStopGroupAsyncReplicationResource include Google::Apis::Core::Hashable # 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 # Corresponds to the JSON property `resourcePolicy` # @return [String] attr_accessor :resource_policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_policy = args[:resource_policy] if args.key?(:resource_policy) end end # A set of Display Device options class DisplayDevice include Google::Apis::Core::Hashable # Defines whether the instance has Display enabled. # Corresponds to the JSON property `enableDisplay` # @return [Boolean] attr_accessor :enable_display alias_method :enable_display?, :enable_display def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @enable_display = args[:enable_display] if args.key?(:enable_display) end end # class DistributionPolicy include Google::Apis::Core::Hashable # The distribution shape to which the group converges either proactively or # on resize events (depending on the value set inupdatePolicy. # instanceRedistributionType). # Corresponds to the JSON property `targetShape` # @return [String] attr_accessor :target_shape # Zones where the regional managed instance group will create and manage # its instances. # Corresponds to the JSON property `zones` # @return [Array] attr_accessor :zones def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @target_shape = args[:target_shape] if args.key?(:target_shape) @zones = args[:zones] if args.key?(:zones) end end # class DistributionPolicyZoneConfiguration include Google::Apis::Core::Hashable # The URL of thezone. # The zone must exist in the region where the managed instance group is # located. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @zone = args[:zone] if args.key?(:zone) end end # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. class Duration include Google::Apis::Core::Hashable # Span of time that's a fraction of a second at nanosecond resolution. # Durations less than one second are represented with a 0 # `seconds` field and a positive `nanos` field. Must be from 0 # to 999,999,999 inclusive. # Corresponds to the JSON property `nanos` # @return [Fixnum] attr_accessor :nanos # Span of time at a resolution of a second. Must be from 0 # to 315,576,000,000 inclusive. Note: these bounds are computed from: # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years # Corresponds to the JSON property `seconds` # @return [Fixnum] attr_accessor :seconds def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @nanos = args[:nanos] if args.key?(:nanos) @seconds = args[:seconds] if args.key?(:seconds) end end # Describes the cause of the error with structured details. # Example of an error when contacting the "pubsub.googleapis.com" API when it # is not enabled: # ` "reason": "API_DISABLED" # "domain": "googleapis.com" # "metadata": ` # "resource": "projects/123", # "service": "pubsub.googleapis.com" # ` # ` # This response indicates that the pubsub.googleapis.com API is not enabled. # Example of an error that is returned when attempting to create a Spanner # instance in a region that is out of stock: # ` "reason": "STOCKOUT" # "domain": "spanner.googleapis.com", # "metadata": ` # "availableRegions": "us-central1,us-east2" # ` # ` class ErrorInfo include Google::Apis::Core::Hashable # 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". # Corresponds to the JSON property `domain` # @return [String] attr_accessor :domain # Additional structured details about this error. # Keys must match a regular expression of `a-z+` but should # ideally be lowerCamelCase. Also, they must 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. # Corresponds to the JSON property `metadatas` # @return [Hash] attr_accessor :metadatas # 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. # Corresponds to the JSON property `reason` # @return [String] attr_accessor :reason def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @domain = args[:domain] if args.key?(:domain) @metadatas = args[:metadatas] if args.key?(:metadatas) @reason = args[:reason] if args.key?(:reason) end end # class ExchangedPeeringRoute include Google::Apis::Core::Hashable # The destination range of the route. # Corresponds to the JSON property `destRange` # @return [String] attr_accessor :dest_range # True if the peering route has been imported from a peer. The actual import # happens if the field networkPeering.importCustomRoutes is true # for this network, and networkPeering.exportCustomRoutes is # true for the peer network, and the import does not result in a route # conflict. # Corresponds to the JSON property `imported` # @return [Boolean] attr_accessor :imported alias_method :imported?, :imported # The region of peering route next hop, only applies to dynamic routes. # Corresponds to the JSON property `nextHopRegion` # @return [String] attr_accessor :next_hop_region # The priority of the peering route. # Corresponds to the JSON property `priority` # @return [Fixnum] attr_accessor :priority # The type of the peering route. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dest_range = args[:dest_range] if args.key?(:dest_range) @imported = args[:imported] if args.key?(:imported) @next_hop_region = args[:next_hop_region] if args.key?(:next_hop_region) @priority = args[:priority] if args.key?(:priority) @type = args[:type] if args.key?(:type) end end # class ExchangedPeeringRoutesList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of ExchangedPeeringRoute resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # exchangedPeeringRoutesList for exchanged peering # routes lists. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ExchangedPeeringRoutesList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents a textual expression in the Common Expression Language (CEL) # syntax. CEL is a C-like expression language. The syntax and semantics of CEL # are documented at https://github.com/google/cel-spec. # Example (Comparison): # title: "Summary size limit" # description: "Determines if a summary is less than 100 chars" # expression: "document.summary.size() < 100" # Example (Equality): # title: "Requestor is owner" # description: "Determines if requestor is the document owner" # expression: "document.owner == request.auth.claims.email" # Example (Logic): # title: "Public documents" # description: "Determine whether the document should be publicly visible" # expression: "document.type != 'private' && document.type != 'internal'" # Example (Data Manipulation): # title: "Notification string" # description: "Create a notification string with a timestamp." # expression: "'New message received at ' + string(document.create_time)" # The exact variables and functions that may be referenced within an expression # are determined by the service that evaluates it. See the service # documentation for additional information. class Expr include Google::Apis::Core::Hashable # Optional. Description of the expression. This is a longer text which # describes the expression, e.g. when hovered over it in a UI. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Textual representation of an expression in Common Expression Language # syntax. # Corresponds to the JSON property `expression` # @return [String] attr_accessor :expression # Optional. String indicating the location of the expression for error # reporting, e.g. a file name and a position in the file. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location # Optional. Title for the expression, i.e. a short string describing # its purpose. This can be used e.g. in UIs which allow to enter the # expression. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @expression = args[:expression] if args.key?(:expression) @location = args[:location] if args.key?(:location) @title = args[:title] if args.key?(:title) end end # Represents an external VPN gateway. # External VPN gateway is the on-premises VPN gateway(s) or another cloud # provider's VPN gateway that connects to your Google Cloud VPN gateway. # To create a highly available VPN from Google Cloud Platform to your # VPN gateway or another cloud provider's VPN gateway, you must create a # external VPN gateway resource with information about the other gateway. # For more information about using external VPN gateways, see # Creating an HA VPN gateway and tunnel pair to a peer VPN. class ExternalVpnGateway include Google::Apis::Core::Hashable # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # A list of interfaces for this external VPN gateway. # If your peer-side gateway is an on-premises gateway and non-AWS cloud # providers' gateway, at most two interfaces can be provided for an external # VPN gateway. If your peer side is an AWS virtual private gateway, four # interfaces should be provided for an external VPN gateway. # Corresponds to the JSON property `interfaces` # @return [Array] attr_accessor :interfaces # Output only. [Output Only] Type of the resource. Alwayscompute# # externalVpnGateway for externalVpnGateways. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # A fingerprint for the labels being applied to this ExternalVpnGateway, # 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 error412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve an ExternalVpnGateway. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # Labels for this resource. These can only be added or modified by thesetLabels # method. Each label key/value pair must comply withRFC1035. # Label values may be empty. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Indicates the user-supplied redundancy type of this external VPN gateway. # Corresponds to the JSON property `redundancyType` # @return [String] attr_accessor :redundancy_type # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @interfaces = args[:interfaces] if args.key?(:interfaces) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @redundancy_type = args[:redundancy_type] if args.key?(:redundancy_type) @self_link = args[:self_link] if args.key?(:self_link) end end # The interface for the external VPN gateway. class ExternalVpnGatewayInterface include Google::Apis::Core::Hashable # 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 # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # 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. # Corresponds to the JSON property `ipAddress` # @return [String] attr_accessor :ip_address # 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). # Corresponds to the JSON property `ipv6Address` # @return [String] attr_accessor :ipv6_address def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @ip_address = args[:ip_address] if args.key?(:ip_address) @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address) end end # Response to the list request, and contains a list of externalVpnGateways. class ExternalVpnGatewayList include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of ExternalVpnGateway resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute# # externalVpnGatewayList for lists of externalVpnGateways. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ExternalVpnGatewayList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class FileContentBuffer include Google::Apis::Core::Hashable # The raw content in the secure keys file. # Corresponds to the JSON property `content` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :content # The file type of source file. # Corresponds to the JSON property `fileType` # @return [String] attr_accessor :file_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content = args[:content] if args.key?(:content) @file_type = args[:file_type] if args.key?(:file_type) end end # Represents a Firewall Rule resource. # Firewall rules allow or deny ingress traffic to, and egress traffic from your # instances. For more information, readFirewall rules. class Firewall include Google::Apis::Core::Hashable # The list of ALLOW rules specified by this firewall. Each rule specifies a # protocol and port-range tuple that describes a permitted connection. # Corresponds to the JSON property `allowed` # @return [Array] attr_accessor :allowed # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # The list of DENY rules specified by this firewall. Each rule specifies a # protocol and port-range tuple that describes a denied connection. # Corresponds to the JSON property `denied` # @return [Array] attr_accessor :denied # An optional description of this resource. Provide this field when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # If destination ranges are specified, the firewall rule applies only to # traffic that has destination IP address in these ranges. These ranges must # be expressed inCIDR format. Both IPv4 and IPv6 are supported. # Corresponds to the JSON property `destinationRanges` # @return [Array] attr_accessor :destination_ranges # Direction of traffic to which this firewall applies, either `INGRESS` or # `EGRESS`. The default is `INGRESS`. For `EGRESS` traffic, you cannot # specify the sourceTags fields. # Corresponds to the JSON property `direction` # @return [String] attr_accessor :direction # Denotes whether the firewall rule is disabled. When set to true, the # firewall rule is not enforced and the network behaves as if it did not # exist. If this is unspecified, the firewall rule will be enabled. # Corresponds to the JSON property `disabled` # @return [Boolean] attr_accessor :disabled alias_method :disabled?, :disabled # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Always compute#firewall # for firewall rules. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The available logging options for a firewall rule. # Corresponds to the JSON property `logConfig` # @return [Google::Apis::ComputeV1::FirewallLogConfig] attr_accessor :log_config # Name of the resource; provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # URL of the network resource for this firewall rule. If not # specified when creating a firewall rule, the default network # is used: # global/networks/default # If you choose to specify this field, 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/myproject/global/networks/my- # network # - projects/myproject/global/networks/my-network # - global/networks/default # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # Additional firewall parameters. # Corresponds to the JSON property `params` # @return [Google::Apis::ComputeV1::FirewallParams] attr_accessor :params # Priority for this rule. # This is an integer between `0` and `65535`, both inclusive. # The default value is `1000`. # Relative priorities determine which rule takes effect if multiple rules # apply. Lower values indicate higher priority. For example, a rule with # priority `0` has higher precedence than a rule with priority `1`. # DENY rules take precedence over ALLOW rules if they have equal priority. # Note that VPC networks have implied # rules with a priority of `65535`. To avoid conflicts with the implied # rules, use a priority number less than `65535`. # Corresponds to the JSON property `priority` # @return [Fixnum] attr_accessor :priority # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # If source ranges are specified, the firewall rule applies only to traffic # that has a source IP address in these ranges. These ranges must be # expressed inCIDR format. One or both of sourceRanges # and sourceTags may be set. # If both fields are set, the rule applies to traffic that has a # source IP address within sourceRanges OR a source IP # from a resource with a matching tag listed in thesourceTags field. The # connection does not need to match # both fields for the rule to # apply. Both IPv4 and IPv6 are supported. # Corresponds to the JSON property `sourceRanges` # @return [Array] attr_accessor :source_ranges # If source service accounts are specified, the firewall rules apply only to # traffic originating from an instance with a service account in this list. # Source service accounts cannot be used to control traffic to an instance's # external IP address because service accounts are associated with an # instance, not an IP address.sourceRanges can be set at the same time # assourceServiceAccounts. # If both are set, the firewall applies to traffic that # has a source IP address within the sourceRanges OR a source # IP that belongs to an instance with service account listed # insourceServiceAccount. The connection does not need to match # both fields for the firewall to apply.sourceServiceAccounts cannot be used at # the same time assourceTags or targetTags. # Corresponds to the JSON property `sourceServiceAccounts` # @return [Array] attr_accessor :source_service_accounts # If source tags are specified, the firewall rule applies only to traffic # with source IPs that match the primary network interfaces of VM instances # that have the tag and are in the same VPC network. # Source tags cannot be used to control traffic to an instance's external IP # address, it only applies to traffic between instances in the same virtual # network. Because tags are associated with instances, not IP addresses. # One or both of sourceRanges and sourceTags may be # set. If both fields are set, the firewall applies to traffic that has a # source IP address within sourceRanges OR a source IP from a # resource with a matching tag listed in the sourceTags # field. The connection does not need to match both fields for the # firewall to apply. # Corresponds to the JSON property `sourceTags` # @return [Array] attr_accessor :source_tags # A list of service accounts indicating sets of instances located in the # network that may make network connections as specified inallowed[]. # targetServiceAccounts cannot be used at the same time astargetTags or # sourceTags. # If neither targetServiceAccounts nor targetTags # are specified, the firewall rule applies to all instances on the specified # network. # Corresponds to the JSON property `targetServiceAccounts` # @return [Array] attr_accessor :target_service_accounts # A list of tags that controls which instances the firewall rule # applies to. If targetTags are specified, then the firewall # rule applies only to instances in the VPC network that have one of those # tags. If no targetTags are specified, the firewall rule # applies to all instances on the specified network. # Corresponds to the JSON property `targetTags` # @return [Array] attr_accessor :target_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @allowed = args[:allowed] if args.key?(:allowed) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @denied = args[:denied] if args.key?(:denied) @description = args[:description] if args.key?(:description) @destination_ranges = args[:destination_ranges] if args.key?(:destination_ranges) @direction = args[:direction] if args.key?(:direction) @disabled = args[:disabled] if args.key?(:disabled) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @log_config = args[:log_config] if args.key?(:log_config) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @params = args[:params] if args.key?(:params) @priority = args[:priority] if args.key?(:priority) @self_link = args[:self_link] if args.key?(:self_link) @source_ranges = args[:source_ranges] if args.key?(:source_ranges) @source_service_accounts = args[:source_service_accounts] if args.key?(:source_service_accounts) @source_tags = args[:source_tags] if args.key?(:source_tags) @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts) @target_tags = args[:target_tags] if args.key?(:target_tags) end # class Allowed include Google::Apis::Core::Hashable # The IP protocol to which this rule applies. The protocol type is # required when creating a firewall rule. This value can either be one of the # following well known protocol strings (tcp, udp,icmp, esp, ah, ipip,sctp) or # the IP protocol number. # Corresponds to the JSON property `IPProtocol` # @return [String] attr_accessor :ip_protocol # An optional list of ports to which this rule applies. # This field is only applicable for the UDP or TCP protocol. # Each entry must be either an integer or a range. # If not specified, this rule applies to connections through any port. # Example inputs include: ["22"], ["80","443"], # and ["12345-12349"]. # Corresponds to the JSON property `ports` # @return [Array] attr_accessor :ports def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol) @ports = args[:ports] if args.key?(:ports) end end # class Denied include Google::Apis::Core::Hashable # The IP protocol to which this rule applies. The protocol type is # required when creating a firewall rule. This value can either be one of the # following well known protocol strings (tcp, udp,icmp, esp, ah, ipip,sctp) or # the IP protocol number. # Corresponds to the JSON property `IPProtocol` # @return [String] attr_accessor :ip_protocol # An optional list of ports to which this rule applies. # This field is only applicable for the UDP or TCP protocol. # Each entry must be either an integer or a range. # If not specified, this rule applies to connections through any port. # Example inputs include: ["22"], ["80","443"], # and ["12345-12349"]. # Corresponds to the JSON property `ports` # @return [Array] attr_accessor :ports def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol) @ports = args[:ports] if args.key?(:ports) end end end # Contains a list of firewalls. class FirewallList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Firewall resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#firewallList # for lists of firewalls. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::FirewallList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # The available logging options for a firewall rule. class FirewallLogConfig include Google::Apis::Core::Hashable # This field denotes whether to enable logging for a particular firewall # rule. # Corresponds to the JSON property `enable` # @return [Boolean] attr_accessor :enable alias_method :enable?, :enable # This field can only be specified for a particular firewall rule if # logging is enabled for that rule. This field denotes whether to include # or exclude metadata for firewall logs. # Corresponds to the JSON property `metadata` # @return [String] attr_accessor :metadata def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @enable = args[:enable] if args.key?(:enable) @metadata = args[:metadata] if args.key?(:metadata) end end # Additional firewall parameters. class FirewallParams include Google::Apis::Core::Hashable # Tag keys/values directly bound to this resource. # Tag keys and values have the same definition as resource # manager tags. The field is allowed for INSERT # only. The keys/values to set on the resource should be specified in # either ID ` : ` or Namespaced format # ` : `. # For example the following are valid inputs: # * `"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` # * `"123/environment" : "production", "345/abc" : "xyz"` # Note: # * Invalid combinations of ID & namespaced format is not supported. For # instance: `"123/environment" : "tagValues/444"` is invalid. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) end end # class FirewallPoliciesListAssociationsResponse include Google::Apis::Core::Hashable # A list of associations. # Corresponds to the JSON property `associations` # @return [Array] attr_accessor :associations # Output only. [Output Only] Type of firewallPolicy associations. Alwayscompute# # FirewallPoliciesListAssociations for lists of # firewallPolicy associations. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @associations = args[:associations] if args.key?(:associations) @kind = args[:kind] if args.key?(:kind) end end # class FirewallPoliciesScopedList include Google::Apis::Core::Hashable # A list of firewall policies contained in this scope. # Corresponds to the JSON property `firewallPolicies` # @return [Array] attr_accessor :firewall_policies # Informational warning which replaces the list of firewall policies when # the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::FirewallPoliciesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @firewall_policies = args[:firewall_policies] if args.key?(:firewall_policies) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of firewall policies when # the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents a Firewall Policy resource. class FirewallPolicy include Google::Apis::Core::Hashable # A list of associations that belong to this firewall policy. # Corresponds to the JSON property `associations` # @return [Array] attr_accessor :associations # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Deprecated, please use short name instead. User-provided name of the # Organization firewall policy. The name should be unique in the organization # in which the firewall policy is created. # This field is not applicable to network firewall policies. # This name must be set on creation and cannot be changed. # 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. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # 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 error412 conditionNotMet. # To see the latest fingerprint, make get() request to the # firewall policy. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output only] Type of the resource. Alwayscompute# # firewallPolicyfor firewall policies # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # A list of packet mirroring rules that belong to this policy. # Corresponds to the JSON property `packetMirroringRules` # @return [Array] attr_accessor :packet_mirroring_rules # Output only. [Output Only] The parent of the firewall policy. # This field is not applicable to network firewall policies. # Corresponds to the JSON property `parent` # @return [String] attr_accessor :parent # The type of the firewall policy. This field can be eitherVPC_POLICY or # RDMA_ROCE_POLICY. # Note: if not specified then VPC_POLICY will be used. # Corresponds to the JSON property `policyType` # @return [String] attr_accessor :policy_type # Output only. [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. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Output only. [Output Only] Total count of all firewall policy rule tuples. A # firewall # policy can not exceed a set number of tuples. # Corresponds to the JSON property `ruleTupleCount` # @return [Fixnum] attr_accessor :rule_tuple_count # A list of rules that belong to this policy. # There must always be a default rule (rule with priority 2147483647 and # match "*"). If no rules are provided when creating a firewall policy, a # default rule with action "allow" will be added. # Corresponds to the JSON property `rules` # @return [Array] attr_accessor :rules # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Server-defined URL for this resource with the # resource id. # Corresponds to the JSON property `selfLinkWithId` # @return [String] attr_accessor :self_link_with_id # User-provided name of the Organization firewall policy. The name should be # unique in the organization in which the firewall policy is created. # This field is not applicable to network firewall policies. # This name must be set on creation and cannot be changed. 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. # Corresponds to the JSON property `shortName` # @return [String] attr_accessor :short_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @associations = args[:associations] if args.key?(:associations) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @display_name = args[:display_name] if args.key?(:display_name) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules) @parent = args[:parent] if args.key?(:parent) @policy_type = args[:policy_type] if args.key?(:policy_type) @region = args[:region] if args.key?(:region) @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count) @rules = args[:rules] if args.key?(:rules) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @short_name = args[:short_name] if args.key?(:short_name) end end # class FirewallPolicyAssociation include Google::Apis::Core::Hashable # The target that the firewall policy is attached to. # Corresponds to the JSON property `attachmentTarget` # @return [String] attr_accessor :attachment_target # [Output Only] Deprecated, please use short name instead. The display name # of the firewall policy of the association. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Output only. [Output Only] The firewall policy ID of the association. # Corresponds to the JSON property `firewallPolicyId` # @return [String] attr_accessor :firewall_policy_id # The name for an association. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] The short name of the firewall policy of the # association. # Corresponds to the JSON property `shortName` # @return [String] attr_accessor :short_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @attachment_target = args[:attachment_target] if args.key?(:attachment_target) @display_name = args[:display_name] if args.key?(:display_name) @firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id) @name = args[:name] if args.key?(:name) @short_name = args[:short_name] if args.key?(:short_name) end end # class FirewallPolicyList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of FirewallPolicy resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute#firewallPolicyList # for listsof FirewallPolicies # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::FirewallPolicyList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents a rule that describes one or more match conditions along with # the action to be taken when traffic matches this condition (allow or deny). class FirewallPolicyRule include Google::Apis::Core::Hashable # The Action to perform when the client connection triggers the rule. # Valid actions for firewall rules are: "allow", "deny", # "apply_security_profile_group" and "goto_next". # Valid actions for packet mirroring rules are: "mirror", "do_not_mirror" # and "goto_next". # Corresponds to the JSON property `action` # @return [String] attr_accessor :action # An optional description for this resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The direction in which this rule applies. # Corresponds to the JSON property `direction` # @return [String] attr_accessor :direction # 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. # Corresponds to the JSON property `disabled` # @return [Boolean] attr_accessor :disabled alias_method :disabled?, :disabled # Denotes whether to enable logging for a particular rule. If logging is # enabled, logs will be exported to the configured export destination in # Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you # cannot enable logging on "goto_next" rules. # Corresponds to the JSON property `enableLogging` # @return [Boolean] attr_accessor :enable_logging alias_method :enable_logging?, :enable_logging # Output only. [Output only] Type of the resource. Returnscompute# # firewallPolicyRule for firewall rules andcompute#packetMirroringRule for # packet mirroring rules. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Represents a match condition that incoming traffic is evaluated against. # Exactly one field must be specified. # Corresponds to the JSON property `match` # @return [Google::Apis::ComputeV1::FirewallPolicyRuleMatcher] attr_accessor :match # 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. # Corresponds to the JSON property `priority` # @return [Fixnum] attr_accessor :priority # An optional name for the rule. This field is not a unique identifier # and can be updated. # Corresponds to the JSON property `ruleName` # @return [String] attr_accessor :rule_name # Output only. [Output Only] Calculation of the complexity of a single firewall # policy # rule. # Corresponds to the JSON property `ruleTupleCount` # @return [Fixnum] attr_accessor :rule_tuple_count # 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 is one of 'apply_security_profile_group' or # 'mirror'. Cannot be specified for other actions. # Corresponds to the JSON property `securityProfileGroup` # @return [String] attr_accessor :security_profile_group # 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. # Corresponds to the JSON property `targetResources` # @return [Array] attr_accessor :target_resources # 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 astargetServiceAccounts. # If neither targetServiceAccounts nortargetSecureTag are specified, the # firewall rule applies # to all instances on the specified network. # Maximum number of target label tags allowed is 256. # Corresponds to the JSON property `targetSecureTags` # @return [Array] attr_accessor :target_secure_tags # A list of service accounts indicating the sets of instances that are # applied with this rule. # Corresponds to the JSON property `targetServiceAccounts` # @return [Array] attr_accessor :target_service_accounts # 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. # Corresponds to the JSON property `tlsInspect` # @return [Boolean] attr_accessor :tls_inspect alias_method :tls_inspect?, :tls_inspect def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @action = args[:action] if args.key?(:action) @description = args[:description] if args.key?(:description) @direction = args[:direction] if args.key?(:direction) @disabled = args[:disabled] if args.key?(:disabled) @enable_logging = args[:enable_logging] if args.key?(:enable_logging) @kind = args[:kind] if args.key?(:kind) @match = args[:match] if args.key?(:match) @priority = args[:priority] if args.key?(:priority) @rule_name = args[:rule_name] if args.key?(:rule_name) @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count) @security_profile_group = args[:security_profile_group] if args.key?(:security_profile_group) @target_resources = args[:target_resources] if args.key?(:target_resources) @target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags) @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts) @tls_inspect = args[:tls_inspect] if args.key?(:tls_inspect) end end # Represents a match condition that incoming traffic is evaluated against. # Exactly one field must be specified. class FirewallPolicyRuleMatcher include Google::Apis::Core::Hashable # Address groups which should be matched against the traffic destination. # Maximum number of destination address groups is 10. # Corresponds to the JSON property `destAddressGroups` # @return [Array] attr_accessor :dest_address_groups # Fully Qualified Domain Name (FQDN) which should be matched against # traffic destination. # Maximum number of destination fqdn allowed is 100. # Corresponds to the JSON property `destFqdns` # @return [Array] attr_accessor :dest_fqdns # CIDR IP address range. # Maximum number of destination CIDR IP ranges allowed is 5000. # Corresponds to the JSON property `destIpRanges` # @return [Array] attr_accessor :dest_ip_ranges # Network context of the traffic destination. Allowed values are: # # # - UNSPECIFIED # - INTERNET # - NON_INTERNET # Corresponds to the JSON property `destNetworkContext` # @return [String] attr_accessor :dest_network_context # Network type of the traffic destination. Allowed values are: # # # - UNSPECIFIED # - INTERNET # - NON_INTERNET # Corresponds to the JSON property `destNetworkType` # @return [String] attr_accessor :dest_network_type # 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. # Corresponds to the JSON property `destRegionCodes` # @return [Array] attr_accessor :dest_region_codes # Names of Network Threat Intelligence lists. # The IPs in these lists will be matched against traffic destination. # Corresponds to the JSON property `destThreatIntelligences` # @return [Array] attr_accessor :dest_threat_intelligences # Pairs of IP protocols and ports that the rule should match. # Corresponds to the JSON property `layer4Configs` # @return [Array] attr_accessor :layer4_configs # Address groups which should be matched against the traffic source. # Maximum number of source address groups is 10. # Corresponds to the JSON property `srcAddressGroups` # @return [Array] attr_accessor :src_address_groups # Fully Qualified Domain Name (FQDN) which should be matched against # traffic source. # Maximum number of source fqdn allowed is 100. # Corresponds to the JSON property `srcFqdns` # @return [Array] attr_accessor :src_fqdns # CIDR IP address range. # Maximum number of source CIDR IP ranges allowed is 5000. # Corresponds to the JSON property `srcIpRanges` # @return [Array] attr_accessor :src_ip_ranges # Network context of the traffic source. Allowed values are: # # # - UNSPECIFIED # - INTERNET # - INTRA_VPC # - NON_INTERNET # - VPC_NETWORKS # Corresponds to the JSON property `srcNetworkContext` # @return [String] attr_accessor :src_network_context # Network type of the traffic source. Allowed values are: # # # - UNSPECIFIED # - INTERNET # - INTRA_VPC # - NON_INTERNET # - VPC_NETWORKS # Corresponds to the JSON property `srcNetworkType` # @return [String] attr_accessor :src_network_type # Networks of the traffic source. It can be either a full or partial url. # Corresponds to the JSON property `srcNetworks` # @return [Array] attr_accessor :src_networks # 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. # Corresponds to the JSON property `srcRegionCodes` # @return [Array] attr_accessor :src_region_codes # 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. # Corresponds to the JSON property `srcSecureTags` # @return [Array] attr_accessor :src_secure_tags # Names of Network Threat Intelligence lists. # The IPs in these lists will be matched against traffic source. # Corresponds to the JSON property `srcThreatIntelligences` # @return [Array] attr_accessor :src_threat_intelligences def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dest_address_groups = args[:dest_address_groups] if args.key?(:dest_address_groups) @dest_fqdns = args[:dest_fqdns] if args.key?(:dest_fqdns) @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges) @dest_network_context = args[:dest_network_context] if args.key?(:dest_network_context) @dest_network_type = args[:dest_network_type] if args.key?(:dest_network_type) @dest_region_codes = args[:dest_region_codes] if args.key?(:dest_region_codes) @dest_threat_intelligences = args[:dest_threat_intelligences] if args.key?(:dest_threat_intelligences) @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs) @src_address_groups = args[:src_address_groups] if args.key?(:src_address_groups) @src_fqdns = args[:src_fqdns] if args.key?(:src_fqdns) @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges) @src_network_context = args[:src_network_context] if args.key?(:src_network_context) @src_network_type = args[:src_network_type] if args.key?(:src_network_type) @src_networks = args[:src_networks] if args.key?(:src_networks) @src_region_codes = args[:src_region_codes] if args.key?(:src_region_codes) @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags) @src_threat_intelligences = args[:src_threat_intelligences] if args.key?(:src_threat_intelligences) end end # class FirewallPolicyRuleMatcherLayer4Config include Google::Apis::Core::Hashable # The IP protocol to which this rule applies. The protocol type is # required when creating a firewall rule. This value can either be # one of the following well known protocol strings (tcp,udp, icmp, esp,ah, ipip, # sctp), or the IP # protocol number. # Corresponds to the JSON property `ipProtocol` # @return [String] attr_accessor :ip_protocol # An optional list of ports to which this rule applies. This field is # only applicable for UDP or TCP protocol. Each entry must be either # an integer or a range. If not specified, this rule applies to # connections through any port. # Example inputs include: ["22"],["80","443"], and ["12345-12349"]. # Corresponds to the JSON property `ports` # @return [Array] attr_accessor :ports def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol) @ports = args[:ports] if args.key?(:ports) end end # class FirewallPolicyRuleSecureTag include Google::Apis::Core::Hashable # Name of the secure tag, created with TagManager's TagValue API. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] State of the secure tag, either `EFFECTIVE` or # `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted # or its network is deleted. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @state = args[:state] if args.key?(:state) end end # Encapsulates numeric value that can be either absolute or relative. class FixedOrPercent include Google::Apis::Core::Hashable # Output only. [Output Only] Absolute value of VM instances calculated based on # the # specific mode. # # # - If the value is fixed, then the calculated # value is equal to the fixed value. # - If the value is a percent, then the # calculated # value is percent/100 * targetSize. For example, # the calculated value of a 80% of a managed instance group # with 150 instances would be (80/100 * 150) = 120 VM instances. If there # is a remainder, the number is rounded. # Corresponds to the JSON property `calculated` # @return [Fixnum] attr_accessor :calculated # Specifies a fixed number of VM instances. This must be a positive integer. # Corresponds to the JSON property `fixed` # @return [Fixnum] attr_accessor :fixed # Specifies a percentage of instances between 0 to 100%, inclusive. For # example, specify 80 for 80%. # Corresponds to the JSON property `percent` # @return [Fixnum] attr_accessor :percent def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @calculated = args[:calculated] if args.key?(:calculated) @fixed = args[:fixed] if args.key?(:fixed) @percent = args[:percent] if args.key?(:percent) end end # Specifies a flexible time range with flexible start time and duration. # It is possible to specify a contradictory time range that cannot be matched # by any Interval. This causes a validation error. class FlexibleTimeRange include Google::Apis::Core::Hashable # # Corresponds to the JSON property `maxDuration` # @return [String] attr_accessor :max_duration # # Corresponds to the JSON property `minDuration` # @return [String] attr_accessor :min_duration # # Corresponds to the JSON property `startTimeNotEarlierThan` # @return [String] attr_accessor :start_time_not_earlier_than # # Corresponds to the JSON property `startTimeNotLaterThan` # @return [String] attr_accessor :start_time_not_later_than def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @max_duration = args[:max_duration] if args.key?(:max_duration) @min_duration = args[:min_duration] if args.key?(:min_duration) @start_time_not_earlier_than = args[:start_time_not_earlier_than] if args.key?(:start_time_not_earlier_than) @start_time_not_later_than = args[:start_time_not_later_than] if args.key?(:start_time_not_later_than) end end # 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. class ForwardingRule include Google::Apis::Core::Hashable # 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 andvalidateForProxyless is set # to true, theIPAddress 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 inhttps://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. # Corresponds to the JSON property `IPAddress` # @return [String] attr_accessor :ip_address # The IP protocol to which this rule applies. # For protocol forwarding, valid # options are TCP, UDP, ESP,AH, SCTP, ICMP andL3_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). # Corresponds to the JSON property `IPProtocol` # @return [String] attr_accessor :ip_protocol # 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 requiresallPorts be set to # true. # Corresponds to the JSON property `allPorts` # @return [Boolean] attr_accessor :all_ports alias_method :all_ports?, :all_ports # 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. # Corresponds to the JSON property `allowGlobalAccess` # @return [Boolean] attr_accessor :allow_global_access alias_method :allow_global_access?, :allow_global_access # This is used in PSC consumer ForwardingRule to control whether the PSC # endpoint can be accessed from another region. # Corresponds to the JSON property `allowPscGlobalAccess` # @return [Boolean] attr_accessor :allow_psc_global_access alias_method :allow_psc_global_access?, :allow_psc_global_access # 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. # Corresponds to the JSON property `backendService` # @return [String] attr_accessor :backend_service # Output only. [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. # Corresponds to the JSON property `baseForwardingRule` # @return [String] attr_accessor :base_forwarding_rule # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Specifies the canary migration state for the backend buckets attached to # this forwarding rule. Possible values are PREPARE, TEST_BY_PERCENTAGE, and # TEST_ALL_TRAFFIC. # To begin the migration from EXTERNAL to EXTERNAL_MANAGED, the state must be # changed to PREPARE. The state must be changed to TEST_ALL_TRAFFIC before # the loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, the # TEST_BY_PERCENTAGE state can be used to migrate traffic to backend buckets # attached to this forwarding rule by percentage using # externalManagedBackendBucketMigrationTestingPercentage. # Rolling back a migration requires the states to be set in reverse order. So # changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to # be set to TEST_ALL_TRAFFIC at the same time. Optionally, the # TEST_BY_PERCENTAGE state can be used to migrate some traffic back to # EXTERNAL or PREPARE can be used to migrate all traffic back to EXTERNAL. # Corresponds to the JSON property `externalManagedBackendBucketMigrationState` # @return [String] attr_accessor :external_managed_backend_bucket_migration_state # Determines the fraction of requests to backend buckets that should be # processed by the global external Application Load Balancer. # The value of this field must be in the range [0, 100]. # This value can only be set if the loadBalancingScheme in the BackendService # is set to EXTERNAL (when using the classic Application Load Balancer) and # the migration state is TEST_BY_PERCENTAGE. # Corresponds to the JSON property `externalManagedBackendBucketMigrationTestingPercentage` # @return [Float] attr_accessor :external_managed_backend_bucket_migration_testing_percentage # 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. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Resource reference of a PublicDelegatedPrefix. The PDP must # be a sub-PDP in EXTERNAL_IPV6_FORWARDING_RULE_CREATION mode. # Use one of the following formats to specify a sub-PDP when creating an IPv6 # NetLB forwarding rule using BYOIP: # Full resource URL, as inhttps://www.googleapis.com/compute/v1/projects/ # project_id/regions/region/publicDelegatedPrefixes/sub-pdp-name # Partial URL, as in: # # - projects/project_id/regions/region/publicDelegatedPrefixes/sub-pdp-name # - regions/region/publicDelegatedPrefixes/sub-pdp-name # Corresponds to the JSON property `ipCollection` # @return [String] attr_accessor :ip_collection # The IP Version that will be used by this forwarding rule. Valid options # are IPV4 or IPV6. # Corresponds to the JSON property `ipVersion` # @return [String] attr_accessor :ip_version # 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 aPacketMirroring # rule applies to them. # This can only be set to true for load balancers that have # theirloadBalancingScheme set to INTERNAL. # Corresponds to the JSON property `isMirroringCollector` # @return [Boolean] attr_accessor :is_mirroring_collector alias_method :is_mirroring_collector?, :is_mirroring_collector # Output only. [Output Only] Type of the resource. Alwayscompute#forwardingRule # for forwarding rule resources. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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 error412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve a ForwardingRule. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # Labels for this resource. These can only be added or modified by thesetLabels # method. Each label key/value pair must comply withRFC1035. # Label values may be empty. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Specifies the forwarding rule type. # For more information about forwarding rules, refer to # Forwarding rule concepts. # Corresponds to the JSON property `loadBalancingScheme` # @return [String] attr_accessor :load_balancing_scheme # 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 itsfilterMatchCriteria is set to # MATCH_ANY, at least one of thefilterLabels 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 multiplemetadataFilters 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 thisForwardingRule references. # metadataFilters only applies to Loadbalancers that have # their loadBalancingScheme set toINTERNAL_SELF_MANAGED. # Corresponds to the JSON property `metadataFilters` # @return [Array] attr_accessor :metadata_filters # Name of the resource; provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # 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. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # 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 andSTANDARD. For # GlobalForwardingRule, the valid value isPREMIUM. # 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. # Corresponds to the JSON property `networkTier` # @return [String] attr_accessor :network_tier # 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. # Corresponds to the JSON property `noAutomateDnsZone` # @return [Boolean] attr_accessor :no_automate_dns_zone alias_method :no_automate_dns_zone?, :no_automate_dns_zone # 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 overlappingportRanges. # 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+)? # Corresponds to the JSON property `portRange` # @return [String] attr_accessor :port_range # 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+)? # Corresponds to the JSON property `ports` # @return [Array] attr_accessor :ports # [Output Only] The PSC connection id of the PSC forwarding rule. # Corresponds to the JSON property `pscConnectionId` # @return [Fixnum] attr_accessor :psc_connection_id # # Corresponds to the JSON property `pscConnectionStatus` # @return [String] attr_accessor :psc_connection_status # Output only. [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. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Server-defined URL for this resource with the # resource id. # Corresponds to the JSON property `selfLinkWithId` # @return [String] attr_accessor :self_link_with_id # Service Directory resources to register this forwarding rule with. # Currently, only supports a single Service Directory resource. # Corresponds to the JSON property `serviceDirectoryRegistrations` # @return [Array] attr_accessor :service_directory_registrations # 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 withRFC1035. # 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. # Corresponds to the JSON property `serviceLabel` # @return [String] attr_accessor :service_label # [Output Only] # The internal fully qualified service name for this forwarding rule. # This field is only used for internal load balancing. # Corresponds to the JSON property `serviceName` # @return [String] attr_accessor :service_name # 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 # isEXTERNAL. # 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). # Corresponds to the JSON property `sourceIpRanges` # @return [Array] attr_accessor :source_ip_ranges # 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. # Corresponds to the JSON property `subnetwork` # @return [String] attr_accessor :subnetwork # 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. # Corresponds to the JSON property `target` # @return [String] attr_accessor :target def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ip_address = args[:ip_address] if args.key?(:ip_address) @ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol) @all_ports = args[:all_ports] if args.key?(:all_ports) @allow_global_access = args[:allow_global_access] if args.key?(:allow_global_access) @allow_psc_global_access = args[:allow_psc_global_access] if args.key?(:allow_psc_global_access) @backend_service = args[:backend_service] if args.key?(:backend_service) @base_forwarding_rule = args[:base_forwarding_rule] if args.key?(:base_forwarding_rule) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @external_managed_backend_bucket_migration_state = args[:external_managed_backend_bucket_migration_state] if args.key?(:external_managed_backend_bucket_migration_state) @external_managed_backend_bucket_migration_testing_percentage = args[:external_managed_backend_bucket_migration_testing_percentage] if args.key?(:external_managed_backend_bucket_migration_testing_percentage) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @id = args[:id] if args.key?(:id) @ip_collection = args[:ip_collection] if args.key?(:ip_collection) @ip_version = args[:ip_version] if args.key?(:ip_version) @is_mirroring_collector = args[:is_mirroring_collector] if args.key?(:is_mirroring_collector) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme) @metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @network_tier = args[:network_tier] if args.key?(:network_tier) @no_automate_dns_zone = args[:no_automate_dns_zone] if args.key?(:no_automate_dns_zone) @port_range = args[:port_range] if args.key?(:port_range) @ports = args[:ports] if args.key?(:ports) @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id) @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @service_directory_registrations = args[:service_directory_registrations] if args.key?(:service_directory_registrations) @service_label = args[:service_label] if args.key?(:service_label) @service_name = args[:service_name] if args.key?(:service_name) @source_ip_ranges = args[:source_ip_ranges] if args.key?(:source_ip_ranges) @subnetwork = args[:subnetwork] if args.key?(:subnetwork) @target = args[:target] if args.key?(:target) end end # class ForwardingRuleAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of ForwardingRulesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # forwardingRuleAggregatedList for lists of forwarding rules. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ForwardingRuleAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of ForwardingRule resources. class ForwardingRuleList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of ForwardingRule resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ForwardingRuleList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class ForwardingRuleReference include Google::Apis::Core::Hashable # # Corresponds to the JSON property `forwardingRule` # @return [String] attr_accessor :forwarding_rule def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule) end end # 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. class ForwardingRuleServiceDirectoryRegistration include Google::Apis::Core::Hashable # Service Directory namespace to register the forwarding rule under. # Corresponds to the JSON property `namespace` # @return [String] attr_accessor :namespace # Service Directory service to register the forwarding rule under. # Corresponds to the JSON property `service` # @return [String] attr_accessor :service # [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. # Corresponds to the JSON property `serviceDirectoryRegion` # @return [String] attr_accessor :service_directory_region def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @namespace = args[:namespace] if args.key?(:namespace) @service = args[:service] if args.key?(:service) @service_directory_region = args[:service_directory_region] if args.key?(:service_directory_region) end end # class ForwardingRulesScopedList include Google::Apis::Core::Hashable # A list of forwarding rules contained in this scope. # Corresponds to the JSON property `forwardingRules` # @return [Array] attr_accessor :forwarding_rules # Informational warning which replaces the list of forwarding rules when # the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ForwardingRulesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of forwarding rules when # the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class FutureReservation include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `aggregateReservation` # @return [Google::Apis::ComputeV1::AllocationAggregateReservation] attr_accessor :aggregate_reservation # Future timestamp when the FR auto-created reservations will be deleted by # Compute Engine. Format of this field must be a valid # href="https://www.ietf.org/rfc/rfc3339.txt">RFC3339 value. # Corresponds to the JSON property `autoCreatedReservationsDeleteTime` # @return [String] attr_accessor :auto_created_reservations_delete_time # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `autoCreatedReservationsDuration` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :auto_created_reservations_duration # Setting for enabling or disabling automatic deletion for auto-created # reservation. If set to true, auto-created reservations will be # deleted at Future Reservation's end time (default) or at user's defined # timestamp if any of the # [auto_created_reservations_delete_time, auto_created_reservations_duration] # values is specified. # For keeping auto-created reservation indefinitely, this value should be set # to false. # Corresponds to the JSON property `autoDeleteAutoCreatedReservations` # @return [Boolean] attr_accessor :auto_delete_auto_created_reservations alias_method :auto_delete_auto_created_reservations?, :auto_delete_auto_created_reservations # If not present, then FR will not deliver a new commitment or update an # existing commitment. # Corresponds to the JSON property `commitmentInfo` # @return [Google::Apis::ComputeV1::FutureReservationCommitmentInfo] attr_accessor :commitment_info # Output only. [Output Only] The creation timestamp for this future reservation # inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Type of the deployment requested as part of future reservation. # Corresponds to the JSON property `deploymentType` # @return [String] attr_accessor :deployment_type # An optional description of this resource. Provide this property when you # create the future reservation. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Indicates if this group of VMs have emergent maintenance enabled. # Corresponds to the JSON property `enableEmergentMaintenance` # @return [Boolean] attr_accessor :enable_emergent_maintenance alias_method :enable_emergent_maintenance?, :enable_emergent_maintenance # Output only. [Output Only] A unique identifier for this future reservation. # The server # defines this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute# # futureReservation for future reservations. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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 # withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Name prefix for the reservations to be created at the time of # delivery. The name prefix must comply with RFC1035. # Maximum allowed length for name prefix is 20. Automatically created # reservations name format will be -date-####. # Corresponds to the JSON property `namePrefix` # @return [String] attr_accessor :name_prefix # Planning state before being submitted for evaluation # Corresponds to the JSON property `planningStatus` # @return [String] attr_accessor :planning_status # The reservation mode which determines reservation-termination behavior and # expected pricing. # Corresponds to the JSON property `reservationMode` # @return [String] attr_accessor :reservation_mode # Name of reservations where the capacity is provisioned at the time of # delivery of future reservations. If the reservation with the given name # does not exist already, it is created automatically at the time of Approval # with INACTIVE state till specified start-time. Either provide the # reservation_name or a name_prefix. # Corresponds to the JSON property `reservationName` # @return [String] attr_accessor :reservation_name # Maintenance information for this reservation # Corresponds to the JSON property `schedulingType` # @return [String] attr_accessor :scheduling_type # Output only. [Output Only] Server-defined fully-qualified URL for this # resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Server-defined URL for this resource with the # resource id. # Corresponds to the JSON property `selfLinkWithId` # @return [String] attr_accessor :self_link_with_id # The share setting for reservations and sole tenancy node groups. # Corresponds to the JSON property `shareSettings` # @return [Google::Apis::ComputeV1::ShareSettings] attr_accessor :share_settings # Indicates whether the auto-created reservation can be consumed by VMs with # affinity for "any" reservation. If the field is set, then only VMs that # target the reservation by name can consume from the delivered reservation. # Corresponds to the JSON property `specificReservationRequired` # @return [Boolean] attr_accessor :specific_reservation_required alias_method :specific_reservation_required?, :specific_reservation_required # Future Reservation configuration to indicate instance properties and # total count. # Corresponds to the JSON property `specificSkuProperties` # @return [Google::Apis::ComputeV1::FutureReservationSpecificSkuProperties] attr_accessor :specific_sku_properties # [Output only] Represents status related to the future reservation. # Corresponds to the JSON property `status` # @return [Google::Apis::ComputeV1::FutureReservationStatus] attr_accessor :status # Time window for this Future Reservation. # Corresponds to the JSON property `timeWindow` # @return [Google::Apis::ComputeV1::FutureReservationTimeWindow] attr_accessor :time_window # Output only. [Output Only] URL of the Zone where this future reservation # resides. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @aggregate_reservation = args[:aggregate_reservation] if args.key?(:aggregate_reservation) @auto_created_reservations_delete_time = args[:auto_created_reservations_delete_time] if args.key?(:auto_created_reservations_delete_time) @auto_created_reservations_duration = args[:auto_created_reservations_duration] if args.key?(:auto_created_reservations_duration) @auto_delete_auto_created_reservations = args[:auto_delete_auto_created_reservations] if args.key?(:auto_delete_auto_created_reservations) @commitment_info = args[:commitment_info] if args.key?(:commitment_info) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @deployment_type = args[:deployment_type] if args.key?(:deployment_type) @description = args[:description] if args.key?(:description) @enable_emergent_maintenance = args[:enable_emergent_maintenance] if args.key?(:enable_emergent_maintenance) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @name_prefix = args[:name_prefix] if args.key?(:name_prefix) @planning_status = args[:planning_status] if args.key?(:planning_status) @reservation_mode = args[:reservation_mode] if args.key?(:reservation_mode) @reservation_name = args[:reservation_name] if args.key?(:reservation_name) @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @share_settings = args[:share_settings] if args.key?(:share_settings) @specific_reservation_required = args[:specific_reservation_required] if args.key?(:specific_reservation_required) @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties) @status = args[:status] if args.key?(:status) @time_window = args[:time_window] if args.key?(:time_window) @zone = args[:zone] if args.key?(:zone) end end # class FutureReservationCommitmentInfo include Google::Apis::Core::Hashable # name of the commitment where capacity is being delivered to. # Corresponds to the JSON property `commitmentName` # @return [String] attr_accessor :commitment_name # Indicates if a Commitment needs to be created as part of FR delivery. If # this field is not present, then no # commitment needs to be created. # Corresponds to the JSON property `commitmentPlan` # @return [String] attr_accessor :commitment_plan # Only applicable if FR is delivering to the same reservation. If set, all # parent commitments will be extended to match the end date of the plan for # this commitment. # Corresponds to the JSON property `previousCommitmentTerms` # @return [String] attr_accessor :previous_commitment_terms def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @commitment_name = args[:commitment_name] if args.key?(:commitment_name) @commitment_plan = args[:commitment_plan] if args.key?(:commitment_plan) @previous_commitment_terms = args[:previous_commitment_terms] if args.key?(:previous_commitment_terms) end end # class FutureReservationSpecificSkuProperties include Google::Apis::Core::Hashable # Properties of the SKU instances being reserved. # Next ID: 9 # Corresponds to the JSON property `instanceProperties` # @return [Google::Apis::ComputeV1::AllocationSpecificSkuAllocationReservedInstanceProperties] attr_accessor :instance_properties # The instance template that will be used to populate the # ReservedInstanceProperties of the future reservation # Corresponds to the JSON property `sourceInstanceTemplate` # @return [String] attr_accessor :source_instance_template # Total number of instances for which capacity assurance is requested at a # future time period. # Corresponds to the JSON property `totalCount` # @return [Fixnum] attr_accessor :total_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_properties = args[:instance_properties] if args.key?(:instance_properties) @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template) @total_count = args[:total_count] if args.key?(:total_count) end end # [Output only] Represents status related to the future reservation. class FutureReservationStatus include Google::Apis::Core::Hashable # Output only. [Output Only] The current status of the requested amendment. # Corresponds to the JSON property `amendmentStatus` # @return [String] attr_accessor :amendment_status # Output only. Fully qualified urls of the automatically created reservations at # start_time. # Corresponds to the JSON property `autoCreatedReservations` # @return [Array] attr_accessor :auto_created_reservations # [Output Only] Represents the existing matching usage for the future # reservation. # Corresponds to the JSON property `existingMatchingUsageInfo` # @return [Google::Apis::ComputeV1::FutureReservationStatusExistingMatchingUsageInfo] attr_accessor :existing_matching_usage_info # Output only. This count indicates the fulfilled capacity so far. This is set # during # "PROVISIONING" state. This count also includes capacity delivered as part # of existing matching reservations. # Corresponds to the JSON property `fulfilledCount` # @return [Fixnum] attr_accessor :fulfilled_count # The state that the future reservation will be reverted to should the # amendment be declined. # Corresponds to the JSON property `lastKnownGoodState` # @return [Google::Apis::ComputeV1::FutureReservationStatusLastKnownGoodState] attr_accessor :last_known_good_state # Output only. Time when Future Reservation would become LOCKED, after which no # modifications to Future Reservation will be allowed. Applicable only # after the Future Reservation is in the APPROVED state. The lock_time is # an RFC3339 string. The procurement_status will transition to PROCURING # state at this time. # Corresponds to the JSON property `lockTime` # @return [String] attr_accessor :lock_time # Output only. Current state of this Future Reservation # Corresponds to the JSON property `procurementStatus` # @return [String] attr_accessor :procurement_status # Properties to be set for the Future Reservation. # Corresponds to the JSON property `specificSkuProperties` # @return [Google::Apis::ComputeV1::FutureReservationStatusSpecificSkuProperties] attr_accessor :specific_sku_properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @amendment_status = args[:amendment_status] if args.key?(:amendment_status) @auto_created_reservations = args[:auto_created_reservations] if args.key?(:auto_created_reservations) @existing_matching_usage_info = args[:existing_matching_usage_info] if args.key?(:existing_matching_usage_info) @fulfilled_count = args[:fulfilled_count] if args.key?(:fulfilled_count) @last_known_good_state = args[:last_known_good_state] if args.key?(:last_known_good_state) @lock_time = args[:lock_time] if args.key?(:lock_time) @procurement_status = args[:procurement_status] if args.key?(:procurement_status) @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties) end end # [Output Only] Represents the existing matching usage for the future # reservation. class FutureReservationStatusExistingMatchingUsageInfo include Google::Apis::Core::Hashable # Output only. Count to represent min(FR total_count, # matching_reserved_capacity+matching_unreserved_instances) # Corresponds to the JSON property `count` # @return [Fixnum] attr_accessor :count # Output only. Timestamp when the matching usage was calculated # Corresponds to the JSON property `timestamp` # @return [String] attr_accessor :timestamp def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @count = args[:count] if args.key?(:count) @timestamp = args[:timestamp] if args.key?(:timestamp) end end # The state that the future reservation will be reverted to should the # amendment be declined. class FutureReservationStatusLastKnownGoodState include Google::Apis::Core::Hashable # Output only. [Output Only] The description of the FutureReservation before an # amendment was requested. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Output Only] Represents the existing matching usage for the future # reservation. # Corresponds to the JSON property `existingMatchingUsageInfo` # @return [Google::Apis::ComputeV1::FutureReservationStatusExistingMatchingUsageInfo] attr_accessor :existing_matching_usage_info # The properties of the last known good state for the Future Reservation. # Corresponds to the JSON property `futureReservationSpecs` # @return [Google::Apis::ComputeV1::FutureReservationStatusLastKnownGoodStateFutureReservationSpecs] attr_accessor :future_reservation_specs # Output only. [Output Only] The lock time of the FutureReservation before an # amendment was requested. # Corresponds to the JSON property `lockTime` # @return [String] attr_accessor :lock_time # Output only. [Output Only] The name prefix of the Future Reservation before an # amendment was requested. # Corresponds to the JSON property `namePrefix` # @return [String] attr_accessor :name_prefix # Output only. [Output Only] The status of the last known good state for the # Future # Reservation. # Corresponds to the JSON property `procurementStatus` # @return [String] attr_accessor :procurement_status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @existing_matching_usage_info = args[:existing_matching_usage_info] if args.key?(:existing_matching_usage_info) @future_reservation_specs = args[:future_reservation_specs] if args.key?(:future_reservation_specs) @lock_time = args[:lock_time] if args.key?(:lock_time) @name_prefix = args[:name_prefix] if args.key?(:name_prefix) @procurement_status = args[:procurement_status] if args.key?(:procurement_status) end end # The properties of the last known good state for the Future Reservation. class FutureReservationStatusLastKnownGoodStateFutureReservationSpecs include Google::Apis::Core::Hashable # The share setting for reservations and sole tenancy node groups. # Corresponds to the JSON property `shareSettings` # @return [Google::Apis::ComputeV1::ShareSettings] attr_accessor :share_settings # Output only. [Output Only] The previous instance related properties of the # Future Reservation. # Corresponds to the JSON property `specificSkuProperties` # @return [Google::Apis::ComputeV1::FutureReservationSpecificSkuProperties] attr_accessor :specific_sku_properties # Output only. [Output Only] The previous time window of the Future Reservation. # Corresponds to the JSON property `timeWindow` # @return [Google::Apis::ComputeV1::FutureReservationTimeWindow] attr_accessor :time_window def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @share_settings = args[:share_settings] if args.key?(:share_settings) @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties) @time_window = args[:time_window] if args.key?(:time_window) end end # Properties to be set for the Future Reservation. class FutureReservationStatusSpecificSkuProperties include Google::Apis::Core::Hashable # ID of the instance template used to populate the Future Reservation # properties. # Corresponds to the JSON property `sourceInstanceTemplateId` # @return [String] attr_accessor :source_instance_template_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @source_instance_template_id = args[:source_instance_template_id] if args.key?(:source_instance_template_id) end end # class FutureReservationTimeWindow include Google::Apis::Core::Hashable # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `duration` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :duration # # Corresponds to the JSON property `endTime` # @return [String] attr_accessor :end_time # Start time of the Future Reservation. The start_time is an RFC3339 # string. # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @duration = args[:duration] if args.key?(:duration) @end_time = args[:end_time] if args.key?(:end_time) @start_time = args[:start_time] if args.key?(:start_time) end end # Contains a list of future reservations. class FutureReservationsAggregatedListResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Future reservation resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # futureReservationsAggregatedListResponse for future # resevation aggregated list response. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::FutureReservationsAggregatedListResponse::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class FutureReservationsListResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # [Output Only] A list of future reservation resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource.Alwayscompute# # FutureReservationsListResponse for lists of # reservations # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::FutureReservationsListResponse::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class FutureReservationsScopedList include Google::Apis::Core::Hashable # A list of future reservations contained in this scope. # Corresponds to the JSON property `futureReservations` # @return [Array] attr_accessor :future_reservations # Informational warning which replaces the list of future reservations when # the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::FutureReservationsScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @future_reservations = args[:future_reservations] if args.key?(:future_reservations) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of future reservations when # the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Recommendation for single resources specification, to be created in the # future. class FutureResourcesRecommendation include Google::Apis::Core::Hashable # # Corresponds to the JSON property `endTime` # @return [String] attr_accessor :end_time # The advised location for resource usage. When a zone, in format # 'zones/'. # If not set, it means that no location is recommended - see # other_locations for details. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location # List of locations in the request scope that were not # recommended. Keys of the map are zones, in format 'zones/'. # The values are status information indicating the recommendation status. # Corresponds to the JSON property `otherLocations` # @return [Hash] attr_accessor :other_locations # Unique id of the recommendation, a UUID string generated by the API. # Corresponds to the JSON property `recommendationId` # @return [String] attr_accessor :recommendation_id # Type of recommendation. Currently only FUTURE_RESERVATION is supported. # Corresponds to the JSON property `recommendationType` # @return [String] attr_accessor :recommendation_type # # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @end_time = args[:end_time] if args.key?(:end_time) @location = args[:location] if args.key?(:location) @other_locations = args[:other_locations] if args.key?(:other_locations) @recommendation_id = args[:recommendation_id] if args.key?(:recommendation_id) @recommendation_type = args[:recommendation_type] if args.key?(:recommendation_type) @start_time = args[:start_time] if args.key?(:start_time) end end # Information about recommendation status for locations # that were allowed but not used by the response. class FutureResourcesRecommendationOtherLocation include Google::Apis::Core::Hashable # Details (human readable) describing the situation. # For example, if status is CONDITION_NOT_MET, then # details contain information about the parameters of the time window # that did not meet the required conditions. # Corresponds to the JSON property `details` # @return [String] attr_accessor :details # Status of recommendation in this location. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @details = args[:details] if args.key?(:details) @status = args[:status] if args.key?(:status) end end # Specification of resources to be created at some time in the future within an # optionally specified set of locations, and within the specified time range. class FutureResourcesSpec include Google::Apis::Core::Hashable # Indicates if the reservation allocation strategy is static (DENSE) or # dynamic (STANDARD). Defaults to DENSE. # Corresponds to the JSON property `deploymentType` # @return [String] attr_accessor :deployment_type # Specification of locations to create resources in. # Corresponds to the JSON property `locationPolicy` # @return [Google::Apis::ComputeV1::FutureResourcesSpecLocationPolicy] attr_accessor :location_policy # Specification of reserved resources. # Corresponds to the JSON property `targetResources` # @return [Google::Apis::ComputeV1::FutureResourcesSpecTargetResources] attr_accessor :target_resources # Specifies a flexible time range with flexible start time and duration. # It is possible to specify a contradictory time range that cannot be matched # by any Interval. This causes a validation error. # Corresponds to the JSON property `timeRangeSpec` # @return [Google::Apis::ComputeV1::FlexibleTimeRange] attr_accessor :time_range_spec def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @deployment_type = args[:deployment_type] if args.key?(:deployment_type) @location_policy = args[:location_policy] if args.key?(:location_policy) @target_resources = args[:target_resources] if args.key?(:target_resources) @time_range_spec = args[:time_range_spec] if args.key?(:time_range_spec) end end # class FutureResourcesSpecAggregateResources include Google::Apis::Core::Hashable # Size of the request, in accelerator (chip) count. # Corresponds to the JSON property `acceleratorCount` # @return [Fixnum] attr_accessor :accelerator_count # The VM family that all instances scheduled against this reservation # must belong to. Use for TPU reservations. # Corresponds to the JSON property `vmFamily` # @return [String] attr_accessor :vm_family # Workload type. Use for TPU reservations. # Corresponds to the JSON property `workloadType` # @return [String] attr_accessor :workload_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @accelerator_count = args[:accelerator_count] if args.key?(:accelerator_count) @vm_family = args[:vm_family] if args.key?(:vm_family) @workload_type = args[:workload_type] if args.key?(:workload_type) end end # class FutureResourcesSpecLocalSsdPartition include Google::Apis::Core::Hashable # Disk interface. Defaults to SCSI. # Corresponds to the JSON property `diskInterface` # @return [String] attr_accessor :disk_interface # The size of the disk in GB. # Corresponds to the JSON property `diskSizeGb` # @return [Fixnum] attr_accessor :disk_size_gb def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disk_interface = args[:disk_interface] if args.key?(:disk_interface) @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) end end # Specification of locations to create resources in. class FutureResourcesSpecLocationPolicy include Google::Apis::Core::Hashable # Preferences for specified locations. # Keys of the map are locations - zones, in format of 'zones/'. # Values are preferences for the zones. # If a zone is not specified in this map, it is ALLOWed. # Corresponds to the JSON property `locations` # @return [Hash] attr_accessor :locations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @locations = args[:locations] if args.key?(:locations) end end # Preference for a single specified location. class FutureResourcesSpecLocationPolicyLocation include Google::Apis::Core::Hashable # Preference for this location. # Corresponds to the JSON property `preference` # @return [String] attr_accessor :preference def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @preference = args[:preference] if args.key?(:preference) end end # class FutureResourcesSpecSpecificSkuResources include Google::Apis::Core::Hashable # Size of the request, in instance count. # Corresponds to the JSON property `instanceCount` # @return [Fixnum] attr_accessor :instance_count # Local SSD partitions. You do not have to include SSD partitions that # are built in the machine type. # Corresponds to the JSON property `localSsdPartitions` # @return [Array] attr_accessor :local_ssd_partitions # The machine type to use for instances that will use the reservation. # This field only accepts machine type names. e.g. n2-standard-4 # and does not accept machine type full or partial url. e.g. # projects/my-l7ilb-project/zones/us-central1-a/machineTypes/n2-standard-4. # Use for GPU reservations. # Corresponds to the JSON property `machineType` # @return [String] attr_accessor :machine_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_count = args[:instance_count] if args.key?(:instance_count) @local_ssd_partitions = args[:local_ssd_partitions] if args.key?(:local_ssd_partitions) @machine_type = args[:machine_type] if args.key?(:machine_type) end end # Specification of reserved resources. class FutureResourcesSpecTargetResources include Google::Apis::Core::Hashable # # Corresponds to the JSON property `aggregateResources` # @return [Google::Apis::ComputeV1::FutureResourcesSpecAggregateResources] attr_accessor :aggregate_resources # # Corresponds to the JSON property `specificSkuResources` # @return [Google::Apis::ComputeV1::FutureResourcesSpecSpecificSkuResources] attr_accessor :specific_sku_resources def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @aggregate_resources = args[:aggregate_resources] if args.key?(:aggregate_resources) @specific_sku_resources = args[:specific_sku_resources] if args.key?(:specific_sku_resources) end end # class GrpcHealthCheck include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `grpcServiceName` # @return [String] attr_accessor :grpc_service_name # The TCP port number to which the health check prober sends packets. Valid # values are 1 through 65535. # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port # Not supported. # Corresponds to the JSON property `portName` # @return [String] attr_accessor :port_name # 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 theport 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. # Corresponds to the JSON property `portSpecification` # @return [String] attr_accessor :port_specification def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @grpc_service_name = args[:grpc_service_name] if args.key?(:grpc_service_name) @port = args[:port] if args.key?(:port) @port_name = args[:port_name] if args.key?(:port_name) @port_specification = args[:port_specification] if args.key?(:port_specification) end end # class GrpctlsHealthCheck include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `grpcServiceName` # @return [String] attr_accessor :grpc_service_name # The TCP port number to which the health check prober sends packets. Valid # values are 1 through 65535. # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port # 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 theport 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. # Corresponds to the JSON property `portSpecification` # @return [String] attr_accessor :port_specification def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @grpc_service_name = args[:grpc_service_name] if args.key?(:grpc_service_name) @port = args[:port] if args.key?(:port) @port_specification = args[:port_specification] if args.key?(:port_specification) end end # class GlobalAddressesMoveRequest include Google::Apis::Core::Hashable # An optional destination address description if intended to be different # from the source. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # 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. # Corresponds to the JSON property `destinationAddress` # @return [String] attr_accessor :destination_address def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @destination_address = args[:destination_address] if args.key?(:destination_address) end end # class GlobalNetworkEndpointGroupsAttachEndpointsRequest include Google::Apis::Core::Hashable # The list of network endpoints to be attached. # Corresponds to the JSON property `networkEndpoints` # @return [Array] attr_accessor :network_endpoints def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @network_endpoints = args[:network_endpoints] if args.key?(:network_endpoints) end end # class GlobalNetworkEndpointGroupsDetachEndpointsRequest include Google::Apis::Core::Hashable # The list of network endpoints to be detached. # Corresponds to the JSON property `networkEndpoints` # @return [Array] attr_accessor :network_endpoints def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @network_endpoints = args[:network_endpoints] if args.key?(:network_endpoints) end end # class GlobalOrganizationSetPolicyRequest include Google::Apis::Core::Hashable # Flatten Policy to create a backward compatible wire-format. # Deprecated. Use 'policy' to specify bindings. # Corresponds to the JSON property `bindings` # @return [Array] attr_accessor :bindings # Flatten Policy to create a backward compatible wire-format. # Deprecated. Use 'policy' to specify the etag. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :etag # 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/). # Corresponds to the JSON property `policy` # @return [Google::Apis::ComputeV1::Policy] attr_accessor :policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bindings = args[:bindings] if args.key?(:bindings) @etag = args[:etag] if args.key?(:etag) @policy = args[:policy] if args.key?(:policy) end end # class GlobalSetLabelsRequest include Google::Apis::Core::Hashable # The fingerprint of the previous set of labels for this resource, # used to detect conflicts. 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 when updating or changing # labels, otherwise the request will fail with error412 conditionNotMet. Make a # get() request to the # resource to get the latest fingerprint. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # A list of labels to apply for this resource. Each label must comply with # the # requirements for labels. For example,"webserver-frontend": "images". A label # value can also be # empty (e.g. "my-label": ""). # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) end end # class GlobalSetPolicyRequest include Google::Apis::Core::Hashable # Flatten Policy to create a backward compatible wire-format. # Deprecated. Use 'policy' to specify bindings. # Corresponds to the JSON property `bindings` # @return [Array] attr_accessor :bindings # Flatten Policy to create a backward compatible wire-format. # Deprecated. Use 'policy' to specify the etag. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :etag # 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/). # Corresponds to the JSON property `policy` # @return [Google::Apis::ComputeV1::Policy] attr_accessor :policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bindings = args[:bindings] if args.key?(:bindings) @etag = args[:etag] if args.key?(:etag) @policy = args[:policy] if args.key?(:policy) end end # Maintenance Info for ReservationBlocks. class GroupMaintenanceInfo include Google::Apis::Core::Hashable # Describes number of instances that have ongoing maintenance. # Corresponds to the JSON property `instanceMaintenanceOngoingCount` # @return [Fixnum] attr_accessor :instance_maintenance_ongoing_count # Describes number of instances that have pending maintenance. # Corresponds to the JSON property `instanceMaintenancePendingCount` # @return [Fixnum] attr_accessor :instance_maintenance_pending_count # Progress for ongoing maintenance for this group of VMs/hosts. # Describes number of hosts in the block that have ongoing maintenance. # Corresponds to the JSON property `maintenanceOngoingCount` # @return [Fixnum] attr_accessor :maintenance_ongoing_count # Progress for ongoing maintenance for this group of VMs/hosts. # Describes number of hosts in the block that have pending maintenance. # Corresponds to the JSON property `maintenancePendingCount` # @return [Fixnum] attr_accessor :maintenance_pending_count # The type of maintenance for the reservation. # Corresponds to the JSON property `schedulingType` # @return [String] attr_accessor :scheduling_type # Describes number of subblock Infrastructure that has ongoing maintenance. # Here, Subblock Infrastructure Maintenance pertains to upstream hardware # contained in the Subblock that is necessary for a VM Family(e.g. NVLink # Domains). Not all VM Families will support this field. # Corresponds to the JSON property `subblockInfraMaintenanceOngoingCount` # @return [Fixnum] attr_accessor :subblock_infra_maintenance_ongoing_count # Describes number of subblock Infrastructure that has pending maintenance. # Here, Subblock Infrastructure Maintenance pertains to upstream hardware # contained in the Subblock that is necessary for a VM Family (e.g. NVLink # Domains). Not all VM Families will support this field. # Corresponds to the JSON property `subblockInfraMaintenancePendingCount` # @return [Fixnum] attr_accessor :subblock_infra_maintenance_pending_count # Upcoming Maintenance notification information. # Corresponds to the JSON property `upcomingGroupMaintenance` # @return [Google::Apis::ComputeV1::UpcomingMaintenance] attr_accessor :upcoming_group_maintenance def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_maintenance_ongoing_count = args[:instance_maintenance_ongoing_count] if args.key?(:instance_maintenance_ongoing_count) @instance_maintenance_pending_count = args[:instance_maintenance_pending_count] if args.key?(:instance_maintenance_pending_count) @maintenance_ongoing_count = args[:maintenance_ongoing_count] if args.key?(:maintenance_ongoing_count) @maintenance_pending_count = args[:maintenance_pending_count] if args.key?(:maintenance_pending_count) @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type) @subblock_infra_maintenance_ongoing_count = args[:subblock_infra_maintenance_ongoing_count] if args.key?(:subblock_infra_maintenance_ongoing_count) @subblock_infra_maintenance_pending_count = args[:subblock_infra_maintenance_pending_count] if args.key?(:subblock_infra_maintenance_pending_count) @upcoming_group_maintenance = args[:upcoming_group_maintenance] if args.key?(:upcoming_group_maintenance) end end # A guest attributes entry. class GuestAttributes include Google::Apis::Core::Hashable # Output only. [Output Only] Type of the resource. Alwayscompute#guestAttributes # for guest attributes entry. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The path to be queried. This can be the default namespace ('') or a # nested namespace ('\/') or a specified key # ('\/\'). # Corresponds to the JSON property `queryPath` # @return [String] attr_accessor :query_path # Array of guest attribute namespace/key/value tuples. # Corresponds to the JSON property `queryValue` # @return [Google::Apis::ComputeV1::GuestAttributesValue] attr_accessor :query_value # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # The key to search for. # Corresponds to the JSON property `variableKey` # @return [String] attr_accessor :variable_key # Output only. [Output Only] The value found for the requested key. # Corresponds to the JSON property `variableValue` # @return [String] attr_accessor :variable_value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kind = args[:kind] if args.key?(:kind) @query_path = args[:query_path] if args.key?(:query_path) @query_value = args[:query_value] if args.key?(:query_value) @self_link = args[:self_link] if args.key?(:self_link) @variable_key = args[:variable_key] if args.key?(:variable_key) @variable_value = args[:variable_value] if args.key?(:variable_value) end end # A guest attributes namespace/key/value entry. class GuestAttributesEntry include Google::Apis::Core::Hashable # Key for the guest attribute entry. # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # Namespace for the guest attribute entry. # Corresponds to the JSON property `namespace` # @return [String] attr_accessor :namespace # Value for the guest attribute entry. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @namespace = args[:namespace] if args.key?(:namespace) @value = args[:value] if args.key?(:value) end end # Array of guest attribute namespace/key/value tuples. class GuestAttributesValue include Google::Apis::Core::Hashable # # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) end end # Guest OS features. class GuestOsFeature include Google::Apis::Core::Hashable # 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 # - SNP_SVSM_CAPABLE # For more information, see # Enabling guest operating system features. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @type = args[:type] if args.key?(:type) end end # class Http2HealthCheck include Google::Apis::Core::Hashable # 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 # Corresponds to the JSON property `host` # @return [String] attr_accessor :host # The TCP port number to which the health check prober sends packets. The # default value is 443. Valid values are 1 through65535. # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port # Not supported. # Corresponds to the JSON property `portName` # @return [String] attr_accessor :port_name # 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 theport 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. # Corresponds to the JSON property `portSpecification` # @return [String] attr_accessor :port_specification # Specifies the type of proxy header to append before sending data to the # backend, either NONE or PROXY_V1. The default # is NONE. # Corresponds to the JSON property `proxyHeader` # @return [String] attr_accessor :proxy_header # The request path of the HTTP/2 health check request. The default value is/. # Must comply withRFC3986. # Corresponds to the JSON property `requestPath` # @return [String] attr_accessor :request_path # 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 # Corresponds to the JSON property `response` # @return [String] attr_accessor :response def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @host = args[:host] if args.key?(:host) @port = args[:port] if args.key?(:port) @port_name = args[:port_name] if args.key?(:port_name) @port_specification = args[:port_specification] if args.key?(:port_specification) @proxy_header = args[:proxy_header] if args.key?(:proxy_header) @request_path = args[:request_path] if args.key?(:request_path) @response = args[:response] if args.key?(:response) end end # class HttpHealthCheck include Google::Apis::Core::Hashable # 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 # Corresponds to the JSON property `host` # @return [String] attr_accessor :host # The TCP port number to which the health check prober sends packets. The # default value is 80. Valid values are 1 through65535. # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port # Not supported. # Corresponds to the JSON property `portName` # @return [String] attr_accessor :port_name # 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 theport 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. # Corresponds to the JSON property `portSpecification` # @return [String] attr_accessor :port_specification # Specifies the type of proxy header to append before sending data to the # backend, either NONE or PROXY_V1. The default # is NONE. # Corresponds to the JSON property `proxyHeader` # @return [String] attr_accessor :proxy_header # The request path of the HTTP health check request. The default value is/. Must # comply withRFC3986. # Corresponds to the JSON property `requestPath` # @return [String] attr_accessor :request_path # 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 # Corresponds to the JSON property `response` # @return [String] attr_accessor :response def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @host = args[:host] if args.key?(:host) @port = args[:port] if args.key?(:port) @port_name = args[:port_name] if args.key?(:port_name) @port_specification = args[:port_specification] if args.key?(:port_specification) @proxy_header = args[:proxy_header] if args.key?(:proxy_header) @request_path = args[:request_path] if args.key?(:request_path) @response = args[:response] if args.key?(:response) end end # class HttpsHealthCheck include Google::Apis::Core::Hashable # 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 # Corresponds to the JSON property `host` # @return [String] attr_accessor :host # The TCP port number to which the health check prober sends packets. The # default value is 443. Valid values are 1 through65535. # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port # Not supported. # Corresponds to the JSON property `portName` # @return [String] attr_accessor :port_name # 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 theport 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. # Corresponds to the JSON property `portSpecification` # @return [String] attr_accessor :port_specification # Specifies the type of proxy header to append before sending data to the # backend, either NONE or PROXY_V1. The default # is NONE. # Corresponds to the JSON property `proxyHeader` # @return [String] attr_accessor :proxy_header # The request path of the HTTPS health check request. The default value is/. # Must comply withRFC3986. # Corresponds to the JSON property `requestPath` # @return [String] attr_accessor :request_path # 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 # Corresponds to the JSON property `response` # @return [String] attr_accessor :response def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @host = args[:host] if args.key?(:host) @port = args[:port] if args.key?(:port) @port_name = args[:port_name] if args.key?(:port_name) @port_specification = args[:port_specification] if args.key?(:port_specification) @proxy_header = args[:proxy_header] if args.key?(:proxy_header) @request_path = args[:request_path] if args.key?(:request_path) @response = args[:response] if args.key?(:response) end end # 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, seeHealth checks # overview. class HealthCheck include Google::Apis::Core::Hashable # How often (in seconds) to send a health check. The default value is 5 # seconds. # Corresponds to the JSON property `checkIntervalSec` # @return [Fixnum] attr_accessor :check_interval_sec # Output only. [Output Only] Creation timestamp in3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # # Corresponds to the JSON property `grpcHealthCheck` # @return [Google::Apis::ComputeV1::GrpcHealthCheck] attr_accessor :grpc_health_check # # Corresponds to the JSON property `grpcTlsHealthCheck` # @return [Google::Apis::ComputeV1::GrpctlsHealthCheck] attr_accessor :grpc_tls_health_check # A so-far unhealthy instance will be marked healthy after this # many consecutive successes. The default value is 2. # Corresponds to the JSON property `healthyThreshold` # @return [Fixnum] attr_accessor :healthy_threshold # # Corresponds to the JSON property `http2HealthCheck` # @return [Google::Apis::ComputeV1::Http2HealthCheck] attr_accessor :http2_health_check # # Corresponds to the JSON property `httpHealthCheck` # @return [Google::Apis::ComputeV1::HttpHealthCheck] attr_accessor :http_health_check # # Corresponds to the JSON property `httpsHealthCheck` # @return [Google::Apis::ComputeV1::HttpsHealthCheck] attr_accessor :https_health_check # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. Type of the resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Configuration of logging on a health check. If logging is enabled, logs # will be exported to Stackdriver. # Corresponds to the JSON property `logConfig` # @return [Google::Apis::ComputeV1::HealthCheckLogConfig] attr_accessor :log_config # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # For example, a name that is 1-63 characters long, matches the regular # expression `[a-z]([-a-z0-9]*[a-z0-9])?`, and otherwise complies with # RFC1035. This regular expression describes a name where the first # character is a lowercase letter, and all following characters are a dash, # lowercase letter, or digit, except the last character, which isn't a dash. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] Region where the health check resides. Not # applicable to # global health checks. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # The list of cloud regions from which health checks are performed. If any # regions are specified, then exactly 3 regions should be specified. The # region names must be valid names of Google Cloud regions. # This can only be set for global health check. # If this list is non-empty, then there are restrictions # on what other health check fields are supported and what other resources # can use this health check: # # - SSL, HTTP2, and GRPC protocols are not supported. # - The TCP request field is not supported. # - The proxyHeader field for HTTP, HTTPS, and TCP is not # supported. # - The checkIntervalSec field must be at least 30. # - The health check cannot be used with BackendService nor with managed # instance group auto-healing. # Corresponds to the JSON property `sourceRegions` # @return [Array] attr_accessor :source_regions # # Corresponds to the JSON property `sslHealthCheck` # @return [Google::Apis::ComputeV1::SslHealthCheck] attr_accessor :ssl_health_check # # Corresponds to the JSON property `tcpHealthCheck` # @return [Google::Apis::ComputeV1::TcpHealthCheck] attr_accessor :tcp_health_check # 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. # Corresponds to the JSON property `timeoutSec` # @return [Fixnum] attr_accessor :timeout_sec # Specifies the type of the healthCheck, either TCP,SSL, HTTP, HTTPS,HTTP2 or # GRPC. Exactly one of the # protocol-specific health check fields must be specified, which must matchtype # field. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # A so-far healthy instance will be marked unhealthy after this many # consecutive failures. The default value is 2. # Corresponds to the JSON property `unhealthyThreshold` # @return [Fixnum] attr_accessor :unhealthy_threshold def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @check_interval_sec = args[:check_interval_sec] if args.key?(:check_interval_sec) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @grpc_health_check = args[:grpc_health_check] if args.key?(:grpc_health_check) @grpc_tls_health_check = args[:grpc_tls_health_check] if args.key?(:grpc_tls_health_check) @healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold) @http2_health_check = args[:http2_health_check] if args.key?(:http2_health_check) @http_health_check = args[:http_health_check] if args.key?(:http_health_check) @https_health_check = args[:https_health_check] if args.key?(:https_health_check) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @log_config = args[:log_config] if args.key?(:log_config) @name = args[:name] if args.key?(:name) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @source_regions = args[:source_regions] if args.key?(:source_regions) @ssl_health_check = args[:ssl_health_check] if args.key?(:ssl_health_check) @tcp_health_check = args[:tcp_health_check] if args.key?(:tcp_health_check) @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec) @type = args[:type] if args.key?(:type) @unhealthy_threshold = args[:unhealthy_threshold] if args.key?(:unhealthy_threshold) end end # Contains a list of HealthCheck resources. class HealthCheckList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of HealthCheck resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::HealthCheckList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Configuration of logging on a health check. If logging is enabled, logs # will be exported to Stackdriver. class HealthCheckLogConfig include Google::Apis::Core::Hashable # Indicates whether or not to export logs. This is false by default, which # means no health check logging will be done. # Corresponds to the JSON property `enable` # @return [Boolean] attr_accessor :enable alias_method :enable?, :enable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @enable = args[:enable] if args.key?(:enable) end end # A full or valid partial URL to a health check. For example, the following are # valid URLs: # # - https://www.googleapis.com/compute/beta/projects/project-id/global/ # httpHealthChecks/health-check # - projects/project-id/global/httpHealthChecks/health-check # - global/httpHealthChecks/health-check class HealthCheckReference include Google::Apis::Core::Hashable # # Corresponds to the JSON property `healthCheck` # @return [String] attr_accessor :health_check def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @health_check = args[:health_check] if args.key?(:health_check) end end # Represents a Health-Check as a Service resource. class HealthCheckService include Google::Apis::Core::Hashable # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # 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. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # A list of URLs to the HealthCheck resources. Must have # at least one HealthCheck, and not more than 10 for regionalHealthCheckService, # and not more than 1 for globalHealthCheckService.HealthCheck resources must # haveportSpecification=USE_SERVING_PORT orportSpecification=USE_FIXED_PORT. For # regional HealthCheckService, theHealthCheck must be regional and in the same # region. For global HealthCheckService,HealthCheck must be global. Mix of # regional and globalHealthChecks is not supported. Multiple # regionalHealthChecks must belong to the same region. RegionalHealthChecks must # belong to the same region as zones ofNetworkEndpointGroups. For # globalHealthCheckService using globalINTERNET_IP_PORT NetworkEndpointGroups, # the # global HealthChecks must specify sourceRegions, # and HealthChecks that specify sourceRegions can # only be used with global INTERNET_IP_PORTNetworkEndpointGroups. # Corresponds to the JSON property `healthChecks` # @return [Array] attr_accessor :health_checks # 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 reportsUNHEALTHY, then UNHEALTHY # is theHealthState of the endpoint. If all health checks reportHEALTHY, the # HealthState of the endpoint isHEALTHY. # . # This is only allowed with regional HealthCheckService. # Corresponds to the JSON property `healthStatusAggregationPolicy` # @return [String] attr_accessor :health_status_aggregation_policy # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output only] Type of the resource. Alwayscompute# # healthCheckServicefor health check services. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # A list of URLs to the NetworkEndpointGroup # resources. Must not have more than 100. For regionalHealthCheckService, NEGs # must be in # zones in the region of the HealthCheckService. For globalHealthCheckServices, # the NetworkEndpointGroups # must be global INTERNET_IP_PORT. # Corresponds to the JSON property `networkEndpointGroups` # @return [Array] attr_accessor :network_endpoint_groups # 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 # regionalHealthCheckService,NotificationEndpoint must be regional and in the # same region. For global HealthCheckService,NotificationEndpoint must be global. # Corresponds to the JSON property `notificationEndpoints` # @return [Array] attr_accessor :notification_endpoints # Output only. [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. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @health_checks = args[:health_checks] if args.key?(:health_checks) @health_status_aggregation_policy = args[:health_status_aggregation_policy] if args.key?(:health_status_aggregation_policy) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @network_endpoint_groups = args[:network_endpoint_groups] if args.key?(:network_endpoint_groups) @notification_endpoints = args[:notification_endpoints] if args.key?(:notification_endpoints) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) end end # A full or valid partial URL to a health check service. For example, the # following are valid URLs: # # - https://www.googleapis.com/compute/beta/projects/project-id/regions/us- # west1/healthCheckServices/health-check-service # - projects/project-id/regions/us-west1/healthCheckServices/health-check- # service # - regions/us-west1/healthCheckServices/health-check-service class HealthCheckServiceReference include Google::Apis::Core::Hashable # # Corresponds to the JSON property `healthCheckService` # @return [String] attr_accessor :health_check_service def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @health_check_service = args[:health_check_service] if args.key?(:health_check_service) end end # class HealthCheckServicesList include Google::Apis::Core::Hashable # Output only. [Output Only] Unique identifier for the resource; defined by the # server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Output only. A list of HealthCheckService resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of the resource. Alwayscompute# # healthCheckServicesList for lists of # HealthCheckServices. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::HealthCheckServicesList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class HealthChecksAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of HealthChecksScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::HealthChecksAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class HealthChecksScopedList include Google::Apis::Core::Hashable # A list of HealthChecks contained in this scope. # Corresponds to the JSON property `healthChecks` # @return [Array] attr_accessor :health_checks # Informational warning which replaces the list of # backend services when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::HealthChecksScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @health_checks = args[:health_checks] if args.key?(:health_checks) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of # backend services when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class HealthStatus include Google::Apis::Core::Hashable # Metadata defined as annotations for network endpoint. # Corresponds to the JSON property `annotations` # @return [Hash] attr_accessor :annotations # URL of the forwarding rule associated with the health status of the # instance. # Corresponds to the JSON property `forwardingRule` # @return [String] attr_accessor :forwarding_rule # A forwarding rule IP address assigned to this instance. # Corresponds to the JSON property `forwardingRuleIp` # @return [String] attr_accessor :forwarding_rule_ip # Health state of the IPv4 address of the instance. # Corresponds to the JSON property `healthState` # @return [String] attr_accessor :health_state # URL of the instance resource. # Corresponds to the JSON property `instance` # @return [String] attr_accessor :instance # 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. # Corresponds to the JSON property `ipAddress` # @return [String] attr_accessor :ip_address # # Corresponds to the JSON property `ipv6Address` # @return [String] attr_accessor :ipv6_address # Health state of the IPv6 address of the instance. # Corresponds to the JSON property `ipv6HealthState` # @return [String] attr_accessor :ipv6_health_state # The named port of the instance group, not necessarily the port that is # health-checked. # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port # # Corresponds to the JSON property `weight` # @return [String] attr_accessor :weight # # Corresponds to the JSON property `weightError` # @return [String] attr_accessor :weight_error def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @annotations = args[:annotations] if args.key?(:annotations) @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule) @forwarding_rule_ip = args[:forwarding_rule_ip] if args.key?(:forwarding_rule_ip) @health_state = args[:health_state] if args.key?(:health_state) @instance = args[:instance] if args.key?(:instance) @ip_address = args[:ip_address] if args.key?(:ip_address) @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address) @ipv6_health_state = args[:ipv6_health_state] if args.key?(:ipv6_health_state) @port = args[:port] if args.key?(:port) @weight = args[:weight] if args.key?(:weight) @weight_error = args[:weight_error] if args.key?(:weight_error) end end # class HealthStatusForNetworkEndpoint include Google::Apis::Core::Hashable # URL of the backend service associated with the health state of the network # endpoint. # Corresponds to the JSON property `backendService` # @return [Google::Apis::ComputeV1::BackendServiceReference] attr_accessor :backend_service # URL of the forwarding rule associated with the health state of the network # endpoint. # Corresponds to the JSON property `forwardingRule` # @return [Google::Apis::ComputeV1::ForwardingRuleReference] attr_accessor :forwarding_rule # A full or valid partial URL to a health check. For example, the following are # valid URLs: # # - https://www.googleapis.com/compute/beta/projects/project-id/global/ # httpHealthChecks/health-check # - projects/project-id/global/httpHealthChecks/health-check # - global/httpHealthChecks/health-check # Corresponds to the JSON property `healthCheck` # @return [Google::Apis::ComputeV1::HealthCheckReference] attr_accessor :health_check # A full or valid partial URL to a health check service. For example, the # following are valid URLs: # # - https://www.googleapis.com/compute/beta/projects/project-id/regions/us- # west1/healthCheckServices/health-check-service # - projects/project-id/regions/us-west1/healthCheckServices/health-check- # service # - regions/us-west1/healthCheckServices/health-check-service # Corresponds to the JSON property `healthCheckService` # @return [Google::Apis::ComputeV1::HealthCheckServiceReference] attr_accessor :health_check_service # Health state of the network endpoint determined based on the health checks # configured. # Corresponds to the JSON property `healthState` # @return [String] attr_accessor :health_state # Health state of the ipv6 network endpoint determined based on the health # checks configured. # Corresponds to the JSON property `ipv6HealthState` # @return [String] attr_accessor :ipv6_health_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @backend_service = args[:backend_service] if args.key?(:backend_service) @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule) @health_check = args[:health_check] if args.key?(:health_check) @health_check_service = args[:health_check_service] if args.key?(:health_check_service) @health_state = args[:health_state] if args.key?(:health_state) @ipv6_health_state = args[:ipv6_health_state] if args.key?(:ipv6_health_state) end end # Provides links to documentation or for performing an out of band action. # For example, if a quota check failed with an error indicating the calling # project hasn't enabled the accessed service, this can contain a URL pointing # directly to the right place in the developer console to flip the bit. class Help include Google::Apis::Core::Hashable # URL(s) pointing to additional information on handling the current error. # Corresponds to the JSON property `links` # @return [Array] attr_accessor :links def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @links = args[:links] if args.key?(:links) end end # Describes a URL link. class HelpLink include Google::Apis::Core::Hashable # Describes what the link offers. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The URL of the link. # Corresponds to the JSON property `url` # @return [String] attr_accessor :url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @url = args[:url] if args.key?(:url) end end # UrlMaps # A host-matching rule for a URL. If matched, will use the namedPathMatcher to # select the BackendService. class HostRule include Google::Apis::Core::Hashable # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The list of host patterns to match. They must be valid hostnames with # optional port numbers in the format host:port.* matches any string of ([a-z0-9- # .]*). In # that case, * must be the first character, and if followed by # anything, the immediate following character must be either - # or .. # * based matching is not supported when the URL map is bound # to a target gRPC proxy that has the validateForProxyless field # set to true. # Corresponds to the JSON property `hosts` # @return [Array] attr_accessor :hosts # The name of the PathMatcher to use to match the path portion # of the URL if the hostRule matches the URL's host portion. # Corresponds to the JSON property `pathMatcher` # @return [String] attr_accessor :path_matcher def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @hosts = args[:hosts] if args.key?(:hosts) @path_matcher = args[:path_matcher] if args.key?(:path_matcher) end end # Specification for how requests are aborted as part of fault injection. class HttpFaultAbort include Google::Apis::Core::Hashable # The HTTP status code used to abort the request. # The value must be from 200 to 599 inclusive. # For gRPC protocol, the gRPC status code is mapped to HTTP status code # according to this # mapping table. HTTP status 200 is mapped to gRPC status # UNKNOWN. Injecting an OK status is currently not supported by # Traffic Director. # Corresponds to the JSON property `httpStatus` # @return [Fixnum] attr_accessor :http_status # The percentage of traffic for connections, operations, or requests # that is aborted as part of fault injection. # The value must be from 0.0 to 100.0 inclusive. # Corresponds to the JSON property `percentage` # @return [Float] attr_accessor :percentage def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @http_status = args[:http_status] if args.key?(:http_status) @percentage = args[:percentage] if args.key?(:percentage) end end # Specifies the delay introduced by the load balancer before forwarding the # request to the backend service as part of fault injection. class HttpFaultDelay include Google::Apis::Core::Hashable # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `fixedDelay` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :fixed_delay # The percentage of traffic for connections, operations, or requests for # which a delay is introduced as part of fault injection. # The value must be from 0.0 to 100.0 inclusive. # Corresponds to the JSON property `percentage` # @return [Float] attr_accessor :percentage def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fixed_delay = args[:fixed_delay] if args.key?(:fixed_delay) @percentage = args[:percentage] if args.key?(:percentage) end end # 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 the load balancer on a percentage of requests before sending # those request to the backend service. Similarly requests from clients can be # aborted by the load balancer for a percentage of requests. class HttpFaultInjection include Google::Apis::Core::Hashable # Specification for how requests are aborted as part of fault injection. # Corresponds to the JSON property `abort` # @return [Google::Apis::ComputeV1::HttpFaultAbort] attr_accessor :abort # Specifies the delay introduced by the load balancer before forwarding the # request to the backend service as part of fault injection. # Corresponds to the JSON property `delay` # @return [Google::Apis::ComputeV1::HttpFaultDelay] attr_accessor :delay def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @abort = args[:abort] if args.key?(:abort) @delay = args[:delay] if args.key?(:delay) end end # The request and response header transformations that take effect before # the request is passed along to the selected backendService. class HttpHeaderAction include Google::Apis::Core::Hashable # Headers to add to a matching request before forwarding the request to # thebackendService. # Corresponds to the JSON property `requestHeadersToAdd` # @return [Array] attr_accessor :request_headers_to_add # A list of header names for headers that need to be removed from the # request before forwarding the request to the backendService. # Corresponds to the JSON property `requestHeadersToRemove` # @return [Array] attr_accessor :request_headers_to_remove # Headers to add the response before sending the response back to the # client. # Corresponds to the JSON property `responseHeadersToAdd` # @return [Array] attr_accessor :response_headers_to_add # A list of header names for headers that need to be removed from the # response before sending the response back to the client. # Corresponds to the JSON property `responseHeadersToRemove` # @return [Array] attr_accessor :response_headers_to_remove def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @request_headers_to_add = args[:request_headers_to_add] if args.key?(:request_headers_to_add) @request_headers_to_remove = args[:request_headers_to_remove] if args.key?(:request_headers_to_remove) @response_headers_to_add = args[:response_headers_to_add] if args.key?(:response_headers_to_add) @response_headers_to_remove = args[:response_headers_to_remove] if args.key?(:response_headers_to_remove) end end # matchRule criteria for request header matches. class HttpHeaderMatch include Google::Apis::Core::Hashable # The value should exactly match contents of exactMatch. # Only one of exactMatch, prefixMatch,suffixMatch, regexMatch,presentMatch or # rangeMatch must be set. # Corresponds to the JSON property `exactMatch` # @return [String] attr_accessor :exact_match # The name of the HTTP header to match. # For matching against the HTTP request's authority, use a headerMatch # with the header name ":authority". # For matching a request's method, use the headerName ":method". # When the URL map is bound to a target gRPC proxy that has # the validateForProxyless field set to true, only # non-binary # user-specified custom metadata and the `content-type` header are supported. # The following transport-level headers cannot be used in header matching # rules: # `:authority`, `:method`, `:path`, `:scheme`, `user-agent`, # `accept-encoding`, `content-encoding`, `grpc-accept-encoding`, # `grpc-encoding`, `grpc-previous-rpc-attempts`, `grpc-tags-bin`, # `grpc-timeout` and `grpc-trace-bin`. # Corresponds to the JSON property `headerName` # @return [String] attr_accessor :header_name # If set to false, the headerMatch is considered a # match if the preceding match criteria are met. If set to true, # the headerMatch is considered a match if the preceding # match criteria are NOT met. # The default setting is false. # Corresponds to the JSON property `invertMatch` # @return [Boolean] attr_accessor :invert_match alias_method :invert_match?, :invert_match # The value of the header must start with the contents ofprefixMatch. # Only one of exactMatch, prefixMatch,suffixMatch, regexMatch,presentMatch or # rangeMatch must be set. # Corresponds to the JSON property `prefixMatch` # @return [String] attr_accessor :prefix_match # A header with the contents of headerName must exist. The # match takes place whether or not the request's header has a value. # Only one of exactMatch, prefixMatch,suffixMatch, regexMatch,presentMatch or # rangeMatch must be set. # Corresponds to the JSON property `presentMatch` # @return [Boolean] attr_accessor :present_match alias_method :present_match?, :present_match # HttpRouteRuleMatch criteria for field values that must stay # within the specified integer range. # Corresponds to the JSON property `rangeMatch` # @return [Google::Apis::ComputeV1::Int64RangeMatch] attr_accessor :range_match # The value of the header must match the regular expression specified # inregexMatch. # For more information about regular expression syntax, see Syntax. # For matching against a port specified in the HTTP request, use a # headerMatch with headerName set to PORT and a regular expression that # satisfies the RFC2616 Host header's port specifier. # Only one of exactMatch, prefixMatch,suffixMatch, regexMatch,presentMatch or # rangeMatch must be set. # Regular expressions can only be used when the loadBalancingScheme is # set to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED # (regional scope) or INTERNAL_MANAGED. # Corresponds to the JSON property `regexMatch` # @return [String] attr_accessor :regex_match # The value of the header must end with the contents ofsuffixMatch. # Only one of exactMatch, prefixMatch,suffixMatch, regexMatch,presentMatch or # rangeMatch must be set. # Corresponds to the JSON property `suffixMatch` # @return [String] attr_accessor :suffix_match def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @exact_match = args[:exact_match] if args.key?(:exact_match) @header_name = args[:header_name] if args.key?(:header_name) @invert_match = args[:invert_match] if args.key?(:invert_match) @prefix_match = args[:prefix_match] if args.key?(:prefix_match) @present_match = args[:present_match] if args.key?(:present_match) @range_match = args[:range_match] if args.key?(:range_match) @regex_match = args[:regex_match] if args.key?(:regex_match) @suffix_match = args[:suffix_match] if args.key?(:suffix_match) end end # Specification determining how headers are added to requests or responses. class HttpHeaderOption include Google::Apis::Core::Hashable # The name of the header. # Corresponds to the JSON property `headerName` # @return [String] attr_accessor :header_name # The value of the header to add. # Corresponds to the JSON property `headerValue` # @return [String] attr_accessor :header_value # If false, headerValue is appended to any values # that already # exist for the header. If true, headerValue is set for the # header, discarding any values that were set for that header. # The default value is true, # unless a variable is present in headerValue, # in which case the default value is false. # . # Corresponds to the JSON property `replace` # @return [Boolean] attr_accessor :replace alias_method :replace?, :replace def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @header_name = args[:header_name] if args.key?(:header_name) @header_value = args[:header_value] if args.key?(:header_value) @replace = args[:replace] if args.key?(:replace) end end # Represents a legacy HTTP Health Check resource. # Legacy HTTP health checks are now only required by target pool-based network # load balancers. For all other load balancers, including backend service-based # network load balancers, and for managed instance group auto-healing, you must # use modern (non-legacy) health checks. # For more information, seeHealth checks # overview. class HttpHealthCheck include Google::Apis::Core::Hashable # How often (in seconds) to send a health check. The default value is5 seconds. # Corresponds to the JSON property `checkIntervalSec` # @return [Fixnum] attr_accessor :check_interval_sec # [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # A so-far unhealthy instance will be marked healthy after this # many consecutive successes. The default value is 2. # Corresponds to the JSON property `healthyThreshold` # @return [Fixnum] attr_accessor :healthy_threshold # The value of the host header in the HTTP health check request. If left # empty (default value), the public IP on behalf of which this health check # is performed will be used. # Corresponds to the JSON property `host` # @return [String] attr_accessor :host # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute#httpHealthCheck # for HTTP health checks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The TCP port number for the HTTP health check request. The default value is80. # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port # The request path of the HTTP health check request. The default value is/. This # field does not support query # parameters. Must comply withRFC3986. # Corresponds to the JSON property `requestPath` # @return [String] attr_accessor :request_path # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # How long (in seconds) to wait before claiming failure. The default value is5 # seconds. It is invalid for timeoutSec to have # greater value than checkIntervalSec. # Corresponds to the JSON property `timeoutSec` # @return [Fixnum] attr_accessor :timeout_sec # A so-far healthy instance will be marked unhealthy after this # many consecutive failures. The default value is 2. # Corresponds to the JSON property `unhealthyThreshold` # @return [Fixnum] attr_accessor :unhealthy_threshold def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @check_interval_sec = args[:check_interval_sec] if args.key?(:check_interval_sec) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold) @host = args[:host] if args.key?(:host) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @port = args[:port] if args.key?(:port) @request_path = args[:request_path] if args.key?(:request_path) @self_link = args[:self_link] if args.key?(:self_link) @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec) @unhealthy_threshold = args[:unhealthy_threshold] if args.key?(:unhealthy_threshold) end end # Contains a list of HttpHealthCheck resources. class HttpHealthCheckList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of HttpHealthCheck resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::HttpHealthCheckList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # HttpRouteRuleMatch criteria for a request's query parameter. class HttpQueryParameterMatch include Google::Apis::Core::Hashable # The queryParameterMatch matches if the value of the # parameter exactly matches the contents of exactMatch. # Only one of presentMatch, exactMatch, orregexMatch must be set. # Corresponds to the JSON property `exactMatch` # @return [String] attr_accessor :exact_match # The name of the query parameter to match. The query parameter must exist in # the request, in the absence of which the request match fails. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Specifies that the queryParameterMatch matches if the # request contains the query parameter, irrespective of whether the # parameter has a value or not. # Only one of presentMatch, exactMatch, orregexMatch must be set. # Corresponds to the JSON property `presentMatch` # @return [Boolean] attr_accessor :present_match alias_method :present_match?, :present_match # The queryParameterMatch matches if the value of the # parameter matches the regular expression specified byregexMatch. For # more information about regular expression syntax, see Syntax. # Only one of presentMatch, exactMatch, orregexMatch must be set. # Regular expressions can only be used when the loadBalancingScheme is # set to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED # (regional scope) or INTERNAL_MANAGED. # Corresponds to the JSON property `regexMatch` # @return [String] attr_accessor :regex_match def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @exact_match = args[:exact_match] if args.key?(:exact_match) @name = args[:name] if args.key?(:name) @present_match = args[:present_match] if args.key?(:present_match) @regex_match = args[:regex_match] if args.key?(:regex_match) end end # Specifies settings for an HTTP redirect. class HttpRedirectAction include Google::Apis::Core::Hashable # The host that is used in the redirect response instead of the one that # was supplied in the request. # The value must be from 1 to 255 # characters. # Corresponds to the JSON property `hostRedirect` # @return [String] attr_accessor :host_redirect # If set to true, the URL scheme in the redirected request is # set to HTTPS. # If set to false, the URL scheme of the redirected request # remains the same as that of the request. # This must only be set for URL maps used inTargetHttpProxys. Setting this true # forTargetHttpsProxy is not permitted. # The default is set to false. # Corresponds to the JSON property `httpsRedirect` # @return [Boolean] attr_accessor :https_redirect alias_method :https_redirect?, :https_redirect # The path that is used in the redirect response instead of the one # that was supplied in the request. # pathRedirect cannot be supplied together withprefixRedirect. Supply one alone # or neither. If neither is # supplied, the path of the original request is used for the redirect. # The value must be from 1 to 1024 characters. # Corresponds to the JSON property `pathRedirect` # @return [String] attr_accessor :path_redirect # The prefix that replaces the prefixMatch specified in # the HttpRouteRuleMatch, retaining the remaining portion # of the URL before redirecting the request. # prefixRedirect cannot be supplied together withpathRedirect. Supply one alone # or neither. If neither is # supplied, the path of the original request is used for the redirect. # The value must be from 1 to 1024 characters. # Corresponds to the JSON property `prefixRedirect` # @return [String] attr_accessor :prefix_redirect # The HTTP Status code to use for this RedirectAction. # Supported values are: # # - MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds # to 301. # - FOUND, which corresponds to 302. # - SEE_OTHER which corresponds to 303. # - TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request # method is retained. # - PERMANENT_REDIRECT, which corresponds to 308. In this case, the request # method is retained. # Corresponds to the JSON property `redirectResponseCode` # @return [String] attr_accessor :redirect_response_code # If set to true, any accompanying query portion of the original # URL is # removed before redirecting the request. If set to false, the # query portion of the original URL is retained. # The default is set to false. # Corresponds to the JSON property `stripQuery` # @return [Boolean] attr_accessor :strip_query alias_method :strip_query?, :strip_query def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @host_redirect = args[:host_redirect] if args.key?(:host_redirect) @https_redirect = args[:https_redirect] if args.key?(:https_redirect) @path_redirect = args[:path_redirect] if args.key?(:path_redirect) @prefix_redirect = args[:prefix_redirect] if args.key?(:prefix_redirect) @redirect_response_code = args[:redirect_response_code] if args.key?(:redirect_response_code) @strip_query = args[:strip_query] if args.key?(:strip_query) end end # The retry policy associates with HttpRouteRule class HttpRetryPolicy include Google::Apis::Core::Hashable # Specifies the allowed number retries. This number must be > 0. # If not specified, defaults to 1. # Corresponds to the JSON property `numRetries` # @return [Fixnum] attr_accessor :num_retries # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `perTryTimeout` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :per_try_timeout # Specifies one or more conditions when this retry policy applies. Valid # values are: # # - 5xx: retry is attempted if the instance or endpoint # responds with any 5xx response code, or if the instance or # endpoint does not respond at all. For example, disconnects, reset, read # timeout, connection failure, and refused streams. # - gateway-error: Similar to 5xx, but only # applies to response codes 502, 503 or504. # - connect-failure: a retry is attempted on failures # connecting to the instance or endpoint. For example, connection # timeouts. # - retriable-4xx: a retry is attempted if the instance # or endpoint responds with a 4xx response code. # The only error that you can retry is error code 409. # - refused-stream: a retry is attempted if the instance # or endpoint resets the stream with a REFUSED_STREAM error # code. This reset type indicates that it is safe to retry. # - cancelled: a retry is attempted if the gRPC status # code in the response header is set to cancelled. # - deadline-exceeded: a retry is attempted if the gRPC # status code in the response header is set todeadline-exceeded. # - internal: a retry is attempted if the gRPC # status code in the response header is set tointernal. # - resource-exhausted: a retry is attempted if the gRPC # status code in the response header is set toresource-exhausted. # - unavailable: a retry is attempted if the gRPC # status code in the response header is set tounavailable. # Only the following codes are supported when the URL map is bound to # target gRPC proxy that has validateForProxyless field set to true. # # - cancelled # - deadline-exceeded # - internal # - resource-exhausted # - unavailable # Corresponds to the JSON property `retryConditions` # @return [Array] attr_accessor :retry_conditions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @num_retries = args[:num_retries] if args.key?(:num_retries) @per_try_timeout = args[:per_try_timeout] if args.key?(:per_try_timeout) @retry_conditions = args[:retry_conditions] if args.key?(:retry_conditions) end end # class HttpRouteAction include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `corsPolicy` # @return [Google::Apis::ComputeV1::CorsPolicy] attr_accessor :cors_policy # 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 the load balancer on a percentage of requests before sending # those request to the backend service. Similarly requests from clients can be # aborted by the load balancer for a percentage of requests. # Corresponds to the JSON property `faultInjectionPolicy` # @return [Google::Apis::ComputeV1::HttpFaultInjection] attr_accessor :fault_injection_policy # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `maxStreamDuration` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :max_stream_duration # A policy that specifies how requests intended for the route's backends # are shadowed to a separate mirrored backend service. The load balancer # doesn't wait for responses from the shadow service. Before sending traffic # to the shadow service, the host or authority header is suffixed with-shadow. # Corresponds to the JSON property `requestMirrorPolicy` # @return [Google::Apis::ComputeV1::RequestMirrorPolicy] attr_accessor :request_mirror_policy # The retry policy associates with HttpRouteRule # Corresponds to the JSON property `retryPolicy` # @return [Google::Apis::ComputeV1::HttpRetryPolicy] attr_accessor :retry_policy # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `timeout` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :timeout # The spec for modifying the path before sending the request to the matched # backend service. # Corresponds to the JSON property `urlRewrite` # @return [Google::Apis::ComputeV1::UrlRewrite] attr_accessor :url_rewrite # 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 oneweightedBackendService 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. # Corresponds to the JSON property `weightedBackendServices` # @return [Array] attr_accessor :weighted_backend_services def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cors_policy = args[:cors_policy] if args.key?(:cors_policy) @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy) @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration) @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy) @retry_policy = args[:retry_policy] if args.key?(:retry_policy) @timeout = args[:timeout] if args.key?(:timeout) @url_rewrite = args[:url_rewrite] if args.key?(:url_rewrite) @weighted_backend_services = args[:weighted_backend_services] if args.key?(:weighted_backend_services) end end # The HttpRouteRule setting specifies how to match an HTTP request # and the corresponding routing action that load balancing proxies perform. class HttpRouteRule include Google::Apis::Core::Hashable # Specifies the custom error response policy that must be applied when the # backend service or backend bucket responds with an error. # Corresponds to the JSON property `customErrorResponsePolicy` # @return [Google::Apis::ComputeV1::CustomErrorResponsePolicy] attr_accessor :custom_error_response_policy # The short description conveying the intent of this routeRule. # The description can have a maximum length of 1024 characters. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The request and response header transformations that take effect before # the request is passed along to the selected backendService. # Corresponds to the JSON property `headerAction` # @return [Google::Apis::ComputeV1::HttpHeaderAction] attr_accessor :header_action # The list of criteria for matching attributes of a request to thisrouteRule. # This list has OR semantics: the request matches # this routeRule when any of thematchRules 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. # Corresponds to the JSON property `matchRules` # @return [Array] attr_accessor :match_rules # For routeRules within a given pathMatcher, # priority determines the order in which a load balancer interpretsrouteRules. # 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. # Corresponds to the JSON property `priority` # @return [Fixnum] attr_accessor :priority # 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. # Only one of urlRedirect, service orrouteAction.weightedBackendService can be # set. # URL maps for classic Application Load Balancers only support # the urlRewrite action within a route rule'srouteAction. # Corresponds to the JSON property `routeAction` # @return [Google::Apis::ComputeV1::HttpRouteAction] attr_accessor :route_action # 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. # Only one of urlRedirect, service orrouteAction.weightedBackendService can be # set. # Corresponds to the JSON property `service` # @return [String] attr_accessor :service # Specifies settings for an HTTP redirect. # Corresponds to the JSON property `urlRedirect` # @return [Google::Apis::ComputeV1::HttpRedirectAction] attr_accessor :url_redirect def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @custom_error_response_policy = args[:custom_error_response_policy] if args.key?(:custom_error_response_policy) @description = args[:description] if args.key?(:description) @header_action = args[:header_action] if args.key?(:header_action) @match_rules = args[:match_rules] if args.key?(:match_rules) @priority = args[:priority] if args.key?(:priority) @route_action = args[:route_action] if args.key?(:route_action) @service = args[:service] if args.key?(:service) @url_redirect = args[:url_redirect] if args.key?(:url_redirect) end end # HttpRouteRuleMatch specifies a set of criteria for matching # requests to an HttpRouteRule. All specified criteria must # be satisfied for a match to occur. class HttpRouteRuleMatch include Google::Apis::Core::Hashable # For satisfying the matchRule condition, the path of the # request must exactly match the value specified infullPathMatch after removing # any query parameters and anchor # that may be part of the original URL. # fullPathMatch must be from 1 to 1024 characters. # Only one of prefixMatch, fullPathMatch,regexMatch or path_template_match must # be # specified. # Corresponds to the JSON property `fullPathMatch` # @return [String] attr_accessor :full_path_match # Specifies a list of header match criteria, all of which must match # corresponding headers in the request. # Corresponds to the JSON property `headerMatches` # @return [Array] attr_accessor :header_matches # 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. # Corresponds to the JSON property `ignoreCase` # @return [Boolean] attr_accessor :ignore_case alias_method :ignore_case?, :ignore_case # 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 itsfilterMatchCriteria is set to # MATCH_ANY, at least one of thefilterLabels 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 theUrlMap this HttpRouteRuleMatch # belongs to. # metadataFilters only applies to load balancers that haveloadBalancingScheme # set toINTERNAL_SELF_MANAGED. # Not supported when the URL map is bound to a target gRPC proxy that # has validateForProxyless field set to true. # Corresponds to the JSON property `metadataFilters` # @return [Array] attr_accessor :metadata_filters # If specified, this field defines a path template pattern that must match # the :path header after the query string is removed. # A path template pattern can include variables and wildcards. # Variables are enclosed in curly braces, for example`variable_name`. Wildcards # include * that # matches a single path segment, and ** that matches zero or # more path segments. The pattern must follow these rules: # # - The value must be between 1 and 1024 characters. # - The pattern must start with a leading slash ("/"). # - No more than 5 operators (variables or wildcards) may appear in # the pattern. # Precisely one ofprefixMatch, fullPathMatch,regexMatch, or pathTemplateMatch # must be # set. # Corresponds to the JSON property `pathTemplateMatch` # @return [String] attr_accessor :path_template_match # 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. # The * character inside a prefix match is # treated as a literal character, not as a wildcard. # Only one of prefixMatch, fullPathMatch,regexMatch or path_template_match can # be # used within a matchRule. # Corresponds to the JSON property `prefixMatch` # @return [String] attr_accessor :prefix_match # 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. # Corresponds to the JSON property `queryParameterMatches` # @return [Array] attr_accessor :query_parameter_matches # For satisfying the matchRule condition, the path of the # request must satisfy the regular expression specified inregexMatch 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,regexMatch or path_template_match must # be # specified. # Regular expressions can only be used when the loadBalancingScheme is # set to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED # (regional scope) or INTERNAL_MANAGED. # Corresponds to the JSON property `regexMatch` # @return [String] attr_accessor :regex_match def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @full_path_match = args[:full_path_match] if args.key?(:full_path_match) @header_matches = args[:header_matches] if args.key?(:header_matches) @ignore_case = args[:ignore_case] if args.key?(:ignore_case) @metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters) @path_template_match = args[:path_template_match] if args.key?(:path_template_match) @prefix_match = args[:prefix_match] if args.key?(:prefix_match) @query_parameter_matches = args[:query_parameter_matches] if args.key?(:query_parameter_matches) @regex_match = args[:regex_match] if args.key?(:regex_match) end end # Represents a legacy HTTPS Health Check resource. # Legacy HTTPS health checks have been deprecated. If you are using a target # pool-based network load balancer, you must use a legacy HTTP (not HTTPS) # health check. For all other load balancers, including backend service-based # network load balancers, and for managed instance group auto-healing, you must # use modern (non-legacy) health checks. # For more information, seeHealth checks # overview. class HttpsHealthCheck include Google::Apis::Core::Hashable # How often (in seconds) to send a health check. The default value is 5 # seconds. # Corresponds to the JSON property `checkIntervalSec` # @return [Fixnum] attr_accessor :check_interval_sec # [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # A so-far unhealthy instance will be marked healthy after this # many consecutive successes. The default value is 2. # Corresponds to the JSON property `healthyThreshold` # @return [Fixnum] attr_accessor :healthy_threshold # The value of the host header in the HTTPS health check request. If left # empty (default value), the public IP on behalf of which this health check # is performed will be used. # Corresponds to the JSON property `host` # @return [String] attr_accessor :host # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. Type of the resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The TCP port number for the HTTPS health check request. The default value # is 443. # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port # The request path of the HTTPS health check request. The default value is # "/". Must comply withRFC3986. # Corresponds to the JSON property `requestPath` # @return [String] attr_accessor :request_path # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # 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. # Corresponds to the JSON property `timeoutSec` # @return [Fixnum] attr_accessor :timeout_sec # A so-far healthy instance will be marked unhealthy after this # many consecutive failures. The default value is 2. # Corresponds to the JSON property `unhealthyThreshold` # @return [Fixnum] attr_accessor :unhealthy_threshold def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @check_interval_sec = args[:check_interval_sec] if args.key?(:check_interval_sec) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold) @host = args[:host] if args.key?(:host) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @port = args[:port] if args.key?(:port) @request_path = args[:request_path] if args.key?(:request_path) @self_link = args[:self_link] if args.key?(:self_link) @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec) @unhealthy_threshold = args[:unhealthy_threshold] if args.key?(:unhealthy_threshold) end end # Contains a list of HttpsHealthCheck resources. class HttpsHealthCheckList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of HttpsHealthCheck resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::HttpsHealthCheckList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents an Image resource. # You can use images to create boot disks for your VM instances. # For more information, read Images. class Image include Google::Apis::Core::Hashable # The architecture of the image. Valid values are # ARM64 or X86_64. # Corresponds to the JSON property `architecture` # @return [String] attr_accessor :architecture # Size of the image tar.gz archive stored in Google Cloud # Storage (in bytes). # Corresponds to the JSON property `archiveSizeBytes` # @return [Fixnum] attr_accessor :archive_size_bytes # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Deprecation status for a public resource. # Corresponds to the JSON property `deprecated` # @return [Google::Apis::ComputeV1::DeprecationStatus] attr_accessor :deprecated # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Size of the image when restored onto a persistent disk (in GB). # Corresponds to the JSON property `diskSizeGb` # @return [Fixnum] attr_accessor :disk_size_gb # Output only. Whether this image is created from a confidential compute mode # disk. # [Output Only]: This field is not set by user, but from source disk. # Corresponds to the JSON property `enableConfidentialCompute` # @return [Boolean] attr_accessor :enable_confidential_compute alias_method :enable_confidential_compute?, :enable_confidential_compute # 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. # Corresponds to the JSON property `family` # @return [String] attr_accessor :family # A list of features to enable on the guest operating system. Applicable # only for bootable images. To see a list of available options, see # theguestOSfeatures[].type parameter. # Corresponds to the JSON property `guestOsFeatures` # @return [Array] attr_accessor :guest_os_features # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Encrypts the image using acustomer-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. # Corresponds to the JSON property `imageEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :image_encryption_key # Output only. [Output Only] Type of the resource. Always compute#image for # images. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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 error412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve an image. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # Labels to apply to this image. These can be later modified by # the setLabels method. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Integer license codes indicating which licenses are attached to this image. # Corresponds to the JSON property `licenseCodes` # @return [Array] attr_accessor :license_codes # Any applicable license URI. # Corresponds to the JSON property `licenses` # @return [Array] attr_accessor :licenses # Name of the resource; provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Additional image params. # Corresponds to the JSON property `params` # @return [Google::Apis::ComputeV1::ImageParams] attr_accessor :params # The parameters of the raw disk image. # Corresponds to the JSON property `rawDisk` # @return [Google::Apis::ComputeV1::Image::RawDisk] attr_accessor :raw_disk # Output only. Reserved for future use. # Corresponds to the JSON property `satisfiesPzi` # @return [Boolean] attr_accessor :satisfies_pzi alias_method :satisfies_pzi?, :satisfies_pzi # Output only. [Output Only] Reserved for future use. # Corresponds to the JSON property `satisfiesPzs` # @return [Boolean] attr_accessor :satisfies_pzs alias_method :satisfies_pzs?, :satisfies_pzs # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Initial State for shielded instance, # these are public keys which are safe to store in public # Corresponds to the JSON property `shieldedInstanceInitialState` # @return [Google::Apis::ComputeV1::InitialStateConfig] attr_accessor :shielded_instance_initial_state # 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 # Corresponds to the JSON property `sourceDisk` # @return [String] attr_accessor :source_disk # Thecustomer-supplied # encryption key of the source disk. Required if the source disk is # protected by a customer-supplied encryption key. # Corresponds to the JSON property `sourceDiskEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :source_disk_encryption_key # Output only. [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. # Corresponds to the JSON property `sourceDiskId` # @return [String] attr_accessor :source_disk_id # 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 # Corresponds to the JSON property `sourceImage` # @return [String] attr_accessor :source_image # The customer-supplied encryption key of the source image. Required if the # source image is protected by a customer-supplied encryption key. # Corresponds to the JSON property `sourceImageEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :source_image_encryption_key # Output only. [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. # Corresponds to the JSON property `sourceImageId` # @return [String] attr_accessor :source_image_id # 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 # Corresponds to the JSON property `sourceSnapshot` # @return [String] attr_accessor :source_snapshot # The customer-supplied encryption key of the source snapshot. Required if # the source snapshot is protected by a customer-supplied encryption key. # Corresponds to the JSON property `sourceSnapshotEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :source_snapshot_encryption_key # Output only. [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. # Corresponds to the JSON property `sourceSnapshotId` # @return [String] attr_accessor :source_snapshot_id # The type of the image used to create this disk. The # default and only valid value is RAW. # Corresponds to the JSON property `sourceType` # @return [String] attr_accessor :source_type # Output only. [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, orREADY. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Cloud Storage bucket storage location of the image (regional or # multi-regional). # Corresponds to the JSON property `storageLocations` # @return [Array] attr_accessor :storage_locations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @architecture = args[:architecture] if args.key?(:architecture) @archive_size_bytes = args[:archive_size_bytes] if args.key?(:archive_size_bytes) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @deprecated = args[:deprecated] if args.key?(:deprecated) @description = args[:description] if args.key?(:description) @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) @enable_confidential_compute = args[:enable_confidential_compute] if args.key?(:enable_confidential_compute) @family = args[:family] if args.key?(:family) @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features) @id = args[:id] if args.key?(:id) @image_encryption_key = args[:image_encryption_key] if args.key?(:image_encryption_key) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @license_codes = args[:license_codes] if args.key?(:license_codes) @licenses = args[:licenses] if args.key?(:licenses) @name = args[:name] if args.key?(:name) @params = args[:params] if args.key?(:params) @raw_disk = args[:raw_disk] if args.key?(:raw_disk) @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @self_link = args[:self_link] if args.key?(:self_link) @shielded_instance_initial_state = args[:shielded_instance_initial_state] if args.key?(:shielded_instance_initial_state) @source_disk = args[:source_disk] if args.key?(:source_disk) @source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key) @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id) @source_image = args[:source_image] if args.key?(:source_image) @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key) @source_image_id = args[:source_image_id] if args.key?(:source_image_id) @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot) @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key) @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id) @source_type = args[:source_type] if args.key?(:source_type) @status = args[:status] if args.key?(:status) @storage_locations = args[:storage_locations] if args.key?(:storage_locations) end # The parameters of the raw disk image. class RawDisk include Google::Apis::Core::Hashable # The format used to encode and transmit the block device, which should beTAR. # This is just a container and transmission format and not # a runtime format. Provided by the client when the disk image is created. # Corresponds to the JSON property `containerType` # @return [String] attr_accessor :container_type # [Deprecated] This field is deprecated. # An optional SHA1 checksum of the disk image before unpackaging provided # by the client when the disk image is created. # Corresponds to the JSON property `sha1Checksum` # @return [String] attr_accessor :sha1_checksum # The full Google Cloud Storage URL where the raw disk image archive is # stored. # The following are valid formats for the URL: # # - https://storage.googleapis.com/bucket_name/image_archive_name # - https://storage.googleapis.com/bucket_name/folder_name/image_archive_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 # Corresponds to the JSON property `source` # @return [String] attr_accessor :source def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @container_type = args[:container_type] if args.key?(:container_type) @sha1_checksum = args[:sha1_checksum] if args.key?(:sha1_checksum) @source = args[:source] if args.key?(:source) end end end # class ImageFamilyView include Google::Apis::Core::Hashable # Represents an Image resource. # You can use images to create boot disks for your VM instances. # For more information, read Images. # Corresponds to the JSON property `image` # @return [Google::Apis::ComputeV1::Image] attr_accessor :image def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @image = args[:image] if args.key?(:image) end end # Contains a list of images. class ImageList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Image resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ImageList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Additional image params. class ImageParams include Google::Apis::Core::Hashable # Resource manager tags to be bound to the image. Tag keys and values have # the same definition as resource # manager tags. Keys and values can be either in numeric format, # such as `tagKeys/`tag_key_id`` and `tagValues/456` or in namespaced # format such as ``org_id|project_id`/`tag_key_short_name`` and # ``tag_value_short_name``. The field is ignored (both PUT & # PATCH) when empty. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) end end # Initial State for shielded instance, # these are public keys which are safe to store in public class InitialStateConfig include Google::Apis::Core::Hashable # The Key Database (db). # Corresponds to the JSON property `dbs` # @return [Array] attr_accessor :dbs # The forbidden key database (dbx). # Corresponds to the JSON property `dbxs` # @return [Array] attr_accessor :dbxs # The Key Exchange Key (KEK). # Corresponds to the JSON property `keks` # @return [Array] attr_accessor :keks # The Platform Key (PK). # Corresponds to the JSON property `pk` # @return [Google::Apis::ComputeV1::FileContentBuffer] attr_accessor :pk def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dbs = args[:dbs] if args.key?(:dbs) @dbxs = args[:dbxs] if args.key?(:dbxs) @keks = args[:keks] if args.key?(:keks) @pk = args[:pk] if args.key?(:pk) end end # Represents an Instance resource. # An instance is a virtual machine that is hosted on Google Cloud Platform. # For more information, readVirtual Machine Instances. class Instance include Google::Apis::Core::Hashable # Specifies options for controlling advanced machine features. # Options that would traditionally be configured in a BIOS belong # here. Features that require operating system support may have # corresponding entries in the GuestOsFeatures of anImage (e.g., whether or not # the OS in theImage supports nested virtualization being enabled or # disabled). # Corresponds to the JSON property `advancedMachineFeatures` # @return [Google::Apis::ComputeV1::AdvancedMachineFeatures] attr_accessor :advanced_machine_features # Allows this instance to send and receive packets with non-matching # destination or source IPs. This is required if you plan to use this # instance to forward routes. For more information, seeEnabling IP Forwarding. # Corresponds to the JSON property `canIpForward` # @return [Boolean] attr_accessor :can_ip_forward alias_method :can_ip_forward?, :can_ip_forward # A set of Confidential Instance options. # Corresponds to the JSON property `confidentialInstanceConfig` # @return [Google::Apis::ComputeV1::ConfidentialInstanceConfig] attr_accessor :confidential_instance_config # Output only. [Output Only] The CPU platform used by this instance. # Corresponds to the JSON property `cpuPlatform` # @return [String] attr_accessor :cpu_platform # Output only. [Output Only] Creation timestamp inRFC3339 text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Whether the resource should be protected against deletion. # Corresponds to the JSON property `deletionProtection` # @return [Boolean] attr_accessor :deletion_protection alias_method :deletion_protection?, :deletion_protection # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Array of disks associated with this instance. Persistent disks must be # created before you can assign them. # Corresponds to the JSON property `disks` # @return [Array] attr_accessor :disks # A set of Display Device options # Corresponds to the JSON property `displayDevice` # @return [Google::Apis::ComputeV1::DisplayDevice] attr_accessor :display_device # Specifies a fingerprint for this resource, which is essentially a hash of # the instance's contents and used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after # every request to modify or update the instance. You must always provide an # up-to-date fingerprint hash in order to update the instance. # To see the latest fingerprint, make get() request to the # instance. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # A list of the type and count of accelerator cards attached to the instance. # Corresponds to the JSON property `guestAccelerators` # @return [Array] attr_accessor :guest_accelerators # Specifies the hostname of the instance. The specified hostname must be # RFC1035 compliant. If hostname is not specified, the default hostname is # [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and # [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS. # Corresponds to the JSON property `hostname` # @return [String] attr_accessor :hostname # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Encrypts suspended data for an instance with acustomer-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. # Corresponds to the JSON property `instanceEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :instance_encryption_key # KeyRevocationActionType of the instance. Supported options are "STOP" and # "NONE". The default value is "NONE" if it is not specified. # Corresponds to the JSON property `keyRevocationActionType` # @return [String] attr_accessor :key_revocation_action_type # Output only. [Output Only] Type of the resource. Always compute#instance # for instances. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # A fingerprint for this request, which is essentially a hash of # the label's contents and 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 # instance. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # Labels to apply to this instance. These can be later modified by # the setLabels method. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Output only. [Output Only] Last start timestamp inRFC3339 text format. # Corresponds to the JSON property `lastStartTimestamp` # @return [String] attr_accessor :last_start_timestamp # Output only. [Output Only] Last stop timestamp inRFC3339 text format. # Corresponds to the JSON property `lastStopTimestamp` # @return [String] attr_accessor :last_stop_timestamp # Output only. [Output Only] Last suspended timestamp inRFC3339 text format. # Corresponds to the JSON property `lastSuspendedTimestamp` # @return [String] attr_accessor :last_suspended_timestamp # Full or partial URL of the machine type resource to use for this instance, # in the format:zones/zone/machineTypes/machine-type. This is provided by the # client # when the instance is created. For example, the following is a valid partial # url to a predefined # machine type: # zones/us-central1-f/machineTypes/n1-standard-1 # To create acustom # machine type, provide a URL to a machine type in the following format, # where CPUS is 1 or an even number up to 32 (2, # 4, 6, ... 24, etc), and MEMORY is the total # memory for this instance. Memory must be a multiple of 256 MB and must # be supplied in MB (e.g. 5 GB of memory is 5120 MB): # zones/zone/machineTypes/custom-CPUS-MEMORY # For example: zones/us-central1-f/machineTypes/custom-4-5120 # For a full list of restrictions, read theSpecifications # for custom machine types. # Corresponds to the JSON property `machineType` # @return [String] attr_accessor :machine_type # A metadata key/value entry. # Corresponds to the JSON property `metadata` # @return [Google::Apis::ComputeV1::Metadata] attr_accessor :metadata # Specifies aminimum CPU # platform for the VM instance. Applicable values are the friendly names # of CPU platforms, such as minCpuPlatform: "Intel # Haswell" or minCpuPlatform: "Intel Sandy # Bridge". # Corresponds to the JSON property `minCpuPlatform` # @return [String] attr_accessor :min_cpu_platform # 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 # withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # An array of network configurations for this instance. These specify how # interfaces are configured to interact with other network services, such as # connecting to the internet. Multiple interfaces are supported # per instance. # Corresponds to the JSON property `networkInterfaces` # @return [Array] attr_accessor :network_interfaces # # Corresponds to the JSON property `networkPerformanceConfig` # @return [Google::Apis::ComputeV1::NetworkPerformanceConfig] attr_accessor :network_performance_config # Additional instance params. # Corresponds to the JSON property `params` # @return [Google::Apis::ComputeV1::InstanceParams] attr_accessor :params # The private IPv6 google access type for the VM. # If not specified, use INHERIT_FROM_SUBNETWORK as default. # Corresponds to the JSON property `privateIpv6GoogleAccess` # @return [String] attr_accessor :private_ipv6_google_access # Specifies the reservations that this instance can consume from. # Corresponds to the JSON property `reservationAffinity` # @return [Google::Apis::ComputeV1::ReservationAffinity] attr_accessor :reservation_affinity # Resource policies applied to this instance. # Corresponds to the JSON property `resourcePolicies` # @return [Array] attr_accessor :resource_policies # Contains output only fields. # Use this sub-message for actual values set on Instance attributes as compared # to the value requested by the user (intent) in their instance CRUD calls. # Corresponds to the JSON property `resourceStatus` # @return [Google::Apis::ComputeV1::ResourceStatus] attr_accessor :resource_status # Output only. [Output Only] Reserved for future use. # Corresponds to the JSON property `satisfiesPzi` # @return [Boolean] attr_accessor :satisfies_pzi alias_method :satisfies_pzi?, :satisfies_pzi # Output only. [Output Only] Reserved for future use. # Corresponds to the JSON property `satisfiesPzs` # @return [Boolean] attr_accessor :satisfies_pzs alias_method :satisfies_pzs?, :satisfies_pzs # Sets the scheduling options for an Instance. # Corresponds to the JSON property `scheduling` # @return [Google::Apis::ComputeV1::Scheduling] attr_accessor :scheduling # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # A list of service accounts, with their specified scopes, authorized for # this instance. Only one service account per VM instance is supported. # Service accounts generate access tokens that can be accessed # through the metadata server and used to authenticate applications on the # instance. SeeService Accounts # for more information. # Corresponds to the JSON property `serviceAccounts` # @return [Array] attr_accessor :service_accounts # A set of Shielded Instance options. # Corresponds to the JSON property `shieldedInstanceConfig` # @return [Google::Apis::ComputeV1::ShieldedInstanceConfig] attr_accessor :shielded_instance_config # The policy describes the baseline against which # Instance boot integrity is measured. # Corresponds to the JSON property `shieldedInstanceIntegrityPolicy` # @return [Google::Apis::ComputeV1::ShieldedInstanceIntegrityPolicy] attr_accessor :shielded_instance_integrity_policy # Source machine image # Corresponds to the JSON property `sourceMachineImage` # @return [String] attr_accessor :source_machine_image # Source machine image encryption key when creating an instance from a # machine image. # Corresponds to the JSON property `sourceMachineImageEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :source_machine_image_encryption_key # Output only. [Output Only] Whether a VM has been restricted for start because # Compute # Engine has detected suspicious activity. # Corresponds to the JSON property `startRestricted` # @return [Boolean] attr_accessor :start_restricted alias_method :start_restricted?, :start_restricted # Output only. [Output Only] The status of the instance. One of the # following values: PROVISIONING, STAGING,RUNNING, STOPPING, SUSPENDING, # SUSPENDED, REPAIRING, andTERMINATED. For more information about the status of # the # instance, see # Instance life cycle. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Output only. [Output Only] An optional, human-readable explanation of the # status. # Corresponds to the JSON property `statusMessage` # @return [String] attr_accessor :status_message # A set of instance tags. # Corresponds to the JSON property `tags` # @return [Google::Apis::ComputeV1::Tags] attr_accessor :tags # Output only. [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. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features) @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward) @confidential_instance_config = args[:confidential_instance_config] if args.key?(:confidential_instance_config) @cpu_platform = args[:cpu_platform] if args.key?(:cpu_platform) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection) @description = args[:description] if args.key?(:description) @disks = args[:disks] if args.key?(:disks) @display_device = args[:display_device] if args.key?(:display_device) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators) @hostname = args[:hostname] if args.key?(:hostname) @id = args[:id] if args.key?(:id) @instance_encryption_key = args[:instance_encryption_key] if args.key?(:instance_encryption_key) @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @last_start_timestamp = args[:last_start_timestamp] if args.key?(:last_start_timestamp) @last_stop_timestamp = args[:last_stop_timestamp] if args.key?(:last_stop_timestamp) @last_suspended_timestamp = args[:last_suspended_timestamp] if args.key?(:last_suspended_timestamp) @machine_type = args[:machine_type] if args.key?(:machine_type) @metadata = args[:metadata] if args.key?(:metadata) @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform) @name = args[:name] if args.key?(:name) @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces) @network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config) @params = args[:params] if args.key?(:params) @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access) @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) @resource_status = args[:resource_status] if args.key?(:resource_status) @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @scheduling = args[:scheduling] if args.key?(:scheduling) @self_link = args[:self_link] if args.key?(:self_link) @service_accounts = args[:service_accounts] if args.key?(:service_accounts) @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config) @shielded_instance_integrity_policy = args[:shielded_instance_integrity_policy] if args.key?(:shielded_instance_integrity_policy) @source_machine_image = args[:source_machine_image] if args.key?(:source_machine_image) @source_machine_image_encryption_key = args[:source_machine_image_encryption_key] if args.key?(:source_machine_image_encryption_key) @start_restricted = args[:start_restricted] if args.key?(:start_restricted) @status = args[:status] if args.key?(:status) @status_message = args[:status_message] if args.key?(:status_message) @tags = args[:tags] if args.key?(:tags) @zone = args[:zone] if args.key?(:zone) end end # class InstanceAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # An object that contains a list of instances scoped by zone. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # instanceAggregatedList for aggregated lists of # Instance resources. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstanceAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class InstanceConsumptionData include Google::Apis::Core::Hashable # Output only. Resources consumed by the instance. # Corresponds to the JSON property `consumptionInfo` # @return [Google::Apis::ComputeV1::InstanceConsumptionInfo] attr_accessor :consumption_info # Output only. Server-defined URL for the instance. # Corresponds to the JSON property `instance` # @return [String] attr_accessor :instance def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @consumption_info = args[:consumption_info] if args.key?(:consumption_info) @instance = args[:instance] if args.key?(:instance) end end # class InstanceConsumptionInfo include Google::Apis::Core::Hashable # Output only. The number of virtual CPUs that are available to the instance. # Corresponds to the JSON property `guestCpus` # @return [Fixnum] attr_accessor :guest_cpus # Output only. The amount of local SSD storage available to the instance, # defined in GiB. # Corresponds to the JSON property `localSsdGb` # @return [Fixnum] attr_accessor :local_ssd_gb # Output only. The amount of physical memory available to the instance, # defined in MiB. # Corresponds to the JSON property `memoryMb` # @return [Fixnum] attr_accessor :memory_mb # Output only. The minimal guaranteed number of virtual CPUs that are reserved. # Corresponds to the JSON property `minNodeCpus` # @return [Fixnum] attr_accessor :min_node_cpus def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @guest_cpus = args[:guest_cpus] if args.key?(:guest_cpus) @local_ssd_gb = args[:local_ssd_gb] if args.key?(:local_ssd_gb) @memory_mb = args[:memory_mb] if args.key?(:memory_mb) @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus) end end # A flexible specification of machine types for instances to create. class InstanceFlexibilityPolicy include Google::Apis::Core::Hashable # Specification of alternative, flexible instance subsets. # One of them will be selected to create the instances # based on various criteria, like: # - ranks, # - location policy, # - current capacity, # - available reservations (you can specify affinity in # InstanceProperties), # - SWAN/GOOSE limitations. # Key is an arbitrary, unique RFC1035 string that identifies the instance # selection. # Corresponds to the JSON property `instanceSelections` # @return [Hash] attr_accessor :instance_selections def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_selections = args[:instance_selections] if args.key?(:instance_selections) end end # Specification of machine type to use. Every position inside this message # is an alternative. # The count specified in the shape flexibility must not exceed the number # of entries in per_instance_properties or the capacity of the # name_pattern, if used. class InstanceFlexibilityPolicyInstanceSelection include Google::Apis::Core::Hashable # Disks to be attached to the instances created from in this selection. # They override the disks specified in the instance properties. # Corresponds to the JSON property `disks` # @return [Array] attr_accessor :disks # Alternative machine types to use for instances that are created from # these properties. This field only accepts a machine type names, for # example `n2-standard-4` and not URLs or partial URLs. # Corresponds to the JSON property `machineTypes` # @return [Array] attr_accessor :machine_types # Rank when prioritizing the shape flexibilities. # The instance selections with rank are considered # first, in the ascending order of the rank. # If not set, defaults to 0. # Corresponds to the JSON property `rank` # @return [Fixnum] attr_accessor :rank def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disks = args[:disks] if args.key?(:disks) @machine_types = args[:machine_types] if args.key?(:machine_types) @rank = args[:rank] if args.key?(:rank) end end # Represents an Instance Group resource. # Instance Groups can be used to configure a target forload # balancing. # Instance groups can either be managed or unmanaged. # To create # managed instance groups, use the instanceGroupManager # orregionInstanceGroupManager resource instead. # Use zonal unmanaged instance groups if you need to applyload # balancing to groups of heterogeneous instances or if you need to manage # the instances yourself. You cannot create regional unmanaged instance groups. # For more information, readInstance # groups. class InstanceGroup include Google::Apis::Core::Hashable # Output only. [Output Only] The creation timestamp for this instance group # inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] The fingerprint of the named ports. The system # uses this fingerprint to detect conflicts when multiple users change the # named ports concurrently. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # Output only. [Output Only] A unique identifier for this instance group, # generated # by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] The resource type, which is alwayscompute# # instanceGroup for instance groups. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The name of the instance group. The name must be 1-63 characters # long, and comply withRFC1035. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Optional. Assigns a name to a port number. For example:`name: "http", port: 80` # This # allows the system to reference ports by the assigned name instead of a # port number. Named ports can also contain multiple ports. For example:[`name: " # app1", port: 8080`, `name: # "app1", port: 8081`, `name: "app2", port: # 8082`] # Named ports apply to all instances in this instance group. # Corresponds to the JSON property `namedPorts` # @return [Array] attr_accessor :named_ports # [Output Only] The URL of the network to which all instances in the # instance group belong. If your instance has multiple network interfaces, # then the network and subnetwork fields only refer to the # network and subnet used by your primary interface (nic0). # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # Output only. [Output Only] The URL of theregion # where the instance group is located (for regional resources). # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Output only. [Output Only] The URL for this instance group. The server # generates # this URL. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] The total number of instances in the instance group. # Corresponds to the JSON property `size` # @return [Fixnum] attr_accessor :size # Output only. [Output Only] The URL of the subnetwork to which all instances in # the # instance group belong. If your instance has multiple network interfaces, # then the network and subnetwork fields only refer to the # network and subnet used by your primary interface (nic0). # Corresponds to the JSON property `subnetwork` # @return [String] attr_accessor :subnetwork # Output only. [Output Only] The URL of thezone # where the instance group is located (for zonal resources). # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @named_ports = args[:named_ports] if args.key?(:named_ports) @network = args[:network] if args.key?(:network) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @size = args[:size] if args.key?(:size) @subnetwork = args[:subnetwork] if args.key?(:subnetwork) @zone = args[:zone] if args.key?(:zone) end end # class InstanceGroupAggregatedList include Google::Apis::Core::Hashable # Output only. [Output Only] Unique identifier for the resource; defined by the # server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InstanceGroupsScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] The resource type, which is alwayscompute# # instanceGroupAggregatedList for aggregated lists of # instance groups. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # Output only. [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstanceGroupAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # Output only. [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # A list of InstanceGroup resources. class InstanceGroupList include Google::Apis::Core::Hashable # Output only. [Output Only] Unique identifier for the resource; defined by the # server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InstanceGroup resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] The resource type, which is alwayscompute# # instanceGroupList for instance group lists. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstanceGroupList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # Output only. [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents a Managed Instance Group resource. # An instance group is a collection of VM instances that you can manage as a # single entity. For more information, readInstance groups. # For zonal Managed Instance Group, use the instanceGroupManagers # resource. # For regional Managed Instance Group, use theregionInstanceGroupManagers # resource. class InstanceGroupManager include Google::Apis::Core::Hashable # Specifies configuration that overrides the instance template configuration # for the group. # Corresponds to the JSON property `allInstancesConfig` # @return [Google::Apis::ComputeV1::InstanceGroupManagerAllInstancesConfig] attr_accessor :all_instances_config # The autohealing policy for this managed instance group. You can specify # only one value. # Corresponds to the JSON property `autoHealingPolicies` # @return [Array] attr_accessor :auto_healing_policies # The base instance name is a prefix that you want to attach to the names of # all VMs in a MIG. The maximum character length is 58 and the name must # comply with RFC1035 format. # When a VM is created in the group, the MIG appends a hyphen and a random # four-character string to the base instance name. If you want the MIG to # assign sequential numbers instead of a random string, then end the base # instance name with a hyphen followed by one or more hash symbols. The hash # symbols indicate the number of digits. For example, a base instance name of # "vm-###" results in "vm-001" as a VM name. # @pattern # [a-z](([-a-z0-9]`0,57`)|([-a-z0-9]`0,51`-#`1,10`(\\[[0-9]`1,10`\\])?)) # Corresponds to the JSON property `baseInstanceName` # @return [String] attr_accessor :base_instance_name # Output only. [Output Only] The creation timestamp for this managed instance # group inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Output only. [Output Only] The list of instance actions and the number of # instances # in this managed instance group that are scheduled for each of those # actions. # Corresponds to the JSON property `currentActions` # @return [Google::Apis::ComputeV1::InstanceGroupManagerActionsSummary] attr_accessor :current_actions # An optional description of this resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Policy specifying the intended distribution of managed instances across # zones in a regional managed instance group. # Corresponds to the JSON property `distributionPolicy` # @return [Google::Apis::ComputeV1::DistributionPolicy] attr_accessor :distribution_policy # 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 error412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve an InstanceGroupManager. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # Output only. [Output Only] A unique identifier for this resource type. The # server # generates this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Instance flexibility allowing MIG to create VMs from multiple # types of machines. # Instance flexibility configuration on MIG overrides instance # template configuration. # Corresponds to the JSON property `instanceFlexibilityPolicy` # @return [Google::Apis::ComputeV1::InstanceGroupManagerInstanceFlexibilityPolicy] attr_accessor :instance_flexibility_policy # Output only. [Output Only] The URL of the Instance Group resource. # Corresponds to the JSON property `instanceGroup` # @return [String] attr_accessor :instance_group # The repair policy for this managed instance group. # Corresponds to the JSON property `instanceLifecyclePolicy` # @return [Google::Apis::ComputeV1::InstanceGroupManagerInstanceLifecyclePolicy] attr_accessor :instance_lifecycle_policy # 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, # runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE. # Corresponds to the JSON property `instanceTemplate` # @return [String] attr_accessor :instance_template # Output only. [Output Only] The resource type, which is alwayscompute# # instanceGroupManager for managed instance groups. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Pagination behavior of the listManagedInstances API method for # this managed instance group. # Corresponds to the JSON property `listManagedInstancesResults` # @return [String] attr_accessor :list_managed_instances_results # The name of the managed instance group. The name must be 1-63 characters # long, and comply withRFC1035. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # [Output Only] Named ports configured on the Instance Groups complementary # to this Instance Group Manager. # Corresponds to the JSON property `namedPorts` # @return [Array] attr_accessor :named_ports # Output only. [Output Only] The URL of theregion # where the managed instance group resides (for regional resources). # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Resource policies for this managed instance group. # Corresponds to the JSON property `resourcePolicies` # @return [Google::Apis::ComputeV1::InstanceGroupManagerResourcePolicies] attr_accessor :resource_policies # Output only. [Output Only] Reserved for future use. # Corresponds to the JSON property `satisfiesPzi` # @return [Boolean] attr_accessor :satisfies_pzi alias_method :satisfies_pzi?, :satisfies_pzi # Output only. [Output Only] Reserved for future use. # Corresponds to the JSON property `satisfiesPzs` # @return [Boolean] attr_accessor :satisfies_pzs alias_method :satisfies_pzs?, :satisfies_pzs # Output only. [Output Only] The URL for this managed instance group. The server # defines # this URL. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Standby policy for stopped and suspended instances. # Corresponds to the JSON property `standbyPolicy` # @return [Google::Apis::ComputeV1::InstanceGroupManagerStandbyPolicy] attr_accessor :standby_policy # Stateful configuration for this Instanced Group Manager # Corresponds to the JSON property `statefulPolicy` # @return [Google::Apis::ComputeV1::StatefulPolicy] attr_accessor :stateful_policy # Output only. [Output Only] The status of this managed instance group. # Corresponds to the JSON property `status` # @return [Google::Apis::ComputeV1::InstanceGroupManagerStatus] attr_accessor :status # The URLs for all TargetPool resources to which instances in theinstanceGroup # field are added. The target pools automatically # apply to all of the instances in the managed instance group. # Corresponds to the JSON property `targetPools` # @return [Array] attr_accessor :target_pools # The target number of running instances for this managed instance group. # You can reduce this number by using the instanceGroupManager # deleteInstances or abandonInstances methods. Resizing the group also # changes this number. # Corresponds to the JSON property `targetSize` # @return [Fixnum] attr_accessor :target_size # The target number of stopped instances for this managed instance group. # This number changes when you: # # - Stop instance using the stopInstances # method or start instances using the startInstances # method. # - Manually change the targetStoppedSize using the update # method. # Corresponds to the JSON property `targetStoppedSize` # @return [Fixnum] attr_accessor :target_stopped_size # The target number of suspended instances for this managed instance group. # This number changes when you: # # - Suspend instance using the suspendInstances # method or resume instances using the resumeInstances # method. # - Manually change the targetSuspendedSize using the update # method. # Corresponds to the JSON property `targetSuspendedSize` # @return [Fixnum] attr_accessor :target_suspended_size # The update policy for this managed instance group. # Corresponds to the JSON property `updatePolicy` # @return [Google::Apis::ComputeV1::InstanceGroupManagerUpdatePolicy] attr_accessor :update_policy # Specifies the instance templates used by this managed instance group to # create instances. # Each version is defined by an instanceTemplate and aname. Every version can # appear at most once per instance # group. This field overrides the top-level instanceTemplate # field. Read more about therelationships # between these fields. Exactly one version must leave thetargetSize field unset. # That version will be applied to all # remaining instances. For more information, read aboutcanary # updates. # Corresponds to the JSON property `versions` # @return [Array] attr_accessor :versions # Output only. [Output Only] The URL of azone # where the managed instance group is located (for zonal resources). # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config) @auto_healing_policies = args[:auto_healing_policies] if args.key?(:auto_healing_policies) @base_instance_name = args[:base_instance_name] if args.key?(:base_instance_name) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @current_actions = args[:current_actions] if args.key?(:current_actions) @description = args[:description] if args.key?(:description) @distribution_policy = args[:distribution_policy] if args.key?(:distribution_policy) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @id = args[:id] if args.key?(:id) @instance_flexibility_policy = args[:instance_flexibility_policy] if args.key?(:instance_flexibility_policy) @instance_group = args[:instance_group] if args.key?(:instance_group) @instance_lifecycle_policy = args[:instance_lifecycle_policy] if args.key?(:instance_lifecycle_policy) @instance_template = args[:instance_template] if args.key?(:instance_template) @kind = args[:kind] if args.key?(:kind) @list_managed_instances_results = args[:list_managed_instances_results] if args.key?(:list_managed_instances_results) @name = args[:name] if args.key?(:name) @named_ports = args[:named_ports] if args.key?(:named_ports) @region = args[:region] if args.key?(:region) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @self_link = args[:self_link] if args.key?(:self_link) @standby_policy = args[:standby_policy] if args.key?(:standby_policy) @stateful_policy = args[:stateful_policy] if args.key?(:stateful_policy) @status = args[:status] if args.key?(:status) @target_pools = args[:target_pools] if args.key?(:target_pools) @target_size = args[:target_size] if args.key?(:target_size) @target_stopped_size = args[:target_stopped_size] if args.key?(:target_stopped_size) @target_suspended_size = args[:target_suspended_size] if args.key?(:target_suspended_size) @update_policy = args[:update_policy] if args.key?(:update_policy) @versions = args[:versions] if args.key?(:versions) @zone = args[:zone] if args.key?(:zone) end end # class InstanceGroupManagerActionsSummary include Google::Apis::Core::Hashable # Output only. [Output Only] The total number of instances in the managed # instance group # that are scheduled to be abandoned. Abandoning an instance removes it # from the managed instance group without deleting it. # Corresponds to the JSON property `abandoning` # @return [Fixnum] attr_accessor :abandoning # Output only. [Output Only] The number of instances in the managed instance # group that # are scheduled to be created or are currently being created. If the group # fails to create any of these instances, it tries again until it creates # the instance successfully. # If you have disabled creation retries, this field will not be populated; # instead, the creatingWithoutRetries field will be populated. # Corresponds to the JSON property `creating` # @return [Fixnum] attr_accessor :creating # Output only. [Output Only] The number of instances that the managed instance # group # will attempt to create. The group attempts to create each instance # only once. If the group fails to create any of these instances, it # decreases the group's targetSize value accordingly. # Corresponds to the JSON property `creatingWithoutRetries` # @return [Fixnum] attr_accessor :creating_without_retries # Output only. [Output Only] The number of instances in the managed instance # group that # are scheduled to be deleted or are currently being deleted. # Corresponds to the JSON property `deleting` # @return [Fixnum] attr_accessor :deleting # Output only. [Output Only] The number of instances in the managed instance # group that # are running and have no scheduled actions. # Corresponds to the JSON property `none` # @return [Fixnum] attr_accessor :none # Output only. [Output Only] The number of instances in the managed instance # group that # are scheduled to be recreated or are currently being being recreated. # Recreating an instance deletes the existing root persistent disk # and creates a new disk from the image that is defined in the # instance template. # Corresponds to the JSON property `recreating` # @return [Fixnum] attr_accessor :recreating # Output only. [Output Only] The number of instances in the managed instance # group that # are being reconfigured with properties that do not require a restart # or a recreate action. For example, setting or removing target # pools for the instance. # Corresponds to the JSON property `refreshing` # @return [Fixnum] attr_accessor :refreshing # Output only. [Output Only] The number of instances in the managed instance # group that # are scheduled to be restarted or are currently being restarted. # Corresponds to the JSON property `restarting` # @return [Fixnum] attr_accessor :restarting # Output only. [Output Only] The number of instances in the managed instance # group that # are scheduled to be resumed or are currently being resumed. # Corresponds to the JSON property `resuming` # @return [Fixnum] attr_accessor :resuming # Output only. [Output Only] The number of instances in the managed instance # group that # are scheduled to be started or are currently being started. # Corresponds to the JSON property `starting` # @return [Fixnum] attr_accessor :starting # Output only. [Output Only] The number of instances in the managed instance # group that # are scheduled to be stopped or are currently being stopped. # Corresponds to the JSON property `stopping` # @return [Fixnum] attr_accessor :stopping # Output only. [Output Only] The number of instances in the managed instance # group that # are scheduled to be suspended or are currently being suspended. # Corresponds to the JSON property `suspending` # @return [Fixnum] attr_accessor :suspending # Output only. [Output Only] The number of instances in the managed instance # group that # are being verified. See the managedInstances[].currentAction # property in the listManagedInstances method documentation. # Corresponds to the JSON property `verifying` # @return [Fixnum] attr_accessor :verifying def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @abandoning = args[:abandoning] if args.key?(:abandoning) @creating = args[:creating] if args.key?(:creating) @creating_without_retries = args[:creating_without_retries] if args.key?(:creating_without_retries) @deleting = args[:deleting] if args.key?(:deleting) @none = args[:none] if args.key?(:none) @recreating = args[:recreating] if args.key?(:recreating) @refreshing = args[:refreshing] if args.key?(:refreshing) @restarting = args[:restarting] if args.key?(:restarting) @resuming = args[:resuming] if args.key?(:resuming) @starting = args[:starting] if args.key?(:starting) @stopping = args[:stopping] if args.key?(:stopping) @suspending = args[:suspending] if args.key?(:suspending) @verifying = args[:verifying] if args.key?(:verifying) end end # class InstanceGroupManagerAggregatedList include Google::Apis::Core::Hashable # Output only. [Output Only] Unique identifier for the resource; defined by the # server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InstanceGroupManagersScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] The resource type, which is alwayscompute# # instanceGroupManagerAggregatedList for an aggregated # list of managed instance groups. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # Output only. [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstanceGroupManagerAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # Output only. [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class InstanceGroupManagerAllInstancesConfig include Google::Apis::Core::Hashable # Represents the change that you want to make to the instance properties. # Corresponds to the JSON property `properties` # @return [Google::Apis::ComputeV1::InstancePropertiesPatch] attr_accessor :properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @properties = args[:properties] if args.key?(:properties) end end # class InstanceGroupManagerAutoHealingPolicy include Google::Apis::Core::Hashable # The URL for the health check that signals autohealing. # Corresponds to the JSON property `healthCheck` # @return [String] attr_accessor :health_check # 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. # Corresponds to the JSON property `initialDelaySec` # @return [Fixnum] attr_accessor :initial_delay_sec def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @health_check = args[:health_check] if args.key?(:health_check) @initial_delay_sec = args[:initial_delay_sec] if args.key?(:initial_delay_sec) end end # class InstanceGroupManagerInstanceFlexibilityPolicy include Google::Apis::Core::Hashable # Named instance selections configuring properties that the group will use # when creating new VMs. # Corresponds to the JSON property `instanceSelections` # @return [Hash] attr_accessor :instance_selections def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_selections = args[:instance_selections] if args.key?(:instance_selections) end end # class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection include Google::Apis::Core::Hashable # Full machine-type names, e.g. "n1-standard-16". # Corresponds to the JSON property `machineTypes` # @return [Array] attr_accessor :machine_types # Preference of this instance selection. Lower number means higher # preference. MIG will first try to create a VM based on the machine-type # with lowest rank and fallback to next rank based on availability. # Machine types and instance selections with the same rank have the same # preference. # Corresponds to the JSON property `rank` # @return [Fixnum] attr_accessor :rank def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @machine_types = args[:machine_types] if args.key?(:machine_types) @rank = args[:rank] if args.key?(:rank) end end # class InstanceGroupManagerInstanceLifecyclePolicy include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `defaultActionOnFailure` # @return [String] attr_accessor :default_action_on_failure # 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. # Corresponds to the JSON property `forceUpdateOnRepair` # @return [String] attr_accessor :force_update_on_repair def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @default_action_on_failure = args[:default_action_on_failure] if args.key?(:default_action_on_failure) @force_update_on_repair = args[:force_update_on_repair] if args.key?(:force_update_on_repair) end end # [Output Only] A list of managed instance groups. class InstanceGroupManagerList include Google::Apis::Core::Hashable # Output only. [Output Only] Unique identifier for the resource; defined by the # server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InstanceGroupManager resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] The resource type, which is always # compute#instanceGroupManagerList for a list of managed instance groups. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstanceGroupManagerList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # Output only. [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # InstanceGroupManagerResizeRequest represents a request to create # a number of VMs: either immediately or by queuing the request for the # specified time. This resize request is nested under InstanceGroupManager # and the VMs created by this request are added to the owning # InstanceGroupManager. class InstanceGroupManagerResizeRequest include Google::Apis::Core::Hashable # Output only. [Output Only] The creation timestamp for this resize request # inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] A unique identifier for this resource type. The # server # generates this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] The resource type, which is alwayscompute# # instanceGroupManagerResizeRequest for # resize requests. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The name of this resize request. The name must be 1-63 characters # long, and comply withRFC1035. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `requestedRunDuration` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :requested_run_duration # The number of instances to be created by this resize request. The group's # target size will be increased by this number. This field cannot be used # together with 'instances'. # Corresponds to the JSON property `resizeBy` # @return [Fixnum] attr_accessor :resize_by # Output only. [Output Only] The URL for this resize request. The server defines # this URL. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Server-defined URL for this resource with the # resource id. # Corresponds to the JSON property `selfLinkWithId` # @return [String] attr_accessor :self_link_with_id # Output only. [Output only] Current state of the request. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Output only. [Output only] Status of the request. # Corresponds to the JSON property `status` # @return [Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatus] attr_accessor :status # Output only. [Output Only] The URL of azone # where the resize request is located. Populated only for zonal resize # requests. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @requested_run_duration = args[:requested_run_duration] if args.key?(:requested_run_duration) @resize_by = args[:resize_by] if args.key?(:resize_by) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @state = args[:state] if args.key?(:state) @status = args[:status] if args.key?(:status) @zone = args[:zone] if args.key?(:zone) end end # class InstanceGroupManagerResizeRequestStatus include Google::Apis::Core::Hashable # Output only. [Output only] Fatal errors encountered during the queueing or # provisioning phases of the ResizeRequest that caused the transition to # the FAILED state. Contrary to the last_attempt errors, this field is # final and errors are never removed from here, as the ResizeRequest is not # going to retry. # Corresponds to the JSON property `error` # @return [Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatus::Error] attr_accessor :error # Output only. [Output only] Information about the last attempt to fulfill the # request. # The value is temporary since the ResizeRequest can retry, as long as it's # still active and the last attempt value can either be cleared or replaced # with a different error. Since ResizeRequest retries infrequently, the # value may be stale and no longer show an active problem. The value is # cleared when ResizeRequest transitions to the final state (becomes # inactive). If the final state is FAILED the error describing it will be # storred in the "error" field only. # Corresponds to the JSON property `lastAttempt` # @return [Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatusLastAttempt] attr_accessor :last_attempt def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @error = args[:error] if args.key?(:error) @last_attempt = args[:last_attempt] if args.key?(:last_attempt) end # Output only. [Output only] Fatal errors encountered during the queueing or # provisioning phases of the ResizeRequest that caused the transition to # the FAILED state. Contrary to the last_attempt errors, this field is # final and errors are never removed from here, as the ResizeRequest is not # going to retry. class Error include Google::Apis::Core::Hashable # [Output Only] The array of errors encountered while processing this # operation. # Corresponds to the JSON property `errors` # @return [Array] attr_accessor :errors def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @errors = args[:errors] if args.key?(:errors) end # class Error include Google::Apis::Core::Hashable # [Output Only] The error type identifier for this error. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] An optional list of messages that contain the error # details. There is a set of defined message types to use for providing # details.The syntax depends on the error code. For example, # QuotaExceededInfo will have details when the error code is # QUOTA_EXCEEDED. # Corresponds to the JSON property `errorDetails` # @return [Array] attr_accessor :error_details # [Output Only] Indicates the field in the request that caused the error. # This property is optional. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location # [Output Only] An optional, human-readable error message. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @error_details = args[:error_details] if args.key?(:error_details) @location = args[:location] if args.key?(:location) @message = args[:message] if args.key?(:message) end # class ErrorDetail include Google::Apis::Core::Hashable # Describes the cause of the error with structured details. # Example of an error when contacting the "pubsub.googleapis.com" API when it # is not enabled: # ` "reason": "API_DISABLED" # "domain": "googleapis.com" # "metadata": ` # "resource": "projects/123", # "service": "pubsub.googleapis.com" # ` # ` # This response indicates that the pubsub.googleapis.com API is not enabled. # Example of an error that is returned when attempting to create a Spanner # instance in a region that is out of stock: # ` "reason": "STOCKOUT" # "domain": "spanner.googleapis.com", # "metadata": ` # "availableRegions": "us-central1,us-east2" # ` # ` # Corresponds to the JSON property `errorInfo` # @return [Google::Apis::ComputeV1::ErrorInfo] attr_accessor :error_info # Provides links to documentation or for performing an out of band action. # For example, if a quota check failed with an error indicating the calling # project hasn't enabled the accessed service, this can contain a URL pointing # directly to the right place in the developer console to flip the bit. # Corresponds to the JSON property `help` # @return [Google::Apis::ComputeV1::Help] attr_accessor :help # Provides a localized error message that is safe to return to the user # which can be attached to an RPC error. # Corresponds to the JSON property `localizedMessage` # @return [Google::Apis::ComputeV1::LocalizedMessage] attr_accessor :localized_message # Additional details for quota exceeded error for resource quota. # Corresponds to the JSON property `quotaInfo` # @return [Google::Apis::ComputeV1::QuotaExceededInfo] attr_accessor :quota_info def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @error_info = args[:error_info] if args.key?(:error_info) @help = args[:help] if args.key?(:help) @localized_message = args[:localized_message] if args.key?(:localized_message) @quota_info = args[:quota_info] if args.key?(:quota_info) end end end end end # class InstanceGroupManagerResizeRequestStatusLastAttempt include Google::Apis::Core::Hashable # Output only. Errors that prevented the ResizeRequest to be fulfilled. # Corresponds to the JSON property `error` # @return [Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatusLastAttempt::Error] attr_accessor :error def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @error = args[:error] if args.key?(:error) end # Output only. Errors that prevented the ResizeRequest to be fulfilled. class Error include Google::Apis::Core::Hashable # [Output Only] The array of errors encountered while processing this # operation. # Corresponds to the JSON property `errors` # @return [Array] attr_accessor :errors def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @errors = args[:errors] if args.key?(:errors) end # class Error include Google::Apis::Core::Hashable # [Output Only] The error type identifier for this error. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] An optional list of messages that contain the error # details. There is a set of defined message types to use for providing # details.The syntax depends on the error code. For example, # QuotaExceededInfo will have details when the error code is # QUOTA_EXCEEDED. # Corresponds to the JSON property `errorDetails` # @return [Array] attr_accessor :error_details # [Output Only] Indicates the field in the request that caused the error. # This property is optional. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location # [Output Only] An optional, human-readable error message. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @error_details = args[:error_details] if args.key?(:error_details) @location = args[:location] if args.key?(:location) @message = args[:message] if args.key?(:message) end # class ErrorDetail include Google::Apis::Core::Hashable # Describes the cause of the error with structured details. # Example of an error when contacting the "pubsub.googleapis.com" API when it # is not enabled: # ` "reason": "API_DISABLED" # "domain": "googleapis.com" # "metadata": ` # "resource": "projects/123", # "service": "pubsub.googleapis.com" # ` # ` # This response indicates that the pubsub.googleapis.com API is not enabled. # Example of an error that is returned when attempting to create a Spanner # instance in a region that is out of stock: # ` "reason": "STOCKOUT" # "domain": "spanner.googleapis.com", # "metadata": ` # "availableRegions": "us-central1,us-east2" # ` # ` # Corresponds to the JSON property `errorInfo` # @return [Google::Apis::ComputeV1::ErrorInfo] attr_accessor :error_info # Provides links to documentation or for performing an out of band action. # For example, if a quota check failed with an error indicating the calling # project hasn't enabled the accessed service, this can contain a URL pointing # directly to the right place in the developer console to flip the bit. # Corresponds to the JSON property `help` # @return [Google::Apis::ComputeV1::Help] attr_accessor :help # Provides a localized error message that is safe to return to the user # which can be attached to an RPC error. # Corresponds to the JSON property `localizedMessage` # @return [Google::Apis::ComputeV1::LocalizedMessage] attr_accessor :localized_message # Additional details for quota exceeded error for resource quota. # Corresponds to the JSON property `quotaInfo` # @return [Google::Apis::ComputeV1::QuotaExceededInfo] attr_accessor :quota_info def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @error_info = args[:error_info] if args.key?(:error_info) @help = args[:help] if args.key?(:help) @localized_message = args[:localized_message] if args.key?(:localized_message) @quota_info = args[:quota_info] if args.key?(:quota_info) end end end end end # [Output Only] A list of resize requests. class InstanceGroupManagerResizeRequestsListResponse include Google::Apis::Core::Hashable # Output only. [Output Only] Unique identifier for the resource; defined by the # server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of resize request resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of the resource. Alwayscompute# # instanceGroupManagerResizeRequestList for # a list of resize requests. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestsListResponse::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # Output only. [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class InstanceGroupManagerResourcePolicies include Google::Apis::Core::Hashable # The URL of the workload policy that is specified for this managed # instance group. # It can be a full or partial URL. For example, the following are # all valid URLs to a workload policy: # # # - https://www.googleapis.com/compute/v1/projects/project/regions/region/ # resourcePolicies/resourcePolicy # - projects/project/regions/region/resourcePolicies/resourcePolicy # - regions/region/resourcePolicies/resourcePolicy # Corresponds to the JSON property `workloadPolicy` # @return [String] attr_accessor :workload_policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @workload_policy = args[:workload_policy] if args.key?(:workload_policy) end end # class InstanceGroupManagerStandbyPolicy include Google::Apis::Core::Hashable # Specifies the number of seconds that the MIG should wait to suspend or # stop a VM after that VM was created. The initial delay gives the # initialization script the time to prepare your VM for a quick scale out. # The value of initial delay must be between 0 and 3600 seconds. The # default value is 0. # Corresponds to the JSON property `initialDelaySec` # @return [Fixnum] attr_accessor :initial_delay_sec # Defines how a MIG resumes or starts VMs from a standby pool when the # group scales out. The default mode is `MANUAL`. # Corresponds to the JSON property `mode` # @return [String] attr_accessor :mode def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @initial_delay_sec = args[:initial_delay_sec] if args.key?(:initial_delay_sec) @mode = args[:mode] if args.key?(:mode) end end # class InstanceGroupManagerStatus include Google::Apis::Core::Hashable # Output only. [Output only] Status of all-instances configuration on the group. # Corresponds to the JSON property `allInstancesConfig` # @return [Google::Apis::ComputeV1::InstanceGroupManagerStatusAllInstancesConfig] attr_accessor :all_instances_config # Output only. [Output Only] The URL of theAutoscaler # that targets this instance group manager. # Corresponds to the JSON property `autoscaler` # @return [String] attr_accessor :autoscaler # Output only. [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. # Corresponds to the JSON property `isStable` # @return [Boolean] attr_accessor :is_stable alias_method :is_stable?, :is_stable # Output only. [Output Only] Stateful status of the given Instance Group Manager. # Corresponds to the JSON property `stateful` # @return [Google::Apis::ComputeV1::InstanceGroupManagerStatusStateful] attr_accessor :stateful # Output only. [Output Only] A status of consistency of Instances' versions with # their # target version specified by version field on Instance Group # Manager. # Corresponds to the JSON property `versionTarget` # @return [Google::Apis::ComputeV1::InstanceGroupManagerStatusVersionTarget] attr_accessor :version_target def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config) @autoscaler = args[:autoscaler] if args.key?(:autoscaler) @is_stable = args[:is_stable] if args.key?(:is_stable) @stateful = args[:stateful] if args.key?(:stateful) @version_target = args[:version_target] if args.key?(:version_target) end end # class InstanceGroupManagerStatusAllInstancesConfig include Google::Apis::Core::Hashable # Output only. [Output Only] Current all-instances configuration revision. # This value is in RFC3339 text format. # Corresponds to the JSON property `currentRevision` # @return [String] attr_accessor :current_revision # Output only. [Output Only] A bit indicating whether this configuration has # been applied to all managed instances in the group. # Corresponds to the JSON property `effective` # @return [Boolean] attr_accessor :effective alias_method :effective?, :effective def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @current_revision = args[:current_revision] if args.key?(:current_revision) @effective = args[:effective] if args.key?(:effective) end end # class InstanceGroupManagerStatusStateful include Google::Apis::Core::Hashable # Output only. [Output Only] A bit indicating whether the managed instance group # has stateful configuration, that is, if you have configured any items # in a stateful policy or in per-instance configs. # The group might report that it has no stateful configuration even when # there is still some preserved state on a managed instance, for example, # if you have deleted all PICs but not yet applied those deletions. # Corresponds to the JSON property `hasStatefulConfig` # @return [Boolean] attr_accessor :has_stateful_config alias_method :has_stateful_config?, :has_stateful_config # Output only. [Output Only] Status of per-instance configurations on the # instances. # Corresponds to the JSON property `perInstanceConfigs` # @return [Google::Apis::ComputeV1::InstanceGroupManagerStatusStatefulPerInstanceConfigs] attr_accessor :per_instance_configs def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @has_stateful_config = args[:has_stateful_config] if args.key?(:has_stateful_config) @per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs) end end # class InstanceGroupManagerStatusStatefulPerInstanceConfigs include Google::Apis::Core::Hashable # Output only. A bit indicating if all of the group's per-instance # configurations # (listed in the output of a listPerInstanceConfigs API call) have # status EFFECTIVE or there are no per-instance-configs. # Corresponds to the JSON property `allEffective` # @return [Boolean] attr_accessor :all_effective alias_method :all_effective?, :all_effective def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @all_effective = args[:all_effective] if args.key?(:all_effective) end end # class InstanceGroupManagerStatusVersionTarget include Google::Apis::Core::Hashable # Output only. [Output Only] A bit indicating whether version target has been # reached # in this managed instance group, i.e. all instances are in their target # version. Instances' target version are specified byversion field on Instance # Group Manager. # Corresponds to the JSON property `isReached` # @return [Boolean] attr_accessor :is_reached alias_method :is_reached?, :is_reached def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @is_reached = args[:is_reached] if args.key?(:is_reached) end end # class InstanceGroupManagerUpdatePolicy include Google::Apis::Core::Hashable # The # instance redistribution policy for regional managed instance groups. # Valid values are: # # - PROACTIVE (default): The group attempts to maintain an # even distribution of VM instances across zones in the region. # - NONE: For non-autoscaled groups, proactive # redistribution is disabled. # Corresponds to the JSON property `instanceRedistributionType` # @return [String] attr_accessor :instance_redistribution_type # Encapsulates numeric value that can be either absolute or relative. # Corresponds to the JSON property `maxSurge` # @return [Google::Apis::ComputeV1::FixedOrPercent] attr_accessor :max_surge # Encapsulates numeric value that can be either absolute or relative. # Corresponds to the JSON property `maxUnavailable` # @return [Google::Apis::ComputeV1::FixedOrPercent] attr_accessor :max_unavailable # 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 toREFRESH. # 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. # Corresponds to the JSON property `minimalAction` # @return [String] attr_accessor :minimal_action # 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. # Corresponds to the JSON property `mostDisruptiveAllowedAction` # @return [String] attr_accessor :most_disruptive_allowed_action # What action should be used to replace instances. # See minimal_action.REPLACE # Corresponds to the JSON property `replacementMethod` # @return [String] attr_accessor :replacement_method # The type # of update process. You can specify either PROACTIVE so # that the MIG automatically updates VMs to the latest configurations # orOPPORTUNISTIC so that you can select the VMs that you want # to update. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_redistribution_type = args[:instance_redistribution_type] if args.key?(:instance_redistribution_type) @max_surge = args[:max_surge] if args.key?(:max_surge) @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable) @minimal_action = args[:minimal_action] if args.key?(:minimal_action) @most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action) @replacement_method = args[:replacement_method] if args.key?(:replacement_method) @type = args[:type] if args.key?(:type) end end # class InstanceGroupManagerVersion include Google::Apis::Core::Hashable # The URL of the instance template that is specified for this managed # instance group. The group uses this template to create new instances in # the managed instance group until the `targetSize` for this version is # reached. The templates for existing instances in the group do not change # unless you run recreateInstances, runapplyUpdatesToInstances, or set the group' # supdatePolicy.type to PROACTIVE; in those cases, # existing instances are updated until the `targetSize` for this version is # reached. # Corresponds to the JSON property `instanceTemplate` # @return [String] attr_accessor :instance_template # Name of the version. Unique among all versions in the scope of this # managed instance group. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Encapsulates numeric value that can be either absolute or relative. # Corresponds to the JSON property `targetSize` # @return [Google::Apis::ComputeV1::FixedOrPercent] attr_accessor :target_size def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_template = args[:instance_template] if args.key?(:instance_template) @name = args[:name] if args.key?(:name) @target_size = args[:target_size] if args.key?(:target_size) end end # class InstanceGroupManagersAbandonInstancesRequest include Google::Apis::Core::Hashable # The URLs of one or more instances to abandon. This can be a full URL or # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) end end # InstanceGroupManagers.applyUpdatesToInstances class InstanceGroupManagersApplyUpdatesRequest include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `allInstances` # @return [Boolean] attr_accessor :all_instances alias_method :all_instances?, :all_instances # 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 aszones/[ZONE]/ # instances/[INSTANCE_NAME]. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances # 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. # Corresponds to the JSON property `minimalAction` # @return [String] attr_accessor :minimal_action # 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. # Corresponds to the JSON property `mostDisruptiveAllowedAction` # @return [String] attr_accessor :most_disruptive_allowed_action def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @all_instances = args[:all_instances] if args.key?(:all_instances) @instances = args[:instances] if args.key?(:instances) @minimal_action = args[:minimal_action] if args.key?(:minimal_action) @most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action) end end # InstanceGroupManagers.createInstances class InstanceGroupManagersCreateInstancesRequest include Google::Apis::Core::Hashable # [Required] List of specifications of per-instance configs. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) end end # class InstanceGroupManagersDeleteInstancesRequest include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances # 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. # Corresponds to the JSON property `skipInstancesOnValidationError` # @return [Boolean] attr_accessor :skip_instances_on_validation_error alias_method :skip_instances_on_validation_error?, :skip_instances_on_validation_error def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) @skip_instances_on_validation_error = args[:skip_instances_on_validation_error] if args.key?(:skip_instances_on_validation_error) end end # InstanceGroupManagers.deletePerInstanceConfigs class InstanceGroupManagersDeletePerInstanceConfigsReq include Google::Apis::Core::Hashable # The list of instance names for which we want to delete per-instance configs # on this managed instance group. # Corresponds to the JSON property `names` # @return [Array] attr_accessor :names def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @names = args[:names] if args.key?(:names) end end # class InstanceGroupManagersListErrorsResponse include Google::Apis::Core::Hashable # Output only. [Output Only] The list of errors of the managed instance group. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # class InstanceGroupManagersListManagedInstancesResponse include Google::Apis::Core::Hashable # Output only. [Output Only] The list of instances in the managed instance group. # Corresponds to the JSON property `managedInstances` # @return [Array] attr_accessor :managed_instances # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @managed_instances = args[:managed_instances] if args.key?(:managed_instances) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # class InstanceGroupManagersListPerInstanceConfigsResp include Google::Apis::Core::Hashable # Output only. [Output Only] The list of PerInstanceConfig. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstanceGroupManagersListPerInstanceConfigsResp::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @warning = args[:warning] if args.key?(:warning) end # Output only. [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # InstanceGroupManagers.patchPerInstanceConfigs class InstanceGroupManagersPatchPerInstanceConfigsReq include Google::Apis::Core::Hashable # The list of per-instance configurations to insert or patch on this managed # instance group. # Corresponds to the JSON property `perInstanceConfigs` # @return [Array] attr_accessor :per_instance_configs def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs) end end # class InstanceGroupManagersRecreateInstancesRequest include Google::Apis::Core::Hashable # The URLs of one or more instances to recreate. This can be a full URL or # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) end end # class InstanceGroupManagersResumeInstancesRequest include Google::Apis::Core::Hashable # The URLs of one or more instances to resume. This can be a full URL or # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) end end # class InstanceGroupManagersScopedList include Google::Apis::Core::Hashable # Output only. [Output Only] The list of managed instance groups that are # contained in # the specified project and zone. # Corresponds to the JSON property `instanceGroupManagers` # @return [Array] attr_accessor :instance_group_managers # Output only. [Output Only] The warning that replaces the list of managed # instance # groups when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstanceGroupManagersScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_group_managers = args[:instance_group_managers] if args.key?(:instance_group_managers) @warning = args[:warning] if args.key?(:warning) end # Output only. [Output Only] The warning that replaces the list of managed # instance # groups when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class InstanceGroupManagersSetInstanceTemplateRequest include Google::Apis::Core::Hashable # 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, # runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE. # Corresponds to the JSON property `instanceTemplate` # @return [String] attr_accessor :instance_template def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_template = args[:instance_template] if args.key?(:instance_template) end end # class InstanceGroupManagersSetTargetPoolsRequest include Google::Apis::Core::Hashable # The fingerprint of the target pools information. Use this optional # property to prevent conflicts when multiple users change the target pools # settings concurrently. Obtain the fingerprint with theinstanceGroupManagers. # get # method. Then, include the fingerprint in your request to ensure that you # do not overwrite changes that were applied from another # concurrent request. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # The list of target pool URLs that instances in this managed instance group # belong to. The managed instance group applies these target pools to all # of the instances in the group. Existing instances and new instances in the # group all receive these target pool settings. # Corresponds to the JSON property `targetPools` # @return [Array] attr_accessor :target_pools def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @target_pools = args[:target_pools] if args.key?(:target_pools) end end # class InstanceGroupManagersStartInstancesRequest include Google::Apis::Core::Hashable # The URLs of one or more instances to start. This can be a full URL or # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) end end # class InstanceGroupManagersStopInstancesRequest include Google::Apis::Core::Hashable # If this flag is set to true, the Instance Group Manager will proceed to # stop the instances, skipping initialization on them. # Corresponds to the JSON property `forceStop` # @return [Boolean] attr_accessor :force_stop alias_method :force_stop?, :force_stop # The URLs of one or more instances to stop. This can be a full URL or # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @force_stop = args[:force_stop] if args.key?(:force_stop) @instances = args[:instances] if args.key?(:instances) end end # class InstanceGroupManagersSuspendInstancesRequest include Google::Apis::Core::Hashable # If this flag is set to true, the Instance Group Manager will proceed to # suspend the instances, skipping initialization on them. # Corresponds to the JSON property `forceSuspend` # @return [Boolean] attr_accessor :force_suspend alias_method :force_suspend?, :force_suspend # The URLs of one or more instances to suspend. This can be a full URL or # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @force_suspend = args[:force_suspend] if args.key?(:force_suspend) @instances = args[:instances] if args.key?(:instances) end end # InstanceGroupManagers.updatePerInstanceConfigs class InstanceGroupManagersUpdatePerInstanceConfigsReq include Google::Apis::Core::Hashable # The list of per-instance configurations to insert or patch on this managed # instance group. # Corresponds to the JSON property `perInstanceConfigs` # @return [Array] attr_accessor :per_instance_configs def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs) end end # class InstanceGroupsAddInstancesRequest include Google::Apis::Core::Hashable # The list of instances to add to the instance group. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) end end # class InstanceGroupsListInstances include Google::Apis::Core::Hashable # Output only. [Output Only] Unique identifier for the resource; defined by the # server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InstanceWithNamedPorts resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] The resource type, which is alwayscompute# # instanceGroupsListInstances for the list of instances # in the specified instance group. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstanceGroupsListInstances::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # Output only. [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class InstanceGroupsListInstancesRequest include Google::Apis::Core::Hashable # A filter for the state of the instances in the instance group. Valid # options are ALL or RUNNING. If you do not specify # this parameter the list includes all instances regardless of their state. # Corresponds to the JSON property `instanceState` # @return [String] attr_accessor :instance_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_state = args[:instance_state] if args.key?(:instance_state) end end # class InstanceGroupsRemoveInstancesRequest include Google::Apis::Core::Hashable # The list of instances to remove from the instance group. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) end end # class InstanceGroupsScopedList include Google::Apis::Core::Hashable # Output only. [Output Only] The list ofinstance # groups that are contained in this scope. # Corresponds to the JSON property `instanceGroups` # @return [Array] attr_accessor :instance_groups # Output only. [Output Only] An informational warning that replaces the list of # instance groups when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstanceGroupsScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_groups = args[:instance_groups] if args.key?(:instance_groups) @warning = args[:warning] if args.key?(:warning) end # Output only. [Output Only] An informational warning that replaces the list of # instance groups when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class InstanceGroupsSetNamedPortsRequest include Google::Apis::Core::Hashable # The fingerprint of the named ports information for this instance group. # Use this optional property to prevent conflicts when multiple users change # the named ports settings concurrently. Obtain the fingerprint with # theinstanceGroups.get # method. Then, include the fingerprint in your request to ensure that you # do not overwrite changes that were applied from another concurrent request. # A request with an incorrect fingerprint will fail with error412 # conditionNotMet. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # The list of named ports to set for this instance group. # Corresponds to the JSON property `namedPorts` # @return [Array] attr_accessor :named_ports def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @named_ports = args[:named_ports] if args.key?(:named_ports) end end # Contains a list of instances. class InstanceList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Instance resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#instanceList # for lists of Instance resources. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstanceList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of instance referrers. class InstanceListReferrers include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Reference resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # instanceListReferrers for lists of Instance referrers. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstanceListReferrers::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class InstanceManagedByIgmError include Google::Apis::Core::Hashable # Output only. [Output Only] Contents of the error. # Corresponds to the JSON property `error` # @return [Google::Apis::ComputeV1::InstanceManagedByIgmErrorManagedInstanceError] attr_accessor :error # Output only. [Output Only] Details of the instance action that triggered this # error. # May be null, if the error was not caused by an action on an instance. # This field is optional. # Corresponds to the JSON property `instanceActionDetails` # @return [Google::Apis::ComputeV1::InstanceManagedByIgmErrorInstanceActionDetails] attr_accessor :instance_action_details # Output only. [Output Only] The time that this error occurred. # This value is in RFC3339 text format. # Corresponds to the JSON property `timestamp` # @return [String] attr_accessor :timestamp def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @error = args[:error] if args.key?(:error) @instance_action_details = args[:instance_action_details] if args.key?(:instance_action_details) @timestamp = args[:timestamp] if args.key?(:timestamp) end end # class InstanceManagedByIgmErrorInstanceActionDetails include Google::Apis::Core::Hashable # Output only. [Output Only] Action that managed instance group was executing on # the instance when the error occurred. Possible values: # Corresponds to the JSON property `action` # @return [String] attr_accessor :action # Output only. [Output Only] The URL of the instance. # The URL can be set even if the instance has not yet been created. # Corresponds to the JSON property `instance` # @return [String] attr_accessor :instance # Output only. [Output Only] Version this instance was created from, or was # being # created from, but the creation failed. Corresponds to one of the versions # that were set on the Instance Group Manager resource at the time this # instance was being created. # Corresponds to the JSON property `version` # @return [Google::Apis::ComputeV1::ManagedInstanceVersion] attr_accessor :version def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @action = args[:action] if args.key?(:action) @instance = args[:instance] if args.key?(:instance) @version = args[:version] if args.key?(:version) end end # class InstanceManagedByIgmErrorManagedInstanceError include Google::Apis::Core::Hashable # Output only. [Output Only] Error code. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # Output only. [Output Only] Error message. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @message = args[:message] if args.key?(:message) end end # class MoveInstanceRequest include Google::Apis::Core::Hashable # The URL of the destination zone to move the instance. This can be a full or # partial URL. For example, the following are all valid URLs to a zone: # # - https://www.googleapis.com/compute/v1/projects/project/zones/zone # - projects/project/zones/zone # - zones/zone # Corresponds to the JSON property `destinationZone` # @return [String] attr_accessor :destination_zone # The URL of the target instance to move. This can be a full or partial URL. # For example, the following are all valid URLs to an instance: # # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/ # instances/instance # - projects/project/zones/zone/instances/instance # - zones/zone/instances/instance # Corresponds to the JSON property `targetInstance` # @return [String] attr_accessor :target_instance def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @destination_zone = args[:destination_zone] if args.key?(:destination_zone) @target_instance = args[:target_instance] if args.key?(:target_instance) end end # Additional instance params. class InstanceParams include Google::Apis::Core::Hashable # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `requestValidForDuration` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :request_valid_for_duration # Resource manager tags to be bound to the instance. Tag keys and values # have the same definition as resource # manager tags. Keys and values can be either in numeric format, # such as `tagKeys/`tag_key_id`` and `tagValues/456` or in namespaced # format such as ``org_id|project_id`/`tag_key_short_name`` and # ``tag_value_short_name``. The field is ignored (both PUT & # PATCH) when empty. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @request_valid_for_duration = args[:request_valid_for_duration] if args.key?(:request_valid_for_duration) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) end end # class InstanceProperties include Google::Apis::Core::Hashable # Specifies options for controlling advanced machine features. # Options that would traditionally be configured in a BIOS belong # here. Features that require operating system support may have # corresponding entries in the GuestOsFeatures of anImage (e.g., whether or not # the OS in theImage supports nested virtualization being enabled or # disabled). # Corresponds to the JSON property `advancedMachineFeatures` # @return [Google::Apis::ComputeV1::AdvancedMachineFeatures] attr_accessor :advanced_machine_features # Enables instances created based on these properties to send packets with # source IP addresses other than their own and receive packets with # destination IP addresses other than their own. If these instances will be # used as an IP gateway or it will be set as the next-hop in a Route # resource, specify true. If unsure, leave this set tofalse. See theEnable IP # forwarding # documentation for more information. # Corresponds to the JSON property `canIpForward` # @return [Boolean] attr_accessor :can_ip_forward alias_method :can_ip_forward?, :can_ip_forward # A set of Confidential Instance options. # Corresponds to the JSON property `confidentialInstanceConfig` # @return [Google::Apis::ComputeV1::ConfidentialInstanceConfig] attr_accessor :confidential_instance_config # An optional text description for the instances that are created from these # properties. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # An array of disks that are associated with the instances that are created # from these properties. # Corresponds to the JSON property `disks` # @return [Array] attr_accessor :disks # A list of guest accelerator cards' type and count to use for instances # created from these properties. # Corresponds to the JSON property `guestAccelerators` # @return [Array] attr_accessor :guest_accelerators # KeyRevocationActionType of the instance. Supported options are "STOP" and # "NONE". The default value is "NONE" if it is not specified. # Corresponds to the JSON property `keyRevocationActionType` # @return [String] attr_accessor :key_revocation_action_type # Labels to apply to instances that are created from these properties. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # The machine type to use for instances that are created from these # properties. # This field only accepts a machine type name, for example `n2-standard-4`. # If you use the machine type full or partial URL, for example # `projects/my-l7ilb-project/zones/us-central1-a/machineTypes/n2-standard-4`, # the request will result in an `INTERNAL_ERROR`. # Corresponds to the JSON property `machineType` # @return [String] attr_accessor :machine_type # A metadata key/value entry. # Corresponds to the JSON property `metadata` # @return [Google::Apis::ComputeV1::Metadata] attr_accessor :metadata # Minimum cpu/platform to be used by instances. The instance may be # scheduled on the specified or newer cpu/platform. Applicable values are the # friendly names of CPU platforms, such asminCpuPlatform: "Intel Haswell" # orminCpuPlatform: "Intel Sandy Bridge". For more # information, read Specifying a # Minimum CPU Platform. # Corresponds to the JSON property `minCpuPlatform` # @return [String] attr_accessor :min_cpu_platform # An array of network access configurations for this interface. # Corresponds to the JSON property `networkInterfaces` # @return [Array] attr_accessor :network_interfaces # Note that for MachineImage, this is not supported yet. # Corresponds to the JSON property `networkPerformanceConfig` # @return [Google::Apis::ComputeV1::NetworkPerformanceConfig] attr_accessor :network_performance_config # The private IPv6 google access type for VMs. # If not specified, use INHERIT_FROM_SUBNETWORK as default. # Note that for MachineImage, this is not supported yet. # Corresponds to the JSON property `privateIpv6GoogleAccess` # @return [String] attr_accessor :private_ipv6_google_access # Specifies the reservations that this instance can consume from. # Corresponds to the JSON property `reservationAffinity` # @return [Google::Apis::ComputeV1::ReservationAffinity] attr_accessor :reservation_affinity # Resource manager tags to be bound to the instance. 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. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags # Resource policies (names, not URLs) applied to instances created from # these properties. # Note that for MachineImage, this is not supported yet. # Corresponds to the JSON property `resourcePolicies` # @return [Array] attr_accessor :resource_policies # Sets the scheduling options for an Instance. # Corresponds to the JSON property `scheduling` # @return [Google::Apis::ComputeV1::Scheduling] attr_accessor :scheduling # A list of service accounts with specified scopes. Access tokens for these # service accounts are available to the instances that are created from # these properties. Use metadata queries to obtain the access tokens for # these instances. # Corresponds to the JSON property `serviceAccounts` # @return [Array] attr_accessor :service_accounts # A set of Shielded Instance options. # Corresponds to the JSON property `shieldedInstanceConfig` # @return [Google::Apis::ComputeV1::ShieldedInstanceConfig] attr_accessor :shielded_instance_config # A set of instance tags. # Corresponds to the JSON property `tags` # @return [Google::Apis::ComputeV1::Tags] attr_accessor :tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features) @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward) @confidential_instance_config = args[:confidential_instance_config] if args.key?(:confidential_instance_config) @description = args[:description] if args.key?(:description) @disks = args[:disks] if args.key?(:disks) @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators) @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type) @labels = args[:labels] if args.key?(:labels) @machine_type = args[:machine_type] if args.key?(:machine_type) @metadata = args[:metadata] if args.key?(:metadata) @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform) @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces) @network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config) @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access) @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) @scheduling = args[:scheduling] if args.key?(:scheduling) @service_accounts = args[:service_accounts] if args.key?(:service_accounts) @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config) @tags = args[:tags] if args.key?(:tags) end end # Represents the change that you want to make to the instance properties. class InstancePropertiesPatch include Google::Apis::Core::Hashable # The label key-value pairs that you want to patch onto the instance. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # The metadata key-value pairs that you want to patch onto the instance. For # more information, see Project and # instance metadata. # Corresponds to the JSON property `metadata` # @return [Hash] attr_accessor :metadata def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @labels = args[:labels] if args.key?(:labels) @metadata = args[:metadata] if args.key?(:metadata) end end # class InstanceReference include Google::Apis::Core::Hashable # The URL for a specific instance. # @required compute.instancegroups.addInstances/removeInstances # Corresponds to the JSON property `instance` # @return [String] attr_accessor :instance def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance = args[:instance] if args.key?(:instance) end end # Represents a Instance Settings resource. You can use instance settings to # configure default settings for Compute Engine VM instances. For example, you # can use it to configure default machine type of Compute Engine VM instances. class InstanceSettings include Google::Apis::Core::Hashable # Specifies a fingerprint for instance settings, which is essentially a hash # of the instance settings resource's contents and used for optimistic # locking. The fingerprint is initially generated by Compute Engine and # changes after every request to modify or update the instance settings # resource. You must always provide an up-to-date fingerprint hash in order # to update or change the resource, otherwise the request will fail with # error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve the resource. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # Output only. [Output Only] Type of the resource. Alwayscompute# # instance_settings for instance settings. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The metadata key/value pairs assigned to all the instances in the # corresponding scope. # Corresponds to the JSON property `metadata` # @return [Google::Apis::ComputeV1::InstanceSettingsMetadata] attr_accessor :metadata # Output only. [Output Only] URL of the zone where the resource resides # You must specify this field as part of the HTTP request URL. It is not # settable as a field in the request body. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @kind = args[:kind] if args.key?(:kind) @metadata = args[:metadata] if args.key?(:metadata) @zone = args[:zone] if args.key?(:zone) end end # class InstanceSettingsMetadata include Google::Apis::Core::Hashable # A metadata key/value items map. # The total size of all keys and values must be less than 512KB. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of the resource. Always compute#metadata # for metadata. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) end end # 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, readInstance Templates. class InstanceTemplate include Google::Apis::Core::Hashable # Output only. [Output Only] The creation timestamp for this instance template # inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] A unique identifier for this instance template. The # server # defines this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] The resource type, which is alwayscompute# # instanceTemplate for instance templates. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource; provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The instance properties for this instance template. # Corresponds to the JSON property `properties` # @return [Google::Apis::ComputeV1::InstanceProperties] attr_accessor :properties # Output only. [Output Only] URL of the region where the instance template # resides. Only # applicable for regional resources. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Output only. [Output Only] The URL for this instance template. The server # defines this # URL. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # 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 # Corresponds to the JSON property `sourceInstance` # @return [String] attr_accessor :source_instance # A specification of the parameters to use when creating the instance template # from a source instance. # Corresponds to the JSON property `sourceInstanceParams` # @return [Google::Apis::ComputeV1::SourceInstanceParams] attr_accessor :source_instance_params def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @properties = args[:properties] if args.key?(:properties) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @source_instance = args[:source_instance] if args.key?(:source_instance) @source_instance_params = args[:source_instance_params] if args.key?(:source_instance_params) end end # Contains a list of InstanceTemplatesScopedList. class InstanceTemplateAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InstanceTemplatesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstanceTemplateAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # A list of instance templates. class InstanceTemplateList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InstanceTemplate resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] The resource type, which is alwayscompute# # instanceTemplatesListResponse for instance template # lists. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstanceTemplateList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class InstanceTemplatesScopedList include Google::Apis::Core::Hashable # [Output Only] A list of instance templates that are contained within # the specified project and zone. # Corresponds to the JSON property `instanceTemplates` # @return [Array] attr_accessor :instance_templates # [Output Only] An informational warning that replaces the list of instance # templates when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstanceTemplatesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_templates = args[:instance_templates] if args.key?(:instance_templates) @warning = args[:warning] if args.key?(:warning) end # [Output Only] An informational warning that replaces the list of instance # templates when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class InstanceWithNamedPorts include Google::Apis::Core::Hashable # Output only. [Output Only] The URL of the instance. # Corresponds to the JSON property `instance` # @return [String] attr_accessor :instance # Output only. [Output Only] The named ports that belong to this instance group. # Corresponds to the JSON property `namedPorts` # @return [Array] attr_accessor :named_ports # Output only. [Output Only] The status of the instance. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance = args[:instance] if args.key?(:instance) @named_ports = args[:named_ports] if args.key?(:named_ports) @status = args[:status] if args.key?(:status) end end # class InstancesAddResourcePoliciesRequest include Google::Apis::Core::Hashable # Resource policies to be added to this instance. # Corresponds to the JSON property `resourcePolicies` # @return [Array] attr_accessor :resource_policies def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) end end # class InstancesBulkInsertOperationMetadata include Google::Apis::Core::Hashable # Status information per location (location name is key). # Example key: zones/us-central1-a # Corresponds to the JSON property `perLocationStatus` # @return [Hash] attr_accessor :per_location_status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @per_location_status = args[:per_location_status] if args.key?(:per_location_status) end end # class InstancesGetEffectiveFirewallsResponse include Google::Apis::Core::Hashable # [Output Only] Effective firewalls from firewall policies. # Corresponds to the JSON property `firewallPolicys` # @return [Array] attr_accessor :firewall_policys # Effective firewalls on the instance. # Corresponds to the JSON property `firewalls` # @return [Array] attr_accessor :firewalls def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @firewall_policys = args[:firewall_policys] if args.key?(:firewall_policys) @firewalls = args[:firewalls] if args.key?(:firewalls) end end # class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy include Google::Apis::Core::Hashable # Output only. [Output Only] Deprecated, please use short name instead. The # display name # of the firewall policy. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Output only. [Output Only] The name of the firewall policy. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] The packet mirroring rules that apply to the # instance. # Corresponds to the JSON property `packetMirroringRules` # @return [Array] attr_accessor :packet_mirroring_rules # Output only. [Output only] Priority of firewall policy association. Not # applicable for # type=HIERARCHY. # Corresponds to the JSON property `priority` # @return [Fixnum] attr_accessor :priority # [Output Only] The rules that apply to the instance. Only rules that # target the specific VM instance are returned if target service accounts # or target secure tags are specified in the rules. # Corresponds to the JSON property `rules` # @return [Array] attr_accessor :rules # Output only. [Output Only] The short name of the firewall policy. # Corresponds to the JSON property `shortName` # @return [String] attr_accessor :short_name # Output only. [Output Only] The type of the firewall policy. Can be one of # HIERARCHY, # NETWORK, NETWORK_REGIONAL, SYSTEM_GLOBAL, SYSTEM_REGIONAL. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_name = args[:display_name] if args.key?(:display_name) @name = args[:name] if args.key?(:name) @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules) @priority = args[:priority] if args.key?(:priority) @rules = args[:rules] if args.key?(:rules) @short_name = args[:short_name] if args.key?(:short_name) @type = args[:type] if args.key?(:type) end end # class InstancesRemoveResourcePoliciesRequest include Google::Apis::Core::Hashable # Resource policies to be removed from this instance. # Corresponds to the JSON property `resourcePolicies` # @return [Array] attr_accessor :resource_policies def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) end end # class InstancesReportHostAsFaultyRequest include Google::Apis::Core::Hashable # The disruption schedule for the VM. Required field, only allows IMMEDIATE. # Corresponds to the JSON property `disruptionSchedule` # @return [String] attr_accessor :disruption_schedule # # Corresponds to the JSON property `faultReasons` # @return [Array] attr_accessor :fault_reasons def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disruption_schedule = args[:disruption_schedule] if args.key?(:disruption_schedule) @fault_reasons = args[:fault_reasons] if args.key?(:fault_reasons) end end # class InstancesReportHostAsFaultyRequestFaultReason include Google::Apis::Core::Hashable # # Corresponds to the JSON property `behavior` # @return [String] attr_accessor :behavior # # Corresponds to the JSON property `description` # @return [String] attr_accessor :description def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @behavior = args[:behavior] if args.key?(:behavior) @description = args[:description] if args.key?(:description) end end # class InstancesScopedList include Google::Apis::Core::Hashable # [Output Only] A list of instances contained in this scope. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances # [Output Only] Informational warning which replaces the list of instances # when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstancesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning which replaces the list of instances # when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class InstancesSetLabelsRequest include Google::Apis::Core::Hashable # Fingerprint of the previous set of labels for this resource, # used to prevent conflicts. Provide the latest fingerprint value when making # a request to add or change labels. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) end end # class InstancesSetMachineResourcesRequest include Google::Apis::Core::Hashable # A list of the type and count of accelerator cards attached to the instance. # Corresponds to the JSON property `guestAccelerators` # @return [Array] attr_accessor :guest_accelerators def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators) end end # class InstancesSetMachineTypeRequest include Google::Apis::Core::Hashable # Full or partial URL of the machine type resource. See Machine Types for a full # list of # machine types. For example:zones/us-central1-f/machineTypes/n1-standard-1 # Corresponds to the JSON property `machineType` # @return [String] attr_accessor :machine_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @machine_type = args[:machine_type] if args.key?(:machine_type) end end # class InstancesSetMinCpuPlatformRequest include Google::Apis::Core::Hashable # Minimum cpu/platform this instance should be started at. # Corresponds to the JSON property `minCpuPlatform` # @return [String] attr_accessor :min_cpu_platform def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform) end end # class InstancesSetNameRequest include Google::Apis::Core::Hashable # The current name of this resource, used to prevent conflicts. Provide the # latest name when making a request to change name. # Corresponds to the JSON property `currentName` # @return [String] attr_accessor :current_name # The name to be applied to the instance. Needs to be RFC 1035 compliant. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @current_name = args[:current_name] if args.key?(:current_name) @name = args[:name] if args.key?(:name) end end # class InstancesSetSecurityPolicyRequest include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `networkInterfaces` # @return [Array] attr_accessor :network_interfaces # 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. # Corresponds to the JSON property `securityPolicy` # @return [String] attr_accessor :security_policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces) @security_policy = args[:security_policy] if args.key?(:security_policy) end end # class InstancesSetServiceAccountRequest include Google::Apis::Core::Hashable # Email address of the service account. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # The list of scopes to be made available for this service account. # Corresponds to the JSON property `scopes` # @return [Array] attr_accessor :scopes def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @email = args[:email] if args.key?(:email) @scopes = args[:scopes] if args.key?(:scopes) end end # class InstancesStartWithEncryptionKeyRequest include Google::Apis::Core::Hashable # Array of disks associated with this instance that are protected with acustomer- # supplied # encryption key. # In order to start the instance, the disk url and its corresponding key must # be provided. # If the disk is not protected with a customer-supplied encryption key it # should not be specified. # Corresponds to the JSON property `disks` # @return [Array] attr_accessor :disks def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disks = args[:disks] if args.key?(:disks) end end # Represents a InstantSnapshot resource. # You can use instant snapshots to create disk rollback points quickly.. class InstantSnapshot include Google::Apis::Core::Hashable # Output only. [Output Only] The architecture of the instant snapshot. Valid # values are # ARM64 or X86_64. # Corresponds to the JSON property `architecture` # @return [String] attr_accessor :architecture # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] Size of the source disk, specified in GB. # Corresponds to the JSON property `diskSizeGb` # @return [Fixnum] attr_accessor :disk_size_gb # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute#instantSnapshot # for InstantSnapshot resources. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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 error412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve a InstantSnapshot. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # Labels to apply to this InstantSnapshot. These can be later modified by # the setLabels method. # Label values may be empty. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Name of the resource; provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [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. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Output only. [Output Only] Status information for the instant snapshot # resource. # Corresponds to the JSON property `resourceStatus` # @return [Google::Apis::ComputeV1::InstantSnapshotResourceStatus] attr_accessor :resource_status # Output only. Reserved for future use. # Corresponds to the JSON property `satisfiesPzi` # @return [Boolean] attr_accessor :satisfies_pzi alias_method :satisfies_pzi?, :satisfies_pzi # Output only. [Output Only] Reserved for future use. # Corresponds to the JSON property `satisfiesPzs` # @return [Boolean] attr_accessor :satisfies_pzs alias_method :satisfies_pzs?, :satisfies_pzs # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Server-defined URL for this resource's resource id. # Corresponds to the JSON property `selfLinkWithId` # @return [String] attr_accessor :self_link_with_id # 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 # Corresponds to the JSON property `sourceDisk` # @return [String] attr_accessor :source_disk # Output only. [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. # Corresponds to the JSON property `sourceDiskId` # @return [String] attr_accessor :source_disk_id # Output only. [Output Only] The status of the instantSnapshot. This can # beCREATING, DELETING, FAILED, orREADY. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Output only. [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. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @architecture = args[:architecture] if args.key?(:architecture) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @region = args[:region] if args.key?(:region) @resource_status = args[:resource_status] if args.key?(:resource_status) @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @source_disk = args[:source_disk] if args.key?(:source_disk) @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id) @status = args[:status] if args.key?(:status) @zone = args[:zone] if args.key?(:zone) end end # class InstantSnapshotAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InstantSnapshotsScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # instantSnapshotAggregatedList for aggregated lists of # instantSnapshots. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstantSnapshotAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of InstantSnapshot resources. class InstantSnapshotList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InstantSnapshot resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstantSnapshotList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class InstantSnapshotResourceStatus include Google::Apis::Core::Hashable # [Output Only] The storage size of this instant snapshot. # Corresponds to the JSON property `storageSizeBytes` # @return [Fixnum] attr_accessor :storage_size_bytes def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @storage_size_bytes = args[:storage_size_bytes] if args.key?(:storage_size_bytes) end end # class InstantSnapshotsScopedList include Google::Apis::Core::Hashable # [Output Only] A list of instantSnapshots contained in this scope. # Corresponds to the JSON property `instantSnapshots` # @return [Array] attr_accessor :instant_snapshots # [Output Only] Informational warning which replaces the list of # instantSnapshots when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InstantSnapshotsScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instant_snapshots = args[:instant_snapshots] if args.key?(:instant_snapshots) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning which replaces the list of # instantSnapshots when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # HttpRouteRuleMatch criteria for field values that must stay # within the specified integer range. class Int64RangeMatch include Google::Apis::Core::Hashable # The end of the range (exclusive) in signed long integer format. # Corresponds to the JSON property `rangeEnd` # @return [Fixnum] attr_accessor :range_end # The start of the range (inclusive) in signed long integer format. # Corresponds to the JSON property `rangeStart` # @return [Fixnum] attr_accessor :range_start def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @range_end = args[:range_end] if args.key?(:range_end) @range_start = args[:range_start] if args.key?(:range_start) end end # 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. class Interconnect include Google::Apis::Core::Hashable # Enable or disable the application awareness feature on this Cloud # Interconnect. # Corresponds to the JSON property `aaiEnabled` # @return [Boolean] attr_accessor :aai_enabled alias_method :aai_enabled?, :aai_enabled # 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. # Corresponds to the JSON property `adminEnabled` # @return [Boolean] attr_accessor :admin_enabled alias_method :admin_enabled?, :admin_enabled # Configuration information for application awareness on this Cloud # Interconnect. # Corresponds to the JSON property `applicationAwareInterconnect` # @return [Google::Apis::ComputeV1::InterconnectApplicationAwareInterconnect] attr_accessor :application_aware_interconnect # [Output only] List of features available for this Interconnect connection, # which can take one of the following values: # # - IF_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. Any # attempt to enable MACsec will fail. # - IF_CROSS_SITE_NETWORK: If present, then the Interconnect connection is # provisioned exclusively for Cross-Site Networking. Any attempt to configure # VLAN attachments will fail. If not present, then the Interconnect # connection is not provisioned for Cross-Site Networking. Any attempt to use # it for Cross-Site Networking will fail. # Corresponds to the JSON property `availableFeatures` # @return [Array] attr_accessor :available_features # Output only. [Output Only] A list of CircuitInfo objects, that describe the # individual # circuits in this LAG. # Corresponds to the JSON property `circuitInfos` # @return [Array] attr_accessor :circuit_infos # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Customer name, to put in the Letter of Authorization as the party # authorized to request a crossconnect. # Corresponds to the JSON property `customerName` # @return [String] attr_accessor :customer_name # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] A list of outages expected for this Interconnect. # Corresponds to the JSON property `expectedOutages` # @return [Array] attr_accessor :expected_outages # Output only. [Output Only] IP address configured on the Google side of the # Interconnect # link. This can be used only for ping tests. # Corresponds to the JSON property `googleIpAddress` # @return [String] attr_accessor :google_ip_address # Output only. [Output Only] Google reference ID to be used when raising support # tickets # with Google or otherwise to debug backend connectivity issues. # Corresponds to the JSON property `googleReferenceId` # @return [String] attr_accessor :google_reference_id # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] A list of the URLs of all InterconnectAttachments # configured # to use this Interconnect. # Corresponds to the JSON property `interconnectAttachments` # @return [Array] attr_accessor :interconnect_attachments # Output only. [Output Only] URLs of InterconnectGroups that include this # Interconnect. # Order is arbitrary and items are unique. # Corresponds to the JSON property `interconnectGroups` # @return [Array] attr_accessor :interconnect_groups # 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. # Corresponds to the JSON property `interconnectType` # @return [String] attr_accessor :interconnect_type # Output only. [Output Only] Type of the resource. Alwayscompute#interconnect # for interconnects. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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 error412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve an Interconnect. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # Labels for this resource. These can only be added or modified by thesetLabels # method. Each label key/value pair must comply withRFC1035. # Label values may be empty. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # 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. # - LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 optics. # Note that this field indicates the speed of each of # the links in the bundle, not the speed of the entire bundle. # Corresponds to the JSON property `linkType` # @return [String] attr_accessor :link_type # URL of the InterconnectLocation object that represents where this # connection is to be provisioned. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location # Configuration information for enabling Media Access Control security # (MACsec) on this Cloud Interconnect connection between Google and your # on-premises router. # Corresponds to the JSON property `macsec` # @return [Google::Apis::ComputeV1::InterconnectMacsec] attr_accessor :macsec # Enable or disable MACsec on this Interconnect connection. MACsec enablement # fails if the MACsec object is not specified. # Corresponds to the JSON property `macsecEnabled` # @return [Boolean] attr_accessor :macsec_enabled alias_method :macsec_enabled?, :macsec_enabled # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # 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. # Corresponds to the JSON property `nocContactEmail` # @return [String] attr_accessor :noc_contact_email # Output only. [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. # Corresponds to the JSON property `operationalStatus` # @return [String] attr_accessor :operational_status # Additional interconnect parameters. # Corresponds to the JSON property `params` # @return [Google::Apis::ComputeV1::InterconnectParams] attr_accessor :params # Output only. [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. # Corresponds to the JSON property `peerIpAddress` # @return [String] attr_accessor :peer_ip_address # Output only. [Output Only] Number of links actually provisioned in this # interconnect. # Corresponds to the JSON property `provisionedLinkCount` # @return [Fixnum] attr_accessor :provisioned_link_count # Indicates that this is a Cross-Cloud Interconnect. This field specifies the # location outside of Google's network that the interconnect is connected to. # Corresponds to the JSON property `remoteLocation` # @return [String] attr_accessor :remote_location # Optional. This parameter can be provided only with Interconnect INSERT. It # isn't valid for Interconnect PATCH. List of features requested for this # Interconnect connection, which can take one of the following values: # # - IF_MACSEC: If specified, then the connection is created on MACsec # capable hardware ports. If not specified, non-MACsec capable ports will # also be considered. # - IF_CROSS_SITE_NETWORK: If specified, then the connection is created # exclusively for Cross-Site Networking. The connection can not be used for # Cross-Site Networking unless this feature is specified. # Corresponds to the JSON property `requestedFeatures` # @return [Array] attr_accessor :requested_features # Target number of physical links in the link bundle, as requested by the # customer. # Corresponds to the JSON property `requestedLinkCount` # @return [Fixnum] attr_accessor :requested_link_count # Output only. [Output Only] Reserved for future use. # Corresponds to the JSON property `satisfiesPzs` # @return [Boolean] attr_accessor :satisfies_pzs alias_method :satisfies_pzs?, :satisfies_pzs # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [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. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Specific subzone in the InterconnectLocation that represents where # this connection is to be provisioned. # Corresponds to the JSON property `subzone` # @return [String] attr_accessor :subzone # Output only. [Output Only] A list of the URLs of all CrossSiteNetwork # WireGroups # configured to use this Interconnect. The Interconnect cannot be deleted if # this list is non-empty. # Corresponds to the JSON property `wireGroups` # @return [Array] attr_accessor :wire_groups def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @aai_enabled = args[:aai_enabled] if args.key?(:aai_enabled) @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled) @application_aware_interconnect = args[:application_aware_interconnect] if args.key?(:application_aware_interconnect) @available_features = args[:available_features] if args.key?(:available_features) @circuit_infos = args[:circuit_infos] if args.key?(:circuit_infos) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @customer_name = args[:customer_name] if args.key?(:customer_name) @description = args[:description] if args.key?(:description) @expected_outages = args[:expected_outages] if args.key?(:expected_outages) @google_ip_address = args[:google_ip_address] if args.key?(:google_ip_address) @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id) @id = args[:id] if args.key?(:id) @interconnect_attachments = args[:interconnect_attachments] if args.key?(:interconnect_attachments) @interconnect_groups = args[:interconnect_groups] if args.key?(:interconnect_groups) @interconnect_type = args[:interconnect_type] if args.key?(:interconnect_type) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @link_type = args[:link_type] if args.key?(:link_type) @location = args[:location] if args.key?(:location) @macsec = args[:macsec] if args.key?(:macsec) @macsec_enabled = args[:macsec_enabled] if args.key?(:macsec_enabled) @name = args[:name] if args.key?(:name) @noc_contact_email = args[:noc_contact_email] if args.key?(:noc_contact_email) @operational_status = args[:operational_status] if args.key?(:operational_status) @params = args[:params] if args.key?(:params) @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address) @provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count) @remote_location = args[:remote_location] if args.key?(:remote_location) @requested_features = args[:requested_features] if args.key?(:requested_features) @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @self_link = args[:self_link] if args.key?(:self_link) @state = args[:state] if args.key?(:state) @subzone = args[:subzone] if args.key?(:subzone) @wire_groups = args[:wire_groups] if args.key?(:wire_groups) end end # Configuration information for application awareness on this Cloud # Interconnect. class InterconnectApplicationAwareInterconnect include Google::Apis::Core::Hashable # # Corresponds to the JSON property `bandwidthPercentagePolicy` # @return [Google::Apis::ComputeV1::InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy] attr_accessor :bandwidth_percentage_policy # Description for the application awareness profile on this Cloud # Interconnect. # Corresponds to the JSON property `profileDescription` # @return [String] attr_accessor :profile_description # Optional field to specify a list of shape average percentages to be # applied in conjunction with StrictPriorityPolicy or # BandwidthPercentagePolicy. # Corresponds to the JSON property `shapeAveragePercentages` # @return [Array] attr_accessor :shape_average_percentages # Specify configuration for StrictPriorityPolicy. # Corresponds to the JSON property `strictPriorityPolicy` # @return [Google::Apis::ComputeV1::InterconnectApplicationAwareInterconnectStrictPriorityPolicy] attr_accessor :strict_priority_policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bandwidth_percentage_policy = args[:bandwidth_percentage_policy] if args.key?(:bandwidth_percentage_policy) @profile_description = args[:profile_description] if args.key?(:profile_description) @shape_average_percentages = args[:shape_average_percentages] if args.key?(:shape_average_percentages) @strict_priority_policy = args[:strict_priority_policy] if args.key?(:strict_priority_policy) end end # Specify bandwidth percentages [1-100] for various traffic classes in # BandwidthPercentagePolicy. The sum of all percentages must equal 100. # All traffic classes must have a percentage value specified. class InterconnectApplicationAwareInterconnectBandwidthPercentage include Google::Apis::Core::Hashable # Bandwidth percentage for a specific traffic class. # Corresponds to the JSON property `percentage` # @return [Fixnum] attr_accessor :percentage # TrafficClass whose bandwidth percentage is being specified. # Corresponds to the JSON property `trafficClass` # @return [String] attr_accessor :traffic_class def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @percentage = args[:percentage] if args.key?(:percentage) @traffic_class = args[:traffic_class] if args.key?(:traffic_class) end end # class InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy include Google::Apis::Core::Hashable # Specify bandwidth percentages for various traffic classes for queuing # type Bandwidth Percent. # Corresponds to the JSON property `bandwidthPercentages` # @return [Array] attr_accessor :bandwidth_percentages def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bandwidth_percentages = args[:bandwidth_percentages] if args.key?(:bandwidth_percentages) end end # Specify configuration for StrictPriorityPolicy. class InterconnectApplicationAwareInterconnectStrictPriorityPolicy include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # Represents an Interconnect Attachment (VLAN) resource. # You can use Interconnect attachments (VLANS) to connect your Virtual Private # Cloud networks to your on-premises networks through an Interconnect. # For more information, read # Creating VLAN Attachments. class InterconnectAttachment include Google::Apis::Core::Hashable # Determines whether this Attachment will carry packets. # Not present for PARTNER_PROVIDER. # Corresponds to the JSON property `adminEnabled` # @return [Boolean] attr_accessor :admin_enabled alias_method :admin_enabled?, :admin_enabled # Output only. [Output Only] URL of the AttachmentGroup that includes this # Attachment. # Corresponds to the JSON property `attachmentGroup` # @return [String] attr_accessor :attachment_group # 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 # - BPS_100G: 100 Gbit/s # - BPS_400G: 400 Gbit/s # Corresponds to the JSON property `bandwidth` # @return [String] attr_accessor :bandwidth # Single IPv4 address + prefix length to be configured on the cloud router # interface for this interconnect attachment. # # - Both candidate_cloud_router_ip_address and # candidate_customer_router_ip_address fields must be set or both must be # unset. # - Prefix length of both candidate_cloud_router_ip_address and # candidate_customer_router_ip_address must be the same. # - Max prefix length is 31. # Corresponds to the JSON property `candidateCloudRouterIpAddress` # @return [String] attr_accessor :candidate_cloud_router_ip_address # Single IPv6 address + prefix length to be configured on the cloud router # interface for this interconnect attachment. # # - Both candidate_cloud_router_ipv6_address and # candidate_customer_router_ipv6_address fields must be set or both must be # unset. # - Prefix length of both candidate_cloud_router_ipv6_address and # candidate_customer_router_ipv6_address must be the same. # - Max prefix length is 126. # Corresponds to the JSON property `candidateCloudRouterIpv6Address` # @return [String] attr_accessor :candidate_cloud_router_ipv6_address # Single IPv4 address + prefix length to be configured on the customer router # interface for this interconnect attachment. # Corresponds to the JSON property `candidateCustomerRouterIpAddress` # @return [String] attr_accessor :candidate_customer_router_ip_address # Single IPv6 address + prefix length to be configured on the customer router # interface for this interconnect attachment. # Corresponds to the JSON property `candidateCustomerRouterIpv6Address` # @return [String] attr_accessor :candidate_customer_router_ipv6_address # This field is not available. # Corresponds to the JSON property `candidateIpv6Subnets` # @return [Array] attr_accessor :candidate_ipv6_subnets # Input only. 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. # Corresponds to the JSON property `candidateSubnets` # @return [Array] attr_accessor :candidate_subnets # Output only. [Output Only] IPv4 address + prefix length to be configured on # Cloud Router # Interface for this interconnect attachment. # Corresponds to the JSON property `cloudRouterIpAddress` # @return [String] attr_accessor :cloud_router_ip_address # Output only. [Output Only] IPv6 address + prefix length to be configured on # Cloud # Router Interface for this interconnect attachment. # Corresponds to the JSON property `cloudRouterIpv6Address` # @return [String] attr_accessor :cloud_router_ipv6_address # This field is not available. # Corresponds to the JSON property `cloudRouterIpv6InterfaceId` # @return [String] attr_accessor :cloud_router_ipv6_interface_id # Output only. [Output Only] Constraints for this attachment, if any. The # attachment does # not work if these constraints are not met. # Corresponds to the JSON property `configurationConstraints` # @return [Google::Apis::ComputeV1::InterconnectAttachmentConfigurationConstraints] attr_accessor :configuration_constraints # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Output only. [Output Only] IPv4 address + prefix length to be configured on # the customer # router subinterface for this interconnect attachment. # Corresponds to the JSON property `customerRouterIpAddress` # @return [String] attr_accessor :customer_router_ip_address # Output only. [Output Only] IPv6 address + prefix length to be configured on # the # customer router subinterface for this interconnect attachment. # Corresponds to the JSON property `customerRouterIpv6Address` # @return [String] attr_accessor :customer_router_ipv6_address # This field is not available. # Corresponds to the JSON property `customerRouterIpv6InterfaceId` # @return [String] attr_accessor :customer_router_ipv6_interface_id # Output only. [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. # Corresponds to the JSON property `dataplaneVersion` # @return [Fixnum] attr_accessor :dataplane_version # An optional description of this resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Input only. 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. # Corresponds to the JSON property `edgeAvailabilityDomain` # @return [String] attr_accessor :edge_availability_domain # 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. # Corresponds to the JSON property `encryption` # @return [String] attr_accessor :encryption # Output only. [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. # Corresponds to the JSON property `googleReferenceId` # @return [String] attr_accessor :google_reference_id # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # URL of the underlying Interconnect object that this attachment's traffic # will traverse through. # Corresponds to the JSON property `interconnect` # @return [String] attr_accessor :interconnect # 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. # Corresponds to the JSON property `ipsecInternalAddresses` # @return [Array] attr_accessor :ipsec_internal_addresses # Output only. [Output Only] Type of the resource. Alwayscompute# # interconnectAttachment for interconnect attachments. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # L2 Interconnect Attachment related configuration. # Corresponds to the JSON property `l2Forwarding` # @return [Google::Apis::ComputeV1::InterconnectAttachmentL2Forwarding] attr_accessor :l2_forwarding # 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 error412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve an InterconnectAttachment. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # Labels for this resource. These can only be added or modified by thesetLabels # method. Each label key/value pair must comply withRFC1035. # Label values may be empty. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Maximum Transmission Unit (MTU), in bytes, of packets passing through this # interconnect attachment. # Valid values are 1440, 1460, 1500, and 8896. If not specified, # the value will default to 1440. # Corresponds to the JSON property `mtu` # @return [Fixnum] attr_accessor :mtu # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [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. # Corresponds to the JSON property `operationalStatus` # @return [String] attr_accessor :operational_status # [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" # Corresponds to the JSON property `pairingKey` # @return [String] attr_accessor :pairing_key # Additional interconnect attachment parameters. # Corresponds to the JSON property `params` # @return [Google::Apis::ComputeV1::InterconnectAttachmentParams] attr_accessor :params # 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. # Corresponds to the JSON property `partnerAsn` # @return [Fixnum] attr_accessor :partner_asn # Informational metadata about Partner attachments from Partners to display # to customers. These fields are propagated from PARTNER_PROVIDER # attachments to their corresponding PARTNER attachments. # Corresponds to the JSON property `partnerMetadata` # @return [Google::Apis::ComputeV1::InterconnectAttachmentPartnerMetadata] attr_accessor :partner_metadata # Information for an interconnect attachment when this belongs to an # interconnect of type DEDICATED. # Corresponds to the JSON property `privateInterconnectInfo` # @return [Google::Apis::ComputeV1::InterconnectAttachmentPrivateInfo] attr_accessor :private_interconnect_info # Output only. [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. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Output only. [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. # Corresponds to the JSON property `remoteService` # @return [String] attr_accessor :remote_service # 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. # Corresponds to the JSON property `router` # @return [String] attr_accessor :router # Output only. [Output Only] Reserved for future use. # Corresponds to the JSON property `satisfiesPzs` # @return [Boolean] attr_accessor :satisfies_pzs alias_method :satisfies_pzs?, :satisfies_pzs # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # 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. # Corresponds to the JSON property `stackType` # @return [String] attr_accessor :stack_type # Output only. [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. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Input only. 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. # Corresponds to the JSON property `subnetLength` # @return [Fixnum] attr_accessor :subnet_length # 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. # - L2_DEDICATED: a L2 attachment to a Dedicated Interconnect. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. # Only specified at creation time. # Corresponds to the JSON property `vlanTag8021q` # @return [Fixnum] attr_accessor :vlan_tag8021q def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled) @attachment_group = args[:attachment_group] if args.key?(:attachment_group) @bandwidth = args[:bandwidth] if args.key?(:bandwidth) @candidate_cloud_router_ip_address = args[:candidate_cloud_router_ip_address] if args.key?(:candidate_cloud_router_ip_address) @candidate_cloud_router_ipv6_address = args[:candidate_cloud_router_ipv6_address] if args.key?(:candidate_cloud_router_ipv6_address) @candidate_customer_router_ip_address = args[:candidate_customer_router_ip_address] if args.key?(:candidate_customer_router_ip_address) @candidate_customer_router_ipv6_address = args[:candidate_customer_router_ipv6_address] if args.key?(:candidate_customer_router_ipv6_address) @candidate_ipv6_subnets = args[:candidate_ipv6_subnets] if args.key?(:candidate_ipv6_subnets) @candidate_subnets = args[:candidate_subnets] if args.key?(:candidate_subnets) @cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address) @cloud_router_ipv6_address = args[:cloud_router_ipv6_address] if args.key?(:cloud_router_ipv6_address) @cloud_router_ipv6_interface_id = args[:cloud_router_ipv6_interface_id] if args.key?(:cloud_router_ipv6_interface_id) @configuration_constraints = args[:configuration_constraints] if args.key?(:configuration_constraints) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address) @customer_router_ipv6_address = args[:customer_router_ipv6_address] if args.key?(:customer_router_ipv6_address) @customer_router_ipv6_interface_id = args[:customer_router_ipv6_interface_id] if args.key?(:customer_router_ipv6_interface_id) @dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version) @description = args[:description] if args.key?(:description) @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain) @encryption = args[:encryption] if args.key?(:encryption) @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id) @id = args[:id] if args.key?(:id) @interconnect = args[:interconnect] if args.key?(:interconnect) @ipsec_internal_addresses = args[:ipsec_internal_addresses] if args.key?(:ipsec_internal_addresses) @kind = args[:kind] if args.key?(:kind) @l2_forwarding = args[:l2_forwarding] if args.key?(:l2_forwarding) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @mtu = args[:mtu] if args.key?(:mtu) @name = args[:name] if args.key?(:name) @operational_status = args[:operational_status] if args.key?(:operational_status) @pairing_key = args[:pairing_key] if args.key?(:pairing_key) @params = args[:params] if args.key?(:params) @partner_asn = args[:partner_asn] if args.key?(:partner_asn) @partner_metadata = args[:partner_metadata] if args.key?(:partner_metadata) @private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info) @region = args[:region] if args.key?(:region) @remote_service = args[:remote_service] if args.key?(:remote_service) @router = args[:router] if args.key?(:router) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @self_link = args[:self_link] if args.key?(:self_link) @stack_type = args[:stack_type] if args.key?(:stack_type) @state = args[:state] if args.key?(:state) @subnet_length = args[:subnet_length] if args.key?(:subnet_length) @type = args[:type] if args.key?(:type) @vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q) end end # class InterconnectAttachmentAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InterconnectAttachmentsScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # interconnectAttachmentAggregatedList for aggregated # lists of interconnect attachments. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class InterconnectAttachmentConfigurationConstraints include Google::Apis::Core::Hashable # Output only. [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. # Corresponds to the JSON property `bgpMd5` # @return [String] attr_accessor :bgp_md5 # Output only. [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. # Corresponds to the JSON property `bgpPeerAsnRanges` # @return [Array] attr_accessor :bgp_peer_asn_ranges def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bgp_md5 = args[:bgp_md5] if args.key?(:bgp_md5) @bgp_peer_asn_ranges = args[:bgp_peer_asn_ranges] if args.key?(:bgp_peer_asn_ranges) end end # class InterconnectAttachmentConfigurationConstraintsBgpPeerAsnRange include Google::Apis::Core::Hashable # # Corresponds to the JSON property `max` # @return [Fixnum] attr_accessor :max # # Corresponds to the JSON property `min` # @return [Fixnum] attr_accessor :min def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @max = args[:max] if args.key?(:max) @min = args[:min] if args.key?(:min) end end # An interconnect attachment group resource allows customers to create, # analyze, and expand highly available deployments. class InterconnectAttachmentGroup include Google::Apis::Core::Hashable # Attachments in the AttachmentGroup. Keys are arbitrary user-specified # strings. Users are encouraged, but not required, to use their preferred # format for resource links as keys. # Note that there are add-members and remove-members methods in gcloud. # The size of this map is limited by an "Attachments per group" quota. # Corresponds to the JSON property `attachments` # @return [Hash] attr_accessor :attachments # [Output Only] The redundancy this group is configured to support. The way a # user queries what SLA their Attachment gets is by looking at this field of # the Attachment's AttachmentGroup. # Corresponds to the JSON property `configured` # @return [Google::Apis::ComputeV1::InterconnectAttachmentGroupConfigured] attr_accessor :configured # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Opaque system-generated token that uniquely identifies the configuration. # If provided when patching a configuration in update mode, the provided # token must match the current token or the update is rejected. This provides # a reliable means of doing read-modify-write (optimistic locking) as # described byAIP 154. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Output only. [Output Only] The unique identifier for the resource type. The # server # generates this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # The user's intent for this AttachmentGroup. This is the only required field # besides the name that must be specified on group creation. # Corresponds to the JSON property `intent` # @return [Google::Apis::ComputeV1::InterconnectAttachmentGroupIntent] attr_accessor :intent # The URL of an InterconnectGroup that groups these Attachments' # Interconnects. Customers do not need to set this unless directed by # Google Support. # Corresponds to the JSON property `interconnectGroup` # @return [String] attr_accessor :interconnect_group # Output only. [Output Only] Type of the resource. Always # compute#interconnectAttachmentGroup. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] An analysis of the logical layout of Attachments in this # group. Every Attachment in the group is shown once in this structure. # Corresponds to the JSON property `logicalStructure` # @return [Google::Apis::ComputeV1::InterconnectAttachmentGroupLogicalStructure] attr_accessor :logical_structure # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @attachments = args[:attachments] if args.key?(:attachments) @configured = args[:configured] if args.key?(:configured) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @intent = args[:intent] if args.key?(:intent) @interconnect_group = args[:interconnect_group] if args.key?(:interconnect_group) @kind = args[:kind] if args.key?(:kind) @logical_structure = args[:logical_structure] if args.key?(:logical_structure) @name = args[:name] if args.key?(:name) @self_link = args[:self_link] if args.key?(:self_link) end end # An Attachment in this AttachmentGroup. class InterconnectAttachmentGroupAttachment include Google::Apis::Core::Hashable # # Corresponds to the JSON property `attachment` # @return [String] attr_accessor :attachment def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @attachment = args[:attachment] if args.key?(:attachment) end end # [Output Only] The redundancy this group is configured to support. The way a # user queries what SLA their Attachment gets is by looking at this field of # the Attachment's AttachmentGroup. class InterconnectAttachmentGroupConfigured include Google::Apis::Core::Hashable # [Output Only] Which SLA this group is configured to support, and why this # group does or does not meet that SLA's requirements. # Corresponds to the JSON property `availabilitySla` # @return [Google::Apis::ComputeV1::InterconnectAttachmentGroupConfiguredAvailabilitySla] attr_accessor :availability_sla def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @availability_sla = args[:availability_sla] if args.key?(:availability_sla) end end # [Output Only] Which SLA this group is configured to support, and why this # group does or does not meet that SLA's requirements. class InterconnectAttachmentGroupConfiguredAvailabilitySla include Google::Apis::Core::Hashable # # Corresponds to the JSON property `effectiveSla` # @return [String] attr_accessor :effective_sla # # Corresponds to the JSON property `intendedSlaBlockers` # @return [Array] attr_accessor :intended_sla_blockers def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @effective_sla = args[:effective_sla] if args.key?(:effective_sla) @intended_sla_blockers = args[:intended_sla_blockers] if args.key?(:intended_sla_blockers) end end # [Output Only] Reasons why configuration.availabilitySLA.sla differs from # intent.availabilitySLA. This list is empty if and only if those are the # same. class InterconnectAttachmentGroupConfiguredAvailabilitySlaIntendedSlaBlockers include Google::Apis::Core::Hashable # Output only. [Output Only] URLs of any particular Attachments to explain this # blocker in more detail. # Corresponds to the JSON property `attachments` # @return [Array] attr_accessor :attachments # # Corresponds to the JSON property `blockerType` # @return [String] attr_accessor :blocker_type # Output only. [Output Only] The url of Google Cloud public documentation # explaining # this requirement. This is set for every type of requirement. # Corresponds to the JSON property `documentationLink` # @return [String] attr_accessor :documentation_link # Output only. [Output Only] A human-readable explanation of this requirement # and # why it's not met. This is set for every type of requirement. # Corresponds to the JSON property `explanation` # @return [String] attr_accessor :explanation # Output only. [Output Only] Metros used to explain this blocker in more detail. # These are three-letter lowercase strings like "iad". This will be set # for some blockers (like NO_ATTACHMENTS_IN_METRO_AND_ZONE) but does # not apply to others. # Corresponds to the JSON property `metros` # @return [Array] attr_accessor :metros # Output only. [Output Only] Regions used to explain this blocker in more # detail. These are region names formatted like "us-central1". This # will be set for some blockers (like INCOMPATIBLE_REGIONS) but does # not apply to others. # Corresponds to the JSON property `regions` # @return [Array] attr_accessor :regions # Output only. [Output Only] Zones used to explain this blocker in more detail. # Format is "zone1" and/or "zone2". This will be set for some blockers # (like MISSING_ZONE) but does not apply to others. # Corresponds to the JSON property `zones` # @return [Array] attr_accessor :zones def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @attachments = args[:attachments] if args.key?(:attachments) @blocker_type = args[:blocker_type] if args.key?(:blocker_type) @documentation_link = args[:documentation_link] if args.key?(:documentation_link) @explanation = args[:explanation] if args.key?(:explanation) @metros = args[:metros] if args.key?(:metros) @regions = args[:regions] if args.key?(:regions) @zones = args[:zones] if args.key?(:zones) end end # The user's intent for this AttachmentGroup. This is the only required field # besides the name that must be specified on group creation. class InterconnectAttachmentGroupIntent include Google::Apis::Core::Hashable # # Corresponds to the JSON property `availabilitySla` # @return [String] attr_accessor :availability_sla def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @availability_sla = args[:availability_sla] if args.key?(:availability_sla) end end # [Output Only] An analysis of the logical layout of Attachments in this # group. Every Attachment in the group is shown once in this structure. class InterconnectAttachmentGroupLogicalStructure include Google::Apis::Core::Hashable # # Corresponds to the JSON property `regions` # @return [Array] attr_accessor :regions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @regions = args[:regions] if args.key?(:regions) end end # [Output Only] The regions Attachments in this group are in. class InterconnectAttachmentGroupLogicalStructureRegion include Google::Apis::Core::Hashable # # Corresponds to the JSON property `metros` # @return [Array] attr_accessor :metros # Output only. [Output Only] The name of a region, like "us-central1". # Corresponds to the JSON property `region` # @return [String] attr_accessor :region def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @metros = args[:metros] if args.key?(:metros) @region = args[:region] if args.key?(:region) end end # [Output Only] The metros of Attachments in this group in this region. class InterconnectAttachmentGroupLogicalStructureRegionMetro include Google::Apis::Core::Hashable # # Corresponds to the JSON property `facilities` # @return [Array] attr_accessor :facilities # Output only. [Output Only] The name of the metro, as a three-letter lowercase # string like "iad". This is the first component of the location of an # Interconnect. # Corresponds to the JSON property `metro` # @return [String] attr_accessor :metro def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @facilities = args[:facilities] if args.key?(:facilities) @metro = args[:metro] if args.key?(:metro) end end # [Output Only] The facilities used for this group's Attachments' # Interconnects. class InterconnectAttachmentGroupLogicalStructureRegionMetroFacility include Google::Apis::Core::Hashable # Output only. [Output Only] The name of a facility, like "iad-1234". # Corresponds to the JSON property `facility` # @return [String] attr_accessor :facility # # Corresponds to the JSON property `zones` # @return [Array] attr_accessor :zones def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @facility = args[:facility] if args.key?(:facility) @zones = args[:zones] if args.key?(:zones) end end # [Output Only] The zones that Attachments in this group are present # in, in the given facilities. This is inherited from their # Interconnects. class InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone include Google::Apis::Core::Hashable # Output only. [Output Only] URLs of Attachments in the given zone, to the given # region, on Interconnects in the given facility and metro. Every # Attachment in the AG has such an entry. # Corresponds to the JSON property `attachments` # @return [Array] attr_accessor :attachments # Output only. [Output Only] The name of a zone, either "zone1" or "zone2". # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @attachments = args[:attachments] if args.key?(:attachments) @zone = args[:zone] if args.key?(:zone) end end # Response for the InterconnectAttachmentGroupsGetOperationalStatusResponse. class InterconnectAttachmentGroupsGetOperationalStatusResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # # Corresponds to the JSON property `result` # @return [Google::Apis::ComputeV1::InterconnectAttachmentGroupsOperationalStatus] attr_accessor :result def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @result = args[:result] if args.key?(:result) end end # class InterconnectAttachmentGroupsListResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InterconnectAttachmentGroup resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # end_interface: # MixerListResponseWithEtagBuilder # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InterconnectAttachmentGroupsListResponse::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class InterconnectAttachmentGroupsOperationalStatus include Google::Apis::Core::Hashable # # Corresponds to the JSON property `attachmentStatuses` # @return [Array] attr_accessor :attachment_statuses # [Output Only] The redundancy this group is configured to support. The way a # user queries what SLA their Attachment gets is by looking at this field of # the Attachment's AttachmentGroup. # Corresponds to the JSON property `configured` # @return [Google::Apis::ComputeV1::InterconnectAttachmentGroupConfigured] attr_accessor :configured # Output only. Summarizes the status of the group. # Corresponds to the JSON property `groupStatus` # @return [String] attr_accessor :group_status # The user's intent for this AttachmentGroup. This is the only required field # besides the name that must be specified on group creation. # Corresponds to the JSON property `intent` # @return [Google::Apis::ComputeV1::InterconnectAttachmentGroupIntent] attr_accessor :intent # [Output Only] The redundancy this group is configured to support. The way a # user queries what SLA their Attachment gets is by looking at this field of # the Attachment's AttachmentGroup. # Corresponds to the JSON property `operational` # @return [Google::Apis::ComputeV1::InterconnectAttachmentGroupConfigured] attr_accessor :operational def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @attachment_statuses = args[:attachment_statuses] if args.key?(:attachment_statuses) @configured = args[:configured] if args.key?(:configured) @group_status = args[:group_status] if args.key?(:group_status) @intent = args[:intent] if args.key?(:intent) @operational = args[:operational] if args.key?(:operational) end end # The status of one Attachment in the group. List order is arbitrary. class InterconnectAttachmentGroupsOperationalStatusAttachmentStatus include Google::Apis::Core::Hashable # Output only. Whether this Attachment is enabled. This becomes false when the # customer # drains their Attachment. # Corresponds to the JSON property `adminEnabled` # @return [Boolean] attr_accessor :admin_enabled alias_method :admin_enabled?, :admin_enabled # Output only. The URL of the Attachment being described. # Corresponds to the JSON property `attachment` # @return [String] attr_accessor :attachment # Output only. Whether this Attachment is participating in the redundant # configuration. # This will be ACTIVE if and only if the status below is CONNECTION_UP. # Any INACTIVE Attachments are excluded from the analysis that generates # operational.availabilitySLA. # Corresponds to the JSON property `isActive` # @return [String] attr_accessor :is_active # Output only. Whether this Attachment is active, and if so, whether BGP is up. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled) @attachment = args[:attachment] if args.key?(:attachment) @is_active = args[:is_active] if args.key?(:is_active) @status = args[:status] if args.key?(:status) end end # L2 Interconnect Attachment related configuration. class InterconnectAttachmentL2Forwarding include Google::Apis::Core::Hashable # Optional. A map of VLAN tags to appliances and optional inner mapping # rules. If VLANs are not explicitly mapped to any appliance, the # defaultApplianceIpAddress is used. # Each VLAN tag can be a single number or a range of numbers in the range # of 1 to 4094, e.g., "1" or "4001-4094". Non-empty and non-overlapping # VLAN tag ranges are enforced, and violating operations will be rejected. # The VLAN tags in the Ethernet header must use an ethertype value of # 0x88A8 or 0x8100. # Corresponds to the JSON property `applianceMappings` # @return [Hash] attr_accessor :appliance_mappings # Optional. A single IPv4 or IPv6 address used as the default destination # IP when there is no VLAN mapping result found. # Unset field (null-value) indicates the unmatched packet should be # dropped. # Corresponds to the JSON property `defaultApplianceIpAddress` # @return [String] attr_accessor :default_appliance_ip_address # GeneveHeader related configurations. # Corresponds to the JSON property `geneveHeader` # @return [Google::Apis::ComputeV1::InterconnectAttachmentL2ForwardingGeneveHeader] attr_accessor :geneve_header # Required. Resource URL of the network to which this attachment belongs. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # Required. A single IPv4 or IPv6 address. This address will be used as the # source IP address for packets sent to the appliances, and must be used as # the destination IP address for packets that should be sent out through # this attachment. # Corresponds to the JSON property `tunnelEndpointIpAddress` # @return [String] attr_accessor :tunnel_endpoint_ip_address def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @appliance_mappings = args[:appliance_mappings] if args.key?(:appliance_mappings) @default_appliance_ip_address = args[:default_appliance_ip_address] if args.key?(:default_appliance_ip_address) @geneve_header = args[:geneve_header] if args.key?(:geneve_header) @network = args[:network] if args.key?(:network) @tunnel_endpoint_ip_address = args[:tunnel_endpoint_ip_address] if args.key?(:tunnel_endpoint_ip_address) end end # Two-level VLAN-to-Appliance mapping rule. class InterconnectAttachmentL2ForwardingApplianceMapping include Google::Apis::Core::Hashable # Optional. A single IPv4 or IPv6 address used as the destination IP # address for ingress packets that match on a VLAN tag, but do not match # a more specific inner VLAN tag. # Unset field (null-value) indicates both VLAN tags are required to be # mapped. Otherwise, defaultApplianceIpAddress is used. # Corresponds to the JSON property `applianceIpAddress` # @return [String] attr_accessor :appliance_ip_address # Optional. Used to match against the inner VLAN when the packet # contains two VLAN tags. # A list of mapping rules from inner VLAN tags to IP addresses. If the # inner VLAN is not explicitly mapped to an IP address range, the # applianceIpAddress is used. # Corresponds to the JSON property `innerVlanToApplianceMappings` # @return [Array] attr_accessor :inner_vlan_to_appliance_mappings # Optional. The name of this appliance mapping rule. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @appliance_ip_address = args[:appliance_ip_address] if args.key?(:appliance_ip_address) @inner_vlan_to_appliance_mappings = args[:inner_vlan_to_appliance_mappings] if args.key?(:inner_vlan_to_appliance_mappings) @name = args[:name] if args.key?(:name) end end # The inner VLAN-to-Appliance mapping. class InterconnectAttachmentL2ForwardingApplianceMappingInnerVlanToApplianceMapping include Google::Apis::Core::Hashable # Required in this object. A single IPv4 or IPv6 address used as the # destination IP address for ingress packets that match on both VLAN # tags. # Corresponds to the JSON property `innerApplianceIpAddress` # @return [String] attr_accessor :inner_appliance_ip_address # Required in this object. Used to match the inner VLAN tag on the # packet. Each entry can be a single number or a range of numbers in # the range of 1 to 4094, e.g., ["1", "4001-4094"] is valid. Non-empty # and Non-overlapping VLAN tag ranges are enforced, and violating # operations will be rejected. # The inner VLAN tags must have an ethertype value of 0x8100. # Corresponds to the JSON property `innerVlanTags` # @return [Array] attr_accessor :inner_vlan_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @inner_appliance_ip_address = args[:inner_appliance_ip_address] if args.key?(:inner_appliance_ip_address) @inner_vlan_tags = args[:inner_vlan_tags] if args.key?(:inner_vlan_tags) end end # GeneveHeader related configurations. class InterconnectAttachmentL2ForwardingGeneveHeader include Google::Apis::Core::Hashable # Optional. VNI is a 24-bit unique virtual network identifier, from 0 to # 16,777,215. # Corresponds to the JSON property `vni` # @return [Fixnum] attr_accessor :vni def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @vni = args[:vni] if args.key?(:vni) end end # Response to the list request, and contains a list of interconnect # attachments. class InterconnectAttachmentList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InterconnectAttachment resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # interconnectAttachmentList for lists of interconnect # attachments. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InterconnectAttachmentList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Additional interconnect attachment parameters. class InterconnectAttachmentParams include Google::Apis::Core::Hashable # Tag keys/values directly bound to this resource. # Tag keys and values have the same definition as resource # manager tags. The field is allowed for INSERT # only. The keys/values to set on the resource should be specified in # either ID ` : ` or Namespaced format # ` : `. # For example the following are valid inputs: # * `"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` # * `"123/environment" : "production", "345/abc" : "xyz"` # Note: # * Invalid combinations of ID & namespaced format is not supported. For # instance: `"123/environment" : "tagValues/444"` is invalid. # * Inconsistent format is not supported. For instance: # `"tagKeys/333" : "tagValues/444", "123/env" : "prod"` is invalid. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) end end # Informational metadata about Partner attachments from Partners to display # to customers. These fields are propagated from PARTNER_PROVIDER # attachments to their corresponding PARTNER attachments. class InterconnectAttachmentPartnerMetadata include Google::Apis::Core::Hashable # Plain text name of the Interconnect this attachment is connected to, as # displayed in the Partner's portal. For instance "Chicago 1". # This value may be validated to match approved Partner values. # Corresponds to the JSON property `interconnectName` # @return [String] attr_accessor :interconnect_name # Plain text name of the Partner providing this attachment. # This value may be validated to match approved Partner values. # Corresponds to the JSON property `partnerName` # @return [String] attr_accessor :partner_name # URL of the Partner's portal for this Attachment. Partners may customise # this to be a deep link to the specific resource on the Partner portal. # This value may be validated to match approved Partner values. # Corresponds to the JSON property `portalUrl` # @return [String] attr_accessor :portal_url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @interconnect_name = args[:interconnect_name] if args.key?(:interconnect_name) @partner_name = args[:partner_name] if args.key?(:partner_name) @portal_url = args[:portal_url] if args.key?(:portal_url) end end # Information for an interconnect attachment when this belongs to an # interconnect of type DEDICATED. class InterconnectAttachmentPrivateInfo include Google::Apis::Core::Hashable # [Output Only] 802.1q encapsulation tag to be used for traffic between # Google and the customer, going to and from this network and region. # Corresponds to the JSON property `tag8021q` # @return [Fixnum] attr_accessor :tag8021q def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @tag8021q = args[:tag8021q] if args.key?(:tag8021q) end end # class InterconnectAttachmentsScopedList include Google::Apis::Core::Hashable # A list of interconnect attachments contained in this scope. # Corresponds to the JSON property `interconnectAttachments` # @return [Array] attr_accessor :interconnect_attachments # Informational warning which replaces the list of addresses when # the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InterconnectAttachmentsScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @interconnect_attachments = args[:interconnect_attachments] if args.key?(:interconnect_attachments) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of addresses when # the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Describes a single physical circuit between the Customer and Google. # CircuitInfo objects are created by Google, so all fields are output only. class InterconnectCircuitInfo include Google::Apis::Core::Hashable # Customer-side demarc ID for this circuit. # Corresponds to the JSON property `customerDemarcId` # @return [String] attr_accessor :customer_demarc_id # Google-assigned unique ID for this circuit. Assigned at circuit turn-up. # Corresponds to the JSON property `googleCircuitId` # @return [String] attr_accessor :google_circuit_id # Google-side demarc ID for this circuit. Assigned at circuit turn-up and # provided by Google to the customer in the LOA. # Corresponds to the JSON property `googleDemarcId` # @return [String] attr_accessor :google_demarc_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @customer_demarc_id = args[:customer_demarc_id] if args.key?(:customer_demarc_id) @google_circuit_id = args[:google_circuit_id] if args.key?(:google_circuit_id) @google_demarc_id = args[:google_demarc_id] if args.key?(:google_demarc_id) end end # Diagnostics information about the Interconnect connection, which contains # detailed and current technical information about Google's side of the # connection. class InterconnectDiagnostics include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `arpCaches` # @return [Array] attr_accessor :arp_caches # The aggregation type of the bundle interface. # Corresponds to the JSON property `bundleAggregationType` # @return [String] attr_accessor :bundle_aggregation_type # The operational status of the bundle interface. # Corresponds to the JSON property `bundleOperationalStatus` # @return [String] attr_accessor :bundle_operational_status # A list of InterconnectDiagnostics.LinkStatus objects, # describing the status for each link on the Interconnect. # Corresponds to the JSON property `links` # @return [Array] attr_accessor :links # The MAC address of the Interconnect's bundle interface. # Corresponds to the JSON property `macAddress` # @return [String] attr_accessor :mac_address def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @arp_caches = args[:arp_caches] if args.key?(:arp_caches) @bundle_aggregation_type = args[:bundle_aggregation_type] if args.key?(:bundle_aggregation_type) @bundle_operational_status = args[:bundle_operational_status] if args.key?(:bundle_operational_status) @links = args[:links] if args.key?(:links) @mac_address = args[:mac_address] if args.key?(:mac_address) end end # Describing the ARP neighbor entries seen on this link class InterconnectDiagnosticsArpEntry include Google::Apis::Core::Hashable # The IP address of this ARP neighbor. # Corresponds to the JSON property `ipAddress` # @return [String] attr_accessor :ip_address # The MAC address of this ARP neighbor. # Corresponds to the JSON property `macAddress` # @return [String] attr_accessor :mac_address def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ip_address = args[:ip_address] if args.key?(:ip_address) @mac_address = args[:mac_address] if args.key?(:mac_address) end end # class InterconnectDiagnosticsLinkLacpStatus include Google::Apis::Core::Hashable # System ID of the port on Google's side of the LACP exchange. # Corresponds to the JSON property `googleSystemId` # @return [String] attr_accessor :google_system_id # System ID of the port on the neighbor's side of the LACP exchange. # Corresponds to the JSON property `neighborSystemId` # @return [String] attr_accessor :neighbor_system_id # The state of a LACP link, which can take one of the following values: # # - ACTIVE: The link is configured and active within the bundle. # - DETACHED: The link is not configured within the bundle. This means # that the rest of the object should be empty. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @google_system_id = args[:google_system_id] if args.key?(:google_system_id) @neighbor_system_id = args[:neighbor_system_id] if args.key?(:neighbor_system_id) @state = args[:state] if args.key?(:state) end end # class InterconnectDiagnosticsLinkOpticalPower include Google::Apis::Core::Hashable # The status of the current value when compared to the warning and alarm # levels for the receiving or transmitting transceiver. Possible states # include: # # # - OK: The value has not crossed a warning threshold. # - LOW_WARNING: The value has crossed below the low # warning threshold. # - HIGH_WARNING: The value has # crossed above the high warning threshold. # - LOW_ALARM: The value has crossed below the low alarm # threshold. # - HIGH_ALARM: The value has crossed above the high alarm # threshold. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Value of the current receiving or transmitting optical power, read in # dBm. Take a known good optical value, give it a 10% margin and trigger # warnings relative to that value. In general, a -7dBm warning and a -11dBm # alarm are good optical value estimates for most links. # Corresponds to the JSON property `value` # @return [Float] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @state = args[:state] if args.key?(:state) @value = args[:value] if args.key?(:value) end end # class InterconnectDiagnosticsLinkStatus include Google::Apis::Core::Hashable # A list of InterconnectDiagnostics.ARPEntry objects, # describing the ARP neighbor entries seen on this link. # This will be empty if the link is bundled # Corresponds to the JSON property `arpCaches` # @return [Array] attr_accessor :arp_caches # The unique ID for this link assigned during turn up by Google. # Corresponds to the JSON property `circuitId` # @return [String] attr_accessor :circuit_id # The Demarc address assigned by Google and provided in the LoA. # Corresponds to the JSON property `googleDemarc` # @return [String] attr_accessor :google_demarc # # Corresponds to the JSON property `lacpStatus` # @return [Google::Apis::ComputeV1::InterconnectDiagnosticsLinkLacpStatus] attr_accessor :lacp_status # Describes the status of MACsec encryption on the link. # Corresponds to the JSON property `macsec` # @return [Google::Apis::ComputeV1::InterconnectDiagnosticsMacsecStatus] attr_accessor :macsec # The operational status of the link. # Corresponds to the JSON property `operationalStatus` # @return [String] attr_accessor :operational_status # An InterconnectDiagnostics.LinkOpticalPower object, # describing the current value and status of the received light level. # Corresponds to the JSON property `receivingOpticalPower` # @return [Google::Apis::ComputeV1::InterconnectDiagnosticsLinkOpticalPower] attr_accessor :receiving_optical_power # An InterconnectDiagnostics.LinkOpticalPower object, # describing the current value and status of the transmitted light level. # Corresponds to the JSON property `transmittingOpticalPower` # @return [Google::Apis::ComputeV1::InterconnectDiagnosticsLinkOpticalPower] attr_accessor :transmitting_optical_power def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @arp_caches = args[:arp_caches] if args.key?(:arp_caches) @circuit_id = args[:circuit_id] if args.key?(:circuit_id) @google_demarc = args[:google_demarc] if args.key?(:google_demarc) @lacp_status = args[:lacp_status] if args.key?(:lacp_status) @macsec = args[:macsec] if args.key?(:macsec) @operational_status = args[:operational_status] if args.key?(:operational_status) @receiving_optical_power = args[:receiving_optical_power] if args.key?(:receiving_optical_power) @transmitting_optical_power = args[:transmitting_optical_power] if args.key?(:transmitting_optical_power) end end # Describes the status of MACsec encryption on the link. class InterconnectDiagnosticsMacsecStatus include Google::Apis::Core::Hashable # Indicates the Connectivity Association Key Name (CKN) # currently being used if MACsec is operational. # Corresponds to the JSON property `ckn` # @return [String] attr_accessor :ckn # Indicates whether or not MACsec is operational on this link. # Corresponds to the JSON property `operational` # @return [Boolean] attr_accessor :operational alias_method :operational?, :operational def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ckn = args[:ckn] if args.key?(:ckn) @operational = args[:operational] if args.key?(:operational) end end # An interconnect group resource allows customers to create, analyze, and # expand their redundant connections. class InterconnectGroup include Google::Apis::Core::Hashable # [Output Only] The status of the group as configured. This has the same # structure as the operational field reported by the OperationalStatus # method, but does not take into account the operational status of each # resource. # Corresponds to the JSON property `configured` # @return [Google::Apis::ComputeV1::InterconnectGroupConfigured] attr_accessor :configured # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Opaque system-generated token that uniquely identifies the configuration. # If provided when patching a configuration in update mode, the provided # token must match the current token or the update is rejected. This provides # a reliable means of doing read-modify-write (optimistic locking) as # described by AIP 154. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Output only. [Output Only] The unique identifier for the resource type. The # server # generates this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # The user's intent for this group. This is the only required field besides # the name that must be specified on group creation. # Corresponds to the JSON property `intent` # @return [Google::Apis::ComputeV1::InterconnectGroupIntent] attr_accessor :intent # Interconnects in the InterconnectGroup. Keys are arbitrary user-specified # strings. Users are encouraged, but not required, to use their preferred # format for resource links as keys. # Note that there are add-members and remove-members methods in gcloud. # The size of this map is limited by an "Interconnects per group" quota. # Corresponds to the JSON property `interconnects` # @return [Hash] attr_accessor :interconnects # Output only. [Output Only] Type of the resource. Always compute# # InterconnectGroup # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # [Output Only] An analysis of the physical layout of Interconnects in this # group. Every Interconnect in the group is shown once in this structure. # Corresponds to the JSON property `physicalStructure` # @return [Google::Apis::ComputeV1::InterconnectGroupPhysicalStructure] attr_accessor :physical_structure # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @configured = args[:configured] if args.key?(:configured) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @intent = args[:intent] if args.key?(:intent) @interconnects = args[:interconnects] if args.key?(:interconnects) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @physical_structure = args[:physical_structure] if args.key?(:physical_structure) @self_link = args[:self_link] if args.key?(:self_link) end end # [Output Only] The status of the group as configured. This has the same # structure as the operational field reported by the OperationalStatus # method, but does not take into account the operational status of each # resource. class InterconnectGroupConfigured include Google::Apis::Core::Hashable # [Output Only] How reliable this topology is configured to be, and why # this group does or does not meet the requirements for the intended # capability. # Corresponds to the JSON property `topologyCapability` # @return [Google::Apis::ComputeV1::InterconnectGroupConfiguredTopologyCapability] attr_accessor :topology_capability def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @topology_capability = args[:topology_capability] if args.key?(:topology_capability) end end # [Output Only] How reliable this topology is configured to be, and why # this group does or does not meet the requirements for the intended # capability. class InterconnectGroupConfiguredTopologyCapability include Google::Apis::Core::Hashable # # Corresponds to the JSON property `intendedCapabilityBlockers` # @return [Array] attr_accessor :intended_capability_blockers # # Corresponds to the JSON property `supportedSla` # @return [String] attr_accessor :supported_sla def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @intended_capability_blockers = args[:intended_capability_blockers] if args.key?(:intended_capability_blockers) @supported_sla = args[:supported_sla] if args.key?(:supported_sla) end end # [Output Only] Reasons why configuration.topologyCapability.sla differs # from intent.topologyCapability. This list is empty if and only if those # are the same. class InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers include Google::Apis::Core::Hashable # # Corresponds to the JSON property `blockerType` # @return [String] attr_accessor :blocker_type # Output only. [Output Only] The url of Google Cloud public documentation # explaining # this requirement. This is set for every type of requirement. # Corresponds to the JSON property `documentationLink` # @return [String] attr_accessor :documentation_link # Output only. [Output Only] A human-readable explanation of this requirement # and # why it's not met. This is set for every type of requirement. # Corresponds to the JSON property `explanation` # @return [String] attr_accessor :explanation # Output only. [Output Only] Facilities used to explain this blocker in more # detail. # Like physicalStructure.metros.facilities.facility, this is a numeric # string like "5467". # Corresponds to the JSON property `facilities` # @return [Array] attr_accessor :facilities # Output only. [Output Only] Interconnects used to explain this blocker in more # detail. # Corresponds to the JSON property `interconnects` # @return [Array] attr_accessor :interconnects # Output only. [Output Only] Metros used to explain this blocker in more detail. # These are three-letter lowercase strings like "iad". A blocker like # INCOMPATIBLE_METROS will specify the problematic metros in this # field. # Corresponds to the JSON property `metros` # @return [Array] attr_accessor :metros # Output only. [Output Only] Zones used to explain this blocker in more detail. # Zone names are "zone1" and/or "zone2". # Corresponds to the JSON property `zones` # @return [Array] attr_accessor :zones def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @blocker_type = args[:blocker_type] if args.key?(:blocker_type) @documentation_link = args[:documentation_link] if args.key?(:documentation_link) @explanation = args[:explanation] if args.key?(:explanation) @facilities = args[:facilities] if args.key?(:facilities) @interconnects = args[:interconnects] if args.key?(:interconnects) @metros = args[:metros] if args.key?(:metros) @zones = args[:zones] if args.key?(:zones) end end # The user's intent for this group. This is the only required field besides # the name that must be specified on group creation. class InterconnectGroupIntent include Google::Apis::Core::Hashable # # Corresponds to the JSON property `topologyCapability` # @return [String] attr_accessor :topology_capability def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @topology_capability = args[:topology_capability] if args.key?(:topology_capability) end end # An Interconnect in this InterconnectGroup. class InterconnectGroupInterconnect include Google::Apis::Core::Hashable # The URL of an Interconnect in this group. All Interconnects in the group # are unique. # Corresponds to the JSON property `interconnect` # @return [String] attr_accessor :interconnect def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @interconnect = args[:interconnect] if args.key?(:interconnect) end end # [Output Only] An analysis of the physical layout of Interconnects in this # group. Every Interconnect in the group is shown once in this structure. class InterconnectGroupPhysicalStructure include Google::Apis::Core::Hashable # # Corresponds to the JSON property `metros` # @return [Array] attr_accessor :metros def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @metros = args[:metros] if args.key?(:metros) end end # [Output Only] The metros Interconnects in this group are in. class InterconnectGroupPhysicalStructureMetros include Google::Apis::Core::Hashable # # Corresponds to the JSON property `facilities` # @return [Array] attr_accessor :facilities # Output only. [Output Only] The name of the metro, as a three-letter lowercase # string # like "iad". This is the first component of the location of # Interconnects underneath this. # Corresponds to the JSON property `metro` # @return [String] attr_accessor :metro def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @facilities = args[:facilities] if args.key?(:facilities) @metro = args[:metro] if args.key?(:metro) end end # [Output Only] The facilities Interconnects in this metro are present # in. class InterconnectGroupPhysicalStructureMetrosFacilities include Google::Apis::Core::Hashable # Output only. [Output Only] The ID of this facility, as a numeric string like # "5467". This is the third component of the location of Interconnects # in this facility. # Corresponds to the JSON property `facility` # @return [String] attr_accessor :facility # # Corresponds to the JSON property `zones` # @return [Array] attr_accessor :zones def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @facility = args[:facility] if args.key?(:facility) @zones = args[:zones] if args.key?(:zones) end end # [Output Only] The zones that Interconnects in this facility are # present in. class InterconnectGroupPhysicalStructureMetrosFacilitiesZones include Google::Apis::Core::Hashable # Output only. [Output Only] URLs of Interconnects in this redundancy group in # the # given metro, facility, and zone. # Corresponds to the JSON property `interconnects` # @return [Array] attr_accessor :interconnects # Output only. [Output Only] The name of the zone, either "zone1" or "zone2". # This is the second component of the location of Interconnects in # this facility. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @interconnects = args[:interconnects] if args.key?(:interconnects) @zone = args[:zone] if args.key?(:zone) end end # class InterconnectGroupsCreateMembers include Google::Apis::Core::Hashable # How to behave when configured.topologyCapability.supportedSLA would not # equal intent.topologyCapability after this call. # Corresponds to the JSON property `intentMismatchBehavior` # @return [String] attr_accessor :intent_mismatch_behavior # # Corresponds to the JSON property `interconnects` # @return [Array] attr_accessor :interconnects # LINT.IfChange # Corresponds to the JSON property `templateInterconnect` # @return [Google::Apis::ComputeV1::InterconnectGroupsCreateMembersInterconnectInput] attr_accessor :template_interconnect def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @intent_mismatch_behavior = args[:intent_mismatch_behavior] if args.key?(:intent_mismatch_behavior) @interconnects = args[:interconnects] if args.key?(:interconnects) @template_interconnect = args[:template_interconnect] if args.key?(:template_interconnect) end end # LINT.IfChange class InterconnectGroupsCreateMembersInterconnectInput include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `adminEnabled` # @return [Boolean] attr_accessor :admin_enabled alias_method :admin_enabled?, :admin_enabled # Customer name, to put in the Letter of Authorization as the party # authorized to request a crossconnect. # Corresponds to the JSON property `customerName` # @return [String] attr_accessor :customer_name # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # A zone-free location to use for all Interconnects created in this call, # like "iad-1234". # Corresponds to the JSON property `facility` # @return [String] attr_accessor :facility # 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. # Corresponds to the JSON property `interconnectType` # @return [String] attr_accessor :interconnect_type # 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. # - LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 # optics. # Note that this field indicates the speed of each of the # links in the bundle, not the speed of the entire bundle. # Corresponds to the JSON property `linkType` # @return [String] attr_accessor :link_type # Name of the Interconnects to be created. This must be specified on the # template and/or on each individual interconnect. The name, if not empty, # must be 1-63 characters long, and comply with RFC1035. # Specifically, any nonempty 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # 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. # Corresponds to the JSON property `nocContactEmail` # @return [String] attr_accessor :noc_contact_email # Indicates that this is a Cross-Cloud Interconnect. This field specifies # the location outside of Google's network that the interconnect is # connected to. # Corresponds to the JSON property `remoteLocation` # @return [String] attr_accessor :remote_location # Optional. List of features requested for this Interconnect connection, # which can take one of the following values: # # - IF_MACSEC: If specified, then the connection is created on MACsec # capable hardware ports. If not specified, non-MACsec capable ports will # also be considered. # - IF_CROSS_SITE_NETWORK: If specified, then the connection is created # exclusively for Cross-Site Networking. The connection can not be used for # Cross-Site Networking unless this feature is specified. # Corresponds to the JSON property `requestedFeatures` # @return [Array] attr_accessor :requested_features # Target number of physical links in the link bundle, as requested by the # customer. # Corresponds to the JSON property `requestedLinkCount` # @return [Fixnum] attr_accessor :requested_link_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled) @customer_name = args[:customer_name] if args.key?(:customer_name) @description = args[:description] if args.key?(:description) @facility = args[:facility] if args.key?(:facility) @interconnect_type = args[:interconnect_type] if args.key?(:interconnect_type) @link_type = args[:link_type] if args.key?(:link_type) @name = args[:name] if args.key?(:name) @noc_contact_email = args[:noc_contact_email] if args.key?(:noc_contact_email) @remote_location = args[:remote_location] if args.key?(:remote_location) @requested_features = args[:requested_features] if args.key?(:requested_features) @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count) end end # class InterconnectGroupsCreateMembersRequest include Google::Apis::Core::Hashable # # Corresponds to the JSON property `request` # @return [Google::Apis::ComputeV1::InterconnectGroupsCreateMembers] attr_accessor :request def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @request = args[:request] if args.key?(:request) end end # Response for the InterconnectGroupsGetOperationalStatusResponse. class InterconnectGroupsGetOperationalStatusResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Request to get the status of the interconnect group with extra detail. # Corresponds to the JSON property `result` # @return [Google::Apis::ComputeV1::InterconnectGroupsOperationalStatus] attr_accessor :result def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @result = args[:result] if args.key?(:result) end end # class InterconnectGroupsListResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InterconnectGroup resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # end_interface: MixerListResponseWithEtagBuilder # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InterconnectGroupsListResponse::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Request to get the status of the interconnect group with extra detail. class InterconnectGroupsOperationalStatus include Google::Apis::Core::Hashable # [Output Only] The status of the group as configured. This has the same # structure as the operational field reported by the OperationalStatus # method, but does not take into account the operational status of each # resource. # Corresponds to the JSON property `configured` # @return [Google::Apis::ComputeV1::InterconnectGroupConfigured] attr_accessor :configured # Output only. Summarizes the status of the group. # Corresponds to the JSON property `groupStatus` # @return [String] attr_accessor :group_status # The user's intent for this group. This is the only required field besides # the name that must be specified on group creation. # Corresponds to the JSON property `intent` # @return [Google::Apis::ComputeV1::InterconnectGroupIntent] attr_accessor :intent # # Corresponds to the JSON property `interconnectStatuses` # @return [Array] attr_accessor :interconnect_statuses # [Output Only] The status of the group as configured. This has the same # structure as the operational field reported by the OperationalStatus # method, but does not take into account the operational status of each # resource. # Corresponds to the JSON property `operational` # @return [Google::Apis::ComputeV1::InterconnectGroupConfigured] attr_accessor :operational def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @configured = args[:configured] if args.key?(:configured) @group_status = args[:group_status] if args.key?(:group_status) @intent = args[:intent] if args.key?(:intent) @interconnect_statuses = args[:interconnect_statuses] if args.key?(:interconnect_statuses) @operational = args[:operational] if args.key?(:operational) end end # The status of one Interconnect in the group. The order is arbitrary. class InterconnectGroupsOperationalStatusInterconnectStatus include Google::Apis::Core::Hashable # Output only. Whether the Interconnect is enabled. # Corresponds to the JSON property `adminEnabled` # @return [Boolean] attr_accessor :admin_enabled alias_method :admin_enabled?, :admin_enabled # Diagnostics information about the Interconnect connection, which contains # detailed and current technical information about Google's side of the # connection. # Corresponds to the JSON property `diagnostics` # @return [Google::Apis::ComputeV1::InterconnectDiagnostics] attr_accessor :diagnostics # Output only. The URL of the Interconnect being described. # Corresponds to the JSON property `interconnect` # @return [String] attr_accessor :interconnect # Output only. Whether this interconnect is participating in the redundant # configuration. # Corresponds to the JSON property `isActive` # @return [String] attr_accessor :is_active def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled) @diagnostics = args[:diagnostics] if args.key?(:diagnostics) @interconnect = args[:interconnect] if args.key?(:interconnect) @is_active = args[:is_active] if args.key?(:is_active) end end # Response to the list request, and contains a list of interconnects. class InterconnectList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Interconnect resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute#interconnectList # for lists of interconnects. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InterconnectList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents an Interconnect Attachment (VLAN) Location resource. # You can use this resource to find location details about an Interconnect # attachment (VLAN). For more information about interconnect attachments, read # Creating VLAN Attachments. class InterconnectLocation include Google::Apis::Core::Hashable # Output only. [Output Only] The postal address of the Point of Presence, each # line in # the address is separated by a newline character. # Corresponds to the JSON property `address` # @return [String] attr_accessor :address # [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". # Corresponds to the JSON property `availabilityZone` # @return [String] attr_accessor :availability_zone # [Output only] List of features available at this InterconnectLocation, # which can take one of the following values: # # - IF_MACSEC # - IF_CROSS_SITE_NETWORK # Corresponds to the JSON property `availableFeatures` # @return [Array] attr_accessor :available_features # [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 # - LINK_TYPE_ETHERNET_400G_LR4 # Corresponds to the JSON property `availableLinkTypes` # @return [Array] attr_accessor :available_link_types # [Output Only] Metropolitan area designator that indicates which city an # interconnect is located. # For example: "Chicago, IL", "Amsterdam, Netherlands". # Corresponds to the JSON property `city` # @return [String] attr_accessor :city # [Output Only] Continent for this location, which can take one of the # following values: # # - AFRICA # - ASIA_PAC # - EUROPE # - NORTH_AMERICA # - SOUTH_AMERICA # Corresponds to the JSON property `continent` # @return [String] attr_accessor :continent # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # [Output Only] A list of InterconnectLocation.CrossSiteInterconnectInfo # objects, that describe where Cross-Site Interconnect wires may connect to # from this location and associated connection parameters. Cross-Site # Interconnect isn't allowed to locations which are not listed. # Corresponds to the JSON property `crossSiteInterconnectInfos` # @return [Array] attr_accessor :cross_site_interconnect_infos # Output only. [Output Only] An optional description of the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] The name of the provider for this facility (e.g., # EQUINIX). # Corresponds to the JSON property `facilityProvider` # @return [String] attr_accessor :facility_provider # Output only. [Output Only] A provider-assigned Identifier for this facility (e. # g., # Ashburn-DC1). # Corresponds to the JSON property `facilityProviderFacilityId` # @return [String] attr_accessor :facility_provider_facility_id # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute# # interconnectLocation for interconnect locations. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] Name of the resource. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] The peeringdb identifier for this facility ( # corresponding # with a netfac type in peeringdb). # Corresponds to the JSON property `peeringdbFacilityId` # @return [String] attr_accessor :peeringdb_facility_id # Output only. [Output Only] A list of InterconnectLocation.RegionInfo objects, # that # describe parameters pertaining to the relation between this # InterconnectLocation and various Google Cloud regions. # Corresponds to the JSON property `regionInfos` # @return [Array] attr_accessor :region_infos # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] URLs of the other locations that can pair up with # this # location to support Single-Region 99.99% SLA. E.g. iad-zone1-1 and # iad-zone2-5467 are Single-Region 99.99% peer locations of each other. # Corresponds to the JSON property `singleRegionProductionCriticalPeerLocations` # @return [Array] attr_accessor :single_region_production_critical_peer_locations # [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. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Output only. [Output Only] Reserved for future use. # Corresponds to the JSON property `supportsPzs` # @return [Boolean] attr_accessor :supports_pzs alias_method :supports_pzs?, :supports_pzs def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @address = args[:address] if args.key?(:address) @availability_zone = args[:availability_zone] if args.key?(:availability_zone) @available_features = args[:available_features] if args.key?(:available_features) @available_link_types = args[:available_link_types] if args.key?(:available_link_types) @city = args[:city] if args.key?(:city) @continent = args[:continent] if args.key?(:continent) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @cross_site_interconnect_infos = args[:cross_site_interconnect_infos] if args.key?(:cross_site_interconnect_infos) @description = args[:description] if args.key?(:description) @facility_provider = args[:facility_provider] if args.key?(:facility_provider) @facility_provider_facility_id = args[:facility_provider_facility_id] if args.key?(:facility_provider_facility_id) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @peeringdb_facility_id = args[:peeringdb_facility_id] if args.key?(:peeringdb_facility_id) @region_infos = args[:region_infos] if args.key?(:region_infos) @self_link = args[:self_link] if args.key?(:self_link) @single_region_production_critical_peer_locations = args[:single_region_production_critical_peer_locations] if args.key?(:single_region_production_critical_peer_locations) @status = args[:status] if args.key?(:status) @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs) end end # Information about Cross-Site Interconnect wires which may be created # between the containing location and another remote location. class InterconnectLocationCrossSiteInterconnectInfo include Google::Apis::Core::Hashable # Output only. The remote location for Cross-Site Interconnect wires. This # specifies an # InterconnectLocation city (metropolitan area designator), which itself # may match multiple InterconnectLocations. # Corresponds to the JSON property `city` # @return [String] attr_accessor :city def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @city = args[:city] if args.key?(:city) end end # Response to the list request, and contains a list of interconnect locations. class InterconnectLocationList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InterconnectLocation resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # interconnectLocationList for lists of interconnect # locations. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InterconnectLocationList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Information about any potential InterconnectAttachments between an # Interconnect at a specific InterconnectLocation, and a specific Cloud # Region. class InterconnectLocationRegionInfo include Google::Apis::Core::Hashable # Output only. Expected round-trip time in milliseconds, from this # InterconnectLocation # to a VM in this region. # Corresponds to the JSON property `expectedRttMs` # @return [Fixnum] attr_accessor :expected_rtt_ms # Output only. Identifies whether L2 Interconnect Attachments can be created in # this # region for interconnects that are in this location. # Corresponds to the JSON property `l2ForwardingEnabled` # @return [Boolean] attr_accessor :l2_forwarding_enabled alias_method :l2_forwarding_enabled?, :l2_forwarding_enabled # Output only. Identifies the network presence of this location. # Corresponds to the JSON property `locationPresence` # @return [String] attr_accessor :location_presence # Output only. URL for the region of this location. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @expected_rtt_ms = args[:expected_rtt_ms] if args.key?(:expected_rtt_ms) @l2_forwarding_enabled = args[:l2_forwarding_enabled] if args.key?(:l2_forwarding_enabled) @location_presence = args[:location_presence] if args.key?(:location_presence) @region = args[:region] if args.key?(:region) end end # Configuration information for enabling Media Access Control security # (MACsec) on this Cloud Interconnect connection between Google and your # on-premises router. class InterconnectMacsec include Google::Apis::Core::Hashable # If set to true, the Interconnect connection is configured with ashould-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 amust- # secure security policy that drops all traffic if the # MKA session cannot be established with your router. # Corresponds to the JSON property `failOpen` # @return [Boolean] attr_accessor :fail_open alias_method :fail_open?, :fail_open # 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. # Corresponds to the JSON property `preSharedKeys` # @return [Array] attr_accessor :pre_shared_keys def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fail_open = args[:fail_open] if args.key?(:fail_open) @pre_shared_keys = args[:pre_shared_keys] if args.key?(:pre_shared_keys) end end # MACsec configuration information for the Interconnect connection. Contains # the generated Connectivity Association Key Name (CKN) and the key (CAK) for # this Interconnect connection. class InterconnectMacsecConfig include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `preSharedKeys` # @return [Array] attr_accessor :pre_shared_keys def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @pre_shared_keys = args[:pre_shared_keys] if args.key?(:pre_shared_keys) end end # Describes a pre-shared key used to setup MACsec in static connectivity # association key (CAK) mode. class InterconnectMacsecConfigPreSharedKey include Google::Apis::Core::Hashable # An auto-generated Connectivity Association Key (CAK) for this key. # Corresponds to the JSON property `cak` # @return [String] attr_accessor :cak # An auto-generated Connectivity Association Key Name (CKN) for this key. # Corresponds to the JSON property `ckn` # @return [String] attr_accessor :ckn # User provided name for this pre-shared key. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # User provided timestamp on or after which this key is valid. # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cak = args[:cak] if args.key?(:cak) @ckn = args[:ckn] if args.key?(:ckn) @name = args[:name] if args.key?(:name) @start_time = args[:start_time] if args.key?(:start_time) end end # Describes a pre-shared key used to setup MACsec in static connectivity # association key (CAK) mode. class InterconnectMacsecPreSharedKey include Google::Apis::Core::Hashable # Required. A name for this pre-shared key. # The name must be 1-63 characters long, and comply withRFC1035. 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # 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. # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @start_time = args[:start_time] if args.key?(:start_time) end end # Description of a planned outage on this Interconnect. class InterconnectOutageNotification include Google::Apis::Core::Hashable # If issue_type is IT_PARTIAL_OUTAGE, a list of the Google-side circuit # IDs that will be affected. # Corresponds to the JSON property `affectedCircuits` # @return [Array] attr_accessor :affected_circuits # A description about the purpose of the outage. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Scheduled end time for the outage (milliseconds since Unix # epoch). # Corresponds to the JSON property `endTime` # @return [Fixnum] attr_accessor :end_time # Form this outage is expected to take, which can take one of the following # values: # # - OUTAGE: The Interconnect may be completely out of service for # some or all of the specified window. # - PARTIAL_OUTAGE: Some circuits comprising the Interconnect as a whole # should remain up, but with reduced bandwidth. # Note that the versions of this enum prefixed with "IT_" have been # deprecated in favor of the unprefixed values. # Corresponds to the JSON property `issueType` # @return [String] attr_accessor :issue_type # Unique identifier for this outage notification. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The party that generated this notification, which can take the following # value: # # - GOOGLE: this notification as generated by Google. # Note that the value of NSRC_GOOGLE has been deprecated in favor of # GOOGLE. # Corresponds to the JSON property `source` # @return [String] attr_accessor :source # Scheduled start time for the outage (milliseconds since Unix # epoch). # Corresponds to the JSON property `startTime` # @return [Fixnum] attr_accessor :start_time # State of this notification, which can take one of the following values: # # - ACTIVE: This outage notification is active. The event could be in # the past, present, or future. See start_time and end_time for # scheduling. # - CANCELLED: The outage associated with this notification was cancelled # before the outage was due to start. # - COMPLETED: The outage associated with this notification is complete. # Note that the versions of this enum prefixed with "NS_" have been # deprecated in favor of the unprefixed values. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @affected_circuits = args[:affected_circuits] if args.key?(:affected_circuits) @description = args[:description] if args.key?(:description) @end_time = args[:end_time] if args.key?(:end_time) @issue_type = args[:issue_type] if args.key?(:issue_type) @name = args[:name] if args.key?(:name) @source = args[:source] if args.key?(:source) @start_time = args[:start_time] if args.key?(:start_time) @state = args[:state] if args.key?(:state) end end # Additional interconnect parameters. class InterconnectParams include Google::Apis::Core::Hashable # Tag keys/values directly bound to this resource. # Tag keys and values have the same definition as resource # manager tags. The field is allowed for INSERT # only. The keys/values to set on the resource should be specified in # either ID ` : ` or Namespaced format # ` : `. # For example the following are valid inputs: # * `"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` # * `"123/environment" : "production", "345/abc" : "xyz"` # Note: # * Invalid combinations of ID & namespaced format is not supported. For # instance: `"123/environment" : "tagValues/444"` is invalid. # * Inconsistent format is not supported. For instance: # `"tagKeys/333" : "tagValues/444", "123/env" : "prod"` is invalid. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) end end # Represents a Cross-Cloud Interconnect Remote Location resource. # You can use this resource to find remote location details about an # Interconnect attachment (VLAN). class InterconnectRemoteLocation include Google::Apis::Core::Hashable # Output only. [Output Only] The postal address of the Point of Presence, each # line in # the address is separated by a newline character. # Corresponds to the JSON property `address` # @return [String] attr_accessor :address # Output only. [Output Only] Subset of fields from InterconnectAttachment's # |configurationConstraints| field that apply to all attachments for this # remote location. # Corresponds to the JSON property `attachmentConfigurationConstraints` # @return [Google::Apis::ComputeV1::InterconnectAttachmentConfigurationConstraints] attr_accessor :attachment_configuration_constraints # Output only. [Output Only] Metropolitan area designator that indicates which # city an # interconnect is located. # For example: "Chicago, IL", "Amsterdam, Netherlands". # Corresponds to the JSON property `city` # @return [String] attr_accessor :city # Output only. [Output Only] Constraints on the parameters for creating Cross- # Cloud # Interconnect and associated InterconnectAttachments. # Corresponds to the JSON property `constraints` # @return [Google::Apis::ComputeV1::InterconnectRemoteLocationConstraints] attr_accessor :constraints # Output only. [Output Only] Continent for this location, which can take one of # the # following values: # # - AFRICA # - ASIA_PAC # - EUROPE # - NORTH_AMERICA # - SOUTH_AMERICA # Corresponds to the JSON property `continent` # @return [String] attr_accessor :continent # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Output only. [Output Only] An optional description of the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] The name of the provider for this facility (e.g., # EQUINIX). # Corresponds to the JSON property `facilityProvider` # @return [String] attr_accessor :facility_provider # Output only. [Output Only] A provider-assigned Identifier for this facility (e. # g., # Ashburn-DC1). # Corresponds to the JSON property `facilityProviderFacilityId` # @return [String] attr_accessor :facility_provider_facility_id # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute# # interconnectRemoteLocation for interconnect remote # locations. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] Link Aggregation Control Protocol (LACP) # constraints, which # can take one of the following values: LACP_SUPPORTED, LACP_UNSUPPORTED # Corresponds to the JSON property `lacp` # @return [String] attr_accessor :lacp # Output only. [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. # Corresponds to the JSON property `maxLagSize100Gbps` # @return [Fixnum] attr_accessor :max_lag_size100_gbps # Output only. [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. # Corresponds to the JSON property `maxLagSize10Gbps` # @return [Fixnum] attr_accessor :max_lag_size10_gbps # Output only. [Output Only] # The maximum number of 400 Gbps ports supported in a link aggregation group # (LAG). When linkType is 400 Gbps, requestedLinkCount cannot exceed # max_lag_size_400_gbps. # Corresponds to the JSON property `maxLagSize400Gbps` # @return [Fixnum] attr_accessor :max_lag_size400_gbps # Output only. [Output Only] Name of the resource. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] The peeringdb identifier for this facility ( # corresponding # with a netfac type in peeringdb). # Corresponds to the JSON property `peeringdbFacilityId` # @return [String] attr_accessor :peeringdb_facility_id # Output only. [Output Only] Permitted connections. # Corresponds to the JSON property `permittedConnections` # @return [Array] attr_accessor :permitted_connections # Output only. [Output Only] Indicates the service provider present at the # remote # location. Example values: "Amazon Web Services", "Microsoft Azure". # Corresponds to the JSON property `remoteService` # @return [String] attr_accessor :remote_service # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [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. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @address = args[:address] if args.key?(:address) @attachment_configuration_constraints = args[:attachment_configuration_constraints] if args.key?(:attachment_configuration_constraints) @city = args[:city] if args.key?(:city) @constraints = args[:constraints] if args.key?(:constraints) @continent = args[:continent] if args.key?(:continent) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @facility_provider = args[:facility_provider] if args.key?(:facility_provider) @facility_provider_facility_id = args[:facility_provider_facility_id] if args.key?(:facility_provider_facility_id) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @lacp = args[:lacp] if args.key?(:lacp) @max_lag_size100_gbps = args[:max_lag_size100_gbps] if args.key?(:max_lag_size100_gbps) @max_lag_size10_gbps = args[:max_lag_size10_gbps] if args.key?(:max_lag_size10_gbps) @max_lag_size400_gbps = args[:max_lag_size400_gbps] if args.key?(:max_lag_size400_gbps) @name = args[:name] if args.key?(:name) @peeringdb_facility_id = args[:peeringdb_facility_id] if args.key?(:peeringdb_facility_id) @permitted_connections = args[:permitted_connections] if args.key?(:permitted_connections) @remote_service = args[:remote_service] if args.key?(:remote_service) @self_link = args[:self_link] if args.key?(:self_link) @status = args[:status] if args.key?(:status) end end # class InterconnectRemoteLocationConstraints include Google::Apis::Core::Hashable # Output only. [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. # Corresponds to the JSON property `portPairRemoteLocation` # @return [String] attr_accessor :port_pair_remote_location # Output only. [Output Only] Port pair VLAN constraints, which can take one of # the # following values: PORT_PAIR_UNCONSTRAINED_VLAN, PORT_PAIR_MATCHING_VLAN # Corresponds to the JSON property `portPairVlan` # @return [String] attr_accessor :port_pair_vlan # Output only. [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`. # Corresponds to the JSON property `subnetLengthRange` # @return [Google::Apis::ComputeV1::InterconnectRemoteLocationConstraintsSubnetLengthRange] attr_accessor :subnet_length_range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @port_pair_remote_location = args[:port_pair_remote_location] if args.key?(:port_pair_remote_location) @port_pair_vlan = args[:port_pair_vlan] if args.key?(:port_pair_vlan) @subnet_length_range = args[:subnet_length_range] if args.key?(:subnet_length_range) end end # class InterconnectRemoteLocationConstraintsSubnetLengthRange include Google::Apis::Core::Hashable # # Corresponds to the JSON property `max` # @return [Fixnum] attr_accessor :max # # Corresponds to the JSON property `min` # @return [Fixnum] attr_accessor :min def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @max = args[:max] if args.key?(:max) @min = args[:min] if args.key?(:min) end end # Response to the list request, and contains a list of interconnect remote # locations. class InterconnectRemoteLocationList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InterconnectRemoteLocation resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # interconnectRemoteLocationList for lists of # interconnect remote locations. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token lets you get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::InterconnectRemoteLocationList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class InterconnectRemoteLocationPermittedConnections include Google::Apis::Core::Hashable # Output only. [Output Only] URL of an Interconnect location that is permitted # to # connect to this Interconnect remote location. # Corresponds to the JSON property `interconnectLocation` # @return [String] attr_accessor :interconnect_location def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @interconnect_location = args[:interconnect_location] if args.key?(:interconnect_location) end end # Response for the InterconnectsGetDiagnosticsRequest. class InterconnectsGetDiagnosticsResponse include Google::Apis::Core::Hashable # Diagnostics information about the Interconnect connection, which contains # detailed and current technical information about Google's side of the # connection. # Corresponds to the JSON property `result` # @return [Google::Apis::ComputeV1::InterconnectDiagnostics] attr_accessor :result def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @result = args[:result] if args.key?(:result) end end # Response for the InterconnectsGetMacsecConfigRequest. class InterconnectsGetMacsecConfigResponse include Google::Apis::Core::Hashable # end_interface: MixerGetResponseWithEtagBuilder # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # MACsec configuration information for the Interconnect connection. Contains # the generated Connectivity Association Key Name (CKN) and the key (CAK) for # this Interconnect connection. # Corresponds to the JSON property `result` # @return [Google::Apis::ComputeV1::InterconnectMacsecConfig] attr_accessor :result def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @result = args[:result] if args.key?(:result) end end # Represents a License resource. # A License represents billing and aggregate usage data forpublic andmarketplace # images. # *Caution* This resource is intended for # use only by third-party partners who are creatingCloud Marketplace # images. class License include Google::Apis::Core::Hashable # Specifies licenseCodes of licenses that can replace this license. Note: # such replacements are allowed even if removable_from_disk is false. # Corresponds to the JSON property `allowedReplacementLicenses` # @return [Array] attr_accessor :allowed_replacement_licenses # If true, this license can be appended to an existing disk's set of # licenses. # Corresponds to the JSON property `appendableToDisk` # @return [Boolean] attr_accessor :appendable_to_disk alias_method :appendable_to_disk?, :appendable_to_disk # [Output Only] Deprecated. This field no longer reflects whether a license # charges a usage fee. # Corresponds to the JSON property `chargesUseFee` # @return [Boolean] attr_accessor :charges_use_fee alias_method :charges_use_fee?, :charges_use_fee # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional textual description of the resource; provided by the client # when the resource is created. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Specifies licenseCodes of licenses that are incompatible with this license. # If a license is incompatible with this license, it cannot be attached to # the same disk or image. # Corresponds to the JSON property `incompatibleLicenses` # @return [Array] attr_accessor :incompatible_licenses # Output only. [Output Only] Type of resource. Always compute#license for # licenses. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] The unique code used to attach this license to images, # snapshots, and disks. # Corresponds to the JSON property `licenseCode` # @return [Fixnum] attr_accessor :license_code # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `minimumRetention` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :minimum_retention # If true, this license can only be used on VMs on multi tenant nodes. # Corresponds to the JSON property `multiTenantOnly` # @return [Boolean] attr_accessor :multi_tenant_only alias_method :multi_tenant_only?, :multi_tenant_only # Name of the resource. The name must be 1-63 characters long and # comply withRFC1035. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # If true, indicates this is an OS license. Only one OS license can be # attached to a disk or image at a time. # Corresponds to the JSON property `osLicense` # @return [Boolean] attr_accessor :os_license alias_method :os_license?, :os_license # Additional license params. # Corresponds to the JSON property `params` # @return [Google::Apis::ComputeV1::LicenseParams] attr_accessor :params # If true, this license can be removed from a disk's set of licenses, with no # replacement license needed. # Corresponds to the JSON property `removableFromDisk` # @return [Boolean] attr_accessor :removable_from_disk alias_method :removable_from_disk?, :removable_from_disk # Specifies the set of permissible coattached licenseCodes of licenses that # satisfy the coattachment requirement of this license. At least one license # from the set must be attached to the same disk or image as this license. # Corresponds to the JSON property `requiredCoattachedLicenses` # @return [Array] attr_accessor :required_coattached_licenses # [Input Only] Deprecated. # Corresponds to the JSON property `resourceRequirements` # @return [Google::Apis::ComputeV1::LicenseResourceRequirements] attr_accessor :resource_requirements # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Server-defined URL for this resource with the # resource id. # Corresponds to the JSON property `selfLinkWithId` # @return [String] attr_accessor :self_link_with_id # If true, this license can only be used on VMs on sole tenant nodes. # Corresponds to the JSON property `soleTenantOnly` # @return [Boolean] attr_accessor :sole_tenant_only alias_method :sole_tenant_only?, :sole_tenant_only # If false, licenses will not be copied from the source resource when # creating an image from a disk, disk from snapshot, or snapshot from disk. # Corresponds to the JSON property `transferable` # @return [Boolean] attr_accessor :transferable alias_method :transferable?, :transferable # Output only. [Output Only] Last update timestamp inRFC3339 # text format. # Corresponds to the JSON property `updateTimestamp` # @return [String] attr_accessor :update_timestamp def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @allowed_replacement_licenses = args[:allowed_replacement_licenses] if args.key?(:allowed_replacement_licenses) @appendable_to_disk = args[:appendable_to_disk] if args.key?(:appendable_to_disk) @charges_use_fee = args[:charges_use_fee] if args.key?(:charges_use_fee) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @incompatible_licenses = args[:incompatible_licenses] if args.key?(:incompatible_licenses) @kind = args[:kind] if args.key?(:kind) @license_code = args[:license_code] if args.key?(:license_code) @minimum_retention = args[:minimum_retention] if args.key?(:minimum_retention) @multi_tenant_only = args[:multi_tenant_only] if args.key?(:multi_tenant_only) @name = args[:name] if args.key?(:name) @os_license = args[:os_license] if args.key?(:os_license) @params = args[:params] if args.key?(:params) @removable_from_disk = args[:removable_from_disk] if args.key?(:removable_from_disk) @required_coattached_licenses = args[:required_coattached_licenses] if args.key?(:required_coattached_licenses) @resource_requirements = args[:resource_requirements] if args.key?(:resource_requirements) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @sole_tenant_only = args[:sole_tenant_only] if args.key?(:sole_tenant_only) @transferable = args[:transferable] if args.key?(:transferable) @update_timestamp = args[:update_timestamp] if args.key?(:update_timestamp) end end # Represents a License Code resource. # A License Code is a unique identifier used to represent alicense # resource. # *Caution* This resource is intended for # use only by third-party partners who are creatingCloud Marketplace # images. class LicenseCode include Google::Apis::Core::Hashable # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Output only. [Output Only] Description of this License Code. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of resource. Always compute#licenseCode for # licenses. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] URL and description aliases of Licenses with the same # License Code. # Corresponds to the JSON property `licenseAlias` # @return [Array] attr_accessor :license_alias # Output only. [Output Only] Name of the resource. The name is 1-20 characters # long and # must be a valid 64 bit integer. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Current state of this License Code. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Output only. [Output Only] If true, the license will remain attached when # creating # images or snapshots from disks. Otherwise, the license is not transferred. # Corresponds to the JSON property `transferable` # @return [Boolean] attr_accessor :transferable alias_method :transferable?, :transferable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @license_alias = args[:license_alias] if args.key?(:license_alias) @name = args[:name] if args.key?(:name) @self_link = args[:self_link] if args.key?(:self_link) @state = args[:state] if args.key?(:state) @transferable = args[:transferable] if args.key?(:transferable) end end # class LicenseCodeLicenseAlias include Google::Apis::Core::Hashable # Output only. [Output Only] Description of this License Code. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] URL of license corresponding to this License Code. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @self_link = args[:self_link] if args.key?(:self_link) end end # Additional license params. class LicenseParams include Google::Apis::Core::Hashable # Input only. Resource manager tags to be bound to the license. Tag keys and # values # have the same definition as resource # manager tags. Keys and values can be either in numeric format, # such as `tagKeys/`tag_key_id`` and `tagValues/456` or in namespaced # format such as ``org_id|project_id`/`tag_key_short_name`` and # ``tag_value_short_name``. The field is ignored (both PUT & # PATCH) when empty. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) end end # Commitment for a particular license resource. class LicenseResourceCommitment include Google::Apis::Core::Hashable # The number of licenses you plan to purchase. # Corresponds to the JSON property `amount` # @return [Fixnum] attr_accessor :amount # The number of cores per license. # Corresponds to the JSON property `coresPerLicense` # @return [String] attr_accessor :cores_per_license # The applicable license URI. # Corresponds to the JSON property `license` # @return [String] attr_accessor :license def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @amount = args[:amount] if args.key?(:amount) @cores_per_license = args[:cores_per_license] if args.key?(:cores_per_license) @license = args[:license] if args.key?(:license) end end # class LicenseResourceRequirements include Google::Apis::Core::Hashable # [Input Only] Deprecated. This field no longer reflects the minimum number # of guest cpus required to use the Instance. # Corresponds to the JSON property `minGuestCpuCount` # @return [Fixnum] attr_accessor :min_guest_cpu_count # [Input Only] Deprecated. This field no longer reflects the minimum memory # required to use the Instance. # Corresponds to the JSON property `minMemoryMb` # @return [Fixnum] attr_accessor :min_memory_mb def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @min_guest_cpu_count = args[:min_guest_cpu_count] if args.key?(:min_guest_cpu_count) @min_memory_mb = args[:min_memory_mb] if args.key?(:min_memory_mb) end end # class LicensesListResponse include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of License resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::LicensesListResponse::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class LocalDisk include Google::Apis::Core::Hashable # Specifies the number of such disks. # Corresponds to the JSON property `diskCount` # @return [Fixnum] attr_accessor :disk_count # Specifies the size of the disk in base-2 GB. # Corresponds to the JSON property `diskSizeGb` # @return [Fixnum] attr_accessor :disk_size_gb # Specifies the desired disk type on the node. This disk type must be a # local storage type (e.g.: local-ssd). # Note that for nodeTemplates, this should be the name of the disk type and # not its URL. # Corresponds to the JSON property `diskType` # @return [String] attr_accessor :disk_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disk_count = args[:disk_count] if args.key?(:disk_count) @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) @disk_type = args[:disk_type] if args.key?(:disk_type) end end # Provides a localized error message that is safe to return to the user # which can be attached to an RPC error. class LocalizedMessage include Google::Apis::Core::Hashable # The locale used following the specification defined at # https://www.rfc-editor.org/rfc/bcp/bcp47.txt. # Examples are: "en-US", "fr-CH", "es-MX" # Corresponds to the JSON property `locale` # @return [String] attr_accessor :locale # The localized error message in the above locale. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @locale = args[:locale] if args.key?(:locale) @message = args[:message] if args.key?(:message) end end # Configuration for location policy among multiple possible locations # (e.g. preferences for zone selection among zones in a single region). class LocationPolicy include Google::Apis::Core::Hashable # Location configurations mapped by location name. # Currently only zone names are supported and must be represented as valid # internal URLs, such as zones/us-central1-a. # Corresponds to the JSON property `locations` # @return [Hash] attr_accessor :locations # Strategy for distributing VMs across zones in a region. # Corresponds to the JSON property `targetShape` # @return [String] attr_accessor :target_shape def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @locations = args[:locations] if args.key?(:locations) @target_shape = args[:target_shape] if args.key?(:target_shape) end end # class LocationPolicyLocation include Google::Apis::Core::Hashable # Per-zone constraints on location policy for this zone. # Corresponds to the JSON property `constraints` # @return [Google::Apis::ComputeV1::LocationPolicyLocationConstraints] attr_accessor :constraints # Preference for a given location. Set to either ALLOW orDENY. # Corresponds to the JSON property `preference` # @return [String] attr_accessor :preference def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @constraints = args[:constraints] if args.key?(:constraints) @preference = args[:preference] if args.key?(:preference) end end # Per-zone constraints on location policy for this zone. class LocationPolicyLocationConstraints include Google::Apis::Core::Hashable # Maximum number of items that are allowed to be placed in this zone. # The value must be non-negative. # Corresponds to the JSON property `maxCount` # @return [Fixnum] attr_accessor :max_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @max_count = args[:max_count] if args.key?(:max_count) end end # Represents a machine image resource. # A machine image is a Compute Engine resource that stores all the # configuration, metadata, permissions, and data from one or more disks # required to create a Virtual machine (VM) instance. For more information, # seeMachine images. class MachineImage include Google::Apis::Core::Hashable # Output only. [Output Only] The creation timestamp for this machine image # inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Input Only] Whether to attempt an application consistent machine image by # informing the OS to prepare for the snapshot process. # Corresponds to the JSON property `guestFlush` # @return [Boolean] attr_accessor :guest_flush alias_method :guest_flush?, :guest_flush # Output only. [Output Only] A unique identifier for this machine image. The # server # defines this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # [Output Only] Properties of source instance # Corresponds to the JSON property `instanceProperties` # @return [Google::Apis::ComputeV1::InstanceProperties] attr_accessor :instance_properties # Output only. [Output Only] The resource type, which is alwayscompute# # machineImage for machine image. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # A fingerprint for the labels being applied to this machine image, 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 # machine image. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # Labels to apply to this machine image. These can be later modified by # the setLabels method. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Encrypts the machine image using acustomer-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. # Corresponds to the JSON property `machineImageEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :machine_image_encryption_key # Name of the resource; provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Machine Image parameters # Corresponds to the JSON property `params` # @return [Google::Apis::ComputeV1::MachineImageParams] attr_accessor :params # Output only. Reserved for future use. # Corresponds to the JSON property `satisfiesPzi` # @return [Boolean] attr_accessor :satisfies_pzi alias_method :satisfies_pzi?, :satisfies_pzi # Output only. [Output Only] Reserved for future use. # Corresponds to the JSON property `satisfiesPzs` # @return [Boolean] attr_accessor :satisfies_pzs alias_method :satisfies_pzs?, :satisfies_pzs # Output only. An array of Machine Image specific properties for disks attached # to the # source instance # Corresponds to the JSON property `savedDisks` # @return [Array] attr_accessor :saved_disks # Output only. [Output Only] The URL for this machine image. The server defines # this URL. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Input Only] Thecustomer-supplied # encryption key of the disks attached to the source instance. Required # if the source disk is protected by a customer-supplied encryption key. # Corresponds to the JSON property `sourceDiskEncryptionKeys` # @return [Array] attr_accessor :source_disk_encryption_keys # The source instance used to create the machine image. 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 # Corresponds to the JSON property `sourceInstance` # @return [String] attr_accessor :source_instance # DEPRECATED: Please use compute#instanceProperties instead. # New properties will not be added to this field. # Corresponds to the JSON property `sourceInstanceProperties` # @return [Google::Apis::ComputeV1::SourceInstanceProperties] attr_accessor :source_instance_properties # Output only. [Output Only] The status of the machine image. One of the # following values:INVALID, CREATING, READY,DELETING, and UPLOADING. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # The regional or multi-regional Cloud Storage bucket location where themachine # image is # stored. # Corresponds to the JSON property `storageLocations` # @return [Array] attr_accessor :storage_locations # Output only. [Output Only] Total size of the storage used by the machine image. # Corresponds to the JSON property `totalStorageBytes` # @return [Fixnum] attr_accessor :total_storage_bytes def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @guest_flush = args[:guest_flush] if args.key?(:guest_flush) @id = args[:id] if args.key?(:id) @instance_properties = args[:instance_properties] if args.key?(:instance_properties) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key) @name = args[:name] if args.key?(:name) @params = args[:params] if args.key?(:params) @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @saved_disks = args[:saved_disks] if args.key?(:saved_disks) @self_link = args[:self_link] if args.key?(:self_link) @source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys) @source_instance = args[:source_instance] if args.key?(:source_instance) @source_instance_properties = args[:source_instance_properties] if args.key?(:source_instance_properties) @status = args[:status] if args.key?(:status) @storage_locations = args[:storage_locations] if args.key?(:storage_locations) @total_storage_bytes = args[:total_storage_bytes] if args.key?(:total_storage_bytes) end end # A list of machine images. class MachineImageList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of MachineImage resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] The resource type, which is alwayscompute# # machineImagesListResponse for machine image lists. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::MachineImageList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Machine Image parameters class MachineImageParams include Google::Apis::Core::Hashable # Input only. Resource manager tags to be bound to the machine image. Tag keys # and values # have the same definition as resource # manager tags. Keys and values can be either in numeric format, # such as `tagKeys/`tag_key_id`` and `tagValues/`tag_value_id`` or in # namespaced format such as ``org_id|project_id`/`tag_key_short_name`` and # ``tag_value_short_name``. The field is ignored (both PUT & # PATCH) when empty. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) end end # Represents a Machine Type resource. # You can use specific machine types for your VM instances based on performance # and pricing requirements. For more information, readMachine Types. class MachineType include Google::Apis::Core::Hashable # [Output Only] A list of accelerator configurations assigned to this # machine type. # Corresponds to the JSON property `accelerators` # @return [Array] attr_accessor :accelerators # [Output Only] The architecture of the machine type. # Corresponds to the JSON property `architecture` # @return [String] attr_accessor :architecture # [Output Only] The configuration of bundled local SSD for the machine type. # Corresponds to the JSON property `bundledLocalSsds` # @return [Google::Apis::ComputeV1::BundledLocalSsds] attr_accessor :bundled_local_ssds # [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Deprecation status for a public resource. # Corresponds to the JSON property `deprecated` # @return [Google::Apis::ComputeV1::DeprecationStatus] attr_accessor :deprecated # [Output Only] An optional textual description of the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Output Only] The number of virtual CPUs that are available to the # instance. # Corresponds to the JSON property `guestCpus` # @return [Fixnum] attr_accessor :guest_cpus # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # [Deprecated] This property is deprecated and will never be populated with # any relevant values. # Corresponds to the JSON property `imageSpaceGb` # @return [Fixnum] attr_accessor :image_space_gb # [Output Only] Whether this machine type has a shared CPU. SeeShared-core # machine # types for more information. # Corresponds to the JSON property `isSharedCpu` # @return [Boolean] attr_accessor :is_shared_cpu alias_method :is_shared_cpu?, :is_shared_cpu # Output only. [Output Only] The type of the resource. Alwayscompute#machineType # for machine types. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] Maximum persistent disks allowed. # Corresponds to the JSON property `maximumPersistentDisks` # @return [Fixnum] attr_accessor :maximum_persistent_disks # [Output Only] Maximum total persistent disks size (GB) allowed. # Corresponds to the JSON property `maximumPersistentDisksSizeGb` # @return [Fixnum] attr_accessor :maximum_persistent_disks_size_gb # [Output Only] The amount of physical memory available to the instance, # defined in MB. # Corresponds to the JSON property `memoryMb` # @return [Fixnum] attr_accessor :memory_mb # [Output Only] Name of the resource. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] The name of the zone where the machine type resides, # such as us-central1-a. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @accelerators = args[:accelerators] if args.key?(:accelerators) @architecture = args[:architecture] if args.key?(:architecture) @bundled_local_ssds = args[:bundled_local_ssds] if args.key?(:bundled_local_ssds) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @deprecated = args[:deprecated] if args.key?(:deprecated) @description = args[:description] if args.key?(:description) @guest_cpus = args[:guest_cpus] if args.key?(:guest_cpus) @id = args[:id] if args.key?(:id) @image_space_gb = args[:image_space_gb] if args.key?(:image_space_gb) @is_shared_cpu = args[:is_shared_cpu] if args.key?(:is_shared_cpu) @kind = args[:kind] if args.key?(:kind) @maximum_persistent_disks = args[:maximum_persistent_disks] if args.key?(:maximum_persistent_disks) @maximum_persistent_disks_size_gb = args[:maximum_persistent_disks_size_gb] if args.key?(:maximum_persistent_disks_size_gb) @memory_mb = args[:memory_mb] if args.key?(:memory_mb) @name = args[:name] if args.key?(:name) @self_link = args[:self_link] if args.key?(:self_link) @zone = args[:zone] if args.key?(:zone) end # class Accelerator include Google::Apis::Core::Hashable # Number of accelerator cards exposed to the guest. # Corresponds to the JSON property `guestAcceleratorCount` # @return [Fixnum] attr_accessor :guest_accelerator_count # The accelerator type resource name, not a full URL, e.g.nvidia-tesla-t4. # Corresponds to the JSON property `guestAcceleratorType` # @return [String] attr_accessor :guest_accelerator_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @guest_accelerator_count = args[:guest_accelerator_count] if args.key?(:guest_accelerator_count) @guest_accelerator_type = args[:guest_accelerator_type] if args.key?(:guest_accelerator_type) end end end # class MachineTypeAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of MachineTypesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # machineTypeAggregatedList for aggregated lists of # machine types. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::MachineTypeAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of machine types. class MachineTypeList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of MachineType resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#machineTypeList # for lists of machine types. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::MachineTypeList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class MachineTypesScopedList include Google::Apis::Core::Hashable # [Output Only] A list of machine types contained in this scope. # Corresponds to the JSON property `machineTypes` # @return [Array] attr_accessor :machine_types # [Output Only] An informational warning that appears when the machine types # list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::MachineTypesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @machine_types = args[:machine_types] if args.key?(:machine_types) @warning = args[:warning] if args.key?(:warning) end # [Output Only] An informational warning that appears when the machine types # list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # A Managed Instance resource. class ManagedInstance include Google::Apis::Core::Hashable # Output only. [Output Only] The current action that the managed instance group # has # scheduled for the instance. Possible values: # # - NONE The instance is running, and the managed # instance group does not have any scheduled actions for this instance. # - CREATING The managed instance group is creating this # instance. If the group fails to create this instance, it will try again # until it is successful. # - CREATING_WITHOUT_RETRIES The managed instance group # is attempting to create this instance only once. If the group fails # to create this instance, it does not try again and the group'stargetSize # value is decreased instead. # - RECREATING The managed instance group is recreating # this instance. # - DELETING The managed instance group is permanently # deleting this instance. # - ABANDONING The managed instance group is abandoning # this instance. The instance will be removed from the instance group # and from any target pools that are associated with this group. # - RESTARTING The managed instance group is restarting # the instance. # - REFRESHING The managed instance group is applying # configuration changes to the instance without stopping it. For example, # the group can update the target pool list for an instance without # stopping that instance. # - VERIFYING The managed instance group has created the # instance and it is in the process of being verified. # Corresponds to the JSON property `currentAction` # @return [String] attr_accessor :current_action # Output only. [Output only] The unique identifier for this resource. This field # is empty # when instance does not exist. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] The URL of the instance. The URL can exist even if # the # instance has not yet been created. # Corresponds to the JSON property `instance` # @return [String] attr_accessor :instance # Output only. [Output Only] Health state of the instance per health-check. # Corresponds to the JSON property `instanceHealth` # @return [Array] attr_accessor :instance_health # Output only. [Output Only] The status of the instance. This field is empty # when # the instance does not exist. # Corresponds to the JSON property `instanceStatus` # @return [String] attr_accessor :instance_status # Output only. [Output Only] Information about the last attempt to create or # delete # the instance. # Corresponds to the JSON property `lastAttempt` # @return [Google::Apis::ComputeV1::ManagedInstanceLastAttempt] attr_accessor :last_attempt # Output only. [Output Only] The name of the instance. The name always exists # even if the # instance has not yet been created. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Preserved state for a given instance. # Corresponds to the JSON property `preservedStateFromConfig` # @return [Google::Apis::ComputeV1::PreservedState] attr_accessor :preserved_state_from_config # Preserved state for a given instance. # Corresponds to the JSON property `preservedStateFromPolicy` # @return [Google::Apis::ComputeV1::PreservedState] attr_accessor :preserved_state_from_policy # Output only. [Output Only] Instance properties selected for this instance # resulting from # InstanceFlexibilityPolicy. # Corresponds to the JSON property `propertiesFromFlexibilityPolicy` # @return [Google::Apis::ComputeV1::ManagedInstancePropertiesFromFlexibilityPolicy] attr_accessor :properties_from_flexibility_policy # Output only. [Output Only] Intended version of this instance. # Corresponds to the JSON property `version` # @return [Google::Apis::ComputeV1::ManagedInstanceVersion] attr_accessor :version def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @current_action = args[:current_action] if args.key?(:current_action) @id = args[:id] if args.key?(:id) @instance = args[:instance] if args.key?(:instance) @instance_health = args[:instance_health] if args.key?(:instance_health) @instance_status = args[:instance_status] if args.key?(:instance_status) @last_attempt = args[:last_attempt] if args.key?(:last_attempt) @name = args[:name] if args.key?(:name) @preserved_state_from_config = args[:preserved_state_from_config] if args.key?(:preserved_state_from_config) @preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy) @properties_from_flexibility_policy = args[:properties_from_flexibility_policy] if args.key?(:properties_from_flexibility_policy) @version = args[:version] if args.key?(:version) end end # class ManagedInstanceInstanceHealth include Google::Apis::Core::Hashable # Output only. [Output Only] The current detailed instance health state. # Corresponds to the JSON property `detailedHealthState` # @return [String] attr_accessor :detailed_health_state # Output only. [Output Only] The URL for the health check that verifies whether # the # instance is healthy. # Corresponds to the JSON property `healthCheck` # @return [String] attr_accessor :health_check def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @detailed_health_state = args[:detailed_health_state] if args.key?(:detailed_health_state) @health_check = args[:health_check] if args.key?(:health_check) end end # class ManagedInstanceLastAttempt include Google::Apis::Core::Hashable # Output only. [Output Only] Encountered errors during the last attempt to # create or # delete the instance. # Corresponds to the JSON property `errors` # @return [Google::Apis::ComputeV1::ManagedInstanceLastAttempt::Errors] attr_accessor :errors def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @errors = args[:errors] if args.key?(:errors) end # Output only. [Output Only] Encountered errors during the last attempt to # create or # delete the instance. class Errors include Google::Apis::Core::Hashable # [Output Only] The array of errors encountered while processing this # operation. # Corresponds to the JSON property `errors` # @return [Array] attr_accessor :errors def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @errors = args[:errors] if args.key?(:errors) end # class Error include Google::Apis::Core::Hashable # [Output Only] The error type identifier for this error. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] An optional list of messages that contain the error # details. There is a set of defined message types to use for providing # details.The syntax depends on the error code. For example, # QuotaExceededInfo will have details when the error code is # QUOTA_EXCEEDED. # Corresponds to the JSON property `errorDetails` # @return [Array] attr_accessor :error_details # [Output Only] Indicates the field in the request that caused the error. # This property is optional. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location # [Output Only] An optional, human-readable error message. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @error_details = args[:error_details] if args.key?(:error_details) @location = args[:location] if args.key?(:location) @message = args[:message] if args.key?(:message) end # class ErrorDetail include Google::Apis::Core::Hashable # Describes the cause of the error with structured details. # Example of an error when contacting the "pubsub.googleapis.com" API when it # is not enabled: # ` "reason": "API_DISABLED" # "domain": "googleapis.com" # "metadata": ` # "resource": "projects/123", # "service": "pubsub.googleapis.com" # ` # ` # This response indicates that the pubsub.googleapis.com API is not enabled. # Example of an error that is returned when attempting to create a Spanner # instance in a region that is out of stock: # ` "reason": "STOCKOUT" # "domain": "spanner.googleapis.com", # "metadata": ` # "availableRegions": "us-central1,us-east2" # ` # ` # Corresponds to the JSON property `errorInfo` # @return [Google::Apis::ComputeV1::ErrorInfo] attr_accessor :error_info # Provides links to documentation or for performing an out of band action. # For example, if a quota check failed with an error indicating the calling # project hasn't enabled the accessed service, this can contain a URL pointing # directly to the right place in the developer console to flip the bit. # Corresponds to the JSON property `help` # @return [Google::Apis::ComputeV1::Help] attr_accessor :help # Provides a localized error message that is safe to return to the user # which can be attached to an RPC error. # Corresponds to the JSON property `localizedMessage` # @return [Google::Apis::ComputeV1::LocalizedMessage] attr_accessor :localized_message # Additional details for quota exceeded error for resource quota. # Corresponds to the JSON property `quotaInfo` # @return [Google::Apis::ComputeV1::QuotaExceededInfo] attr_accessor :quota_info def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @error_info = args[:error_info] if args.key?(:error_info) @help = args[:help] if args.key?(:help) @localized_message = args[:localized_message] if args.key?(:localized_message) @quota_info = args[:quota_info] if args.key?(:quota_info) end end end end end # class ManagedInstancePropertiesFromFlexibilityPolicy include Google::Apis::Core::Hashable # Output only. The machine type to be used for this instance. # Corresponds to the JSON property `machineType` # @return [String] attr_accessor :machine_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @machine_type = args[:machine_type] if args.key?(:machine_type) end end # class ManagedInstanceVersion include Google::Apis::Core::Hashable # Output only. [Output Only] The intended template of the instance. This field # is empty # when current_action is one of ` DELETING, ABANDONING `. # Corresponds to the JSON property `instanceTemplate` # @return [String] attr_accessor :instance_template # Output only. [Output Only] Name of the version. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_template = args[:instance_template] if args.key?(:instance_template) @name = args[:name] if args.key?(:name) end end # A metadata key/value entry. class Metadata include Google::Apis::Core::Hashable # Specifies a fingerprint for this request, 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 error412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve the resource. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # Array of key/value pairs. The total size of all keys and values must be # less than 512 KB. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of the resource. Always compute#metadata # for metadata. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) end # Metadata class Item include Google::Apis::Core::Hashable # Key for the metadata entry. Keys must conform to the following # regexp: [a-zA-Z0-9-_]+, and be less than 128 bytes in length. # This is reflected as part of a URL in the metadata server. Additionally, to # avoid ambiguity, keys must not conflict with any other metadata keys # for the project. # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # Value for the metadata entry. These are free-form strings, and only # have meaning as interpreted by the image running in the instance. The # only restriction placed on values is that their size must be less than # or equal to 262144 bytes (256 KiB). # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end # Opaque filter criteria used by load balancers to restrict routing # configuration to a limited set of load balancing proxies. Proxies and # sidecars involved in load balancing would typically present metadata to the # load balancers that need to match criteria specified here. If a match takes # place, the relevant configuration is made available to those # proxies. # For each metadataFilter in this list, if itsfilterMatchCriteria is set to # MATCH_ANY, at least # one of thefilterLabels 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. # An example for using metadataFilters would be: if # load balancing involves # Envoys, they receive routing configuration when values inmetadataFilters match # values supplied in of their XDS requests to loadbalancers. class MetadataFilter include Google::Apis::Core::Hashable # The list of label value pairs that must match labels in the provided # metadata based on filterMatchCriteria # This list must not be empty and can have at the most 64 entries. # Corresponds to the JSON property `filterLabels` # @return [Array] attr_accessor :filter_labels # Specifies how individual filter label matches # within the list of filterLabels and contributes toward the # overall metadataFilter match. # Supported values are: # # - MATCH_ANY: at least one of the filterLabels # must have a matching label in the provided metadata. # - MATCH_ALL: all filterLabels must have # matching labels in the provided metadata. # Corresponds to the JSON property `filterMatchCriteria` # @return [String] attr_accessor :filter_match_criteria def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @filter_labels = args[:filter_labels] if args.key?(:filter_labels) @filter_match_criteria = args[:filter_match_criteria] if args.key?(:filter_match_criteria) end end # MetadataFilter label name value pairs that are expected # to match corresponding labels presented as metadata to the load balancer. class MetadataFilterLabelMatch include Google::Apis::Core::Hashable # Name of metadata label. # The name can have a maximum length of 1024 characters and must be at # least 1 character long. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The value of the label must match the specified value. # value can have a maximum length of 1024 characters. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @value = args[:value] if args.key?(:value) end end # The named port. For example: <"http", 80>. class NamedPort include Google::Apis::Core::Hashable # The name for this named port. # The name must be 1-63 characters long, and comply withRFC1035. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The port number, which can be a value between 1 and 65535. # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @port = args[:port] if args.key?(:port) end end # Contains NAT IP information of a NAT config (i.e. usage status, mode). class NatIpInfo include Google::Apis::Core::Hashable # Output only. A list of all NAT IPs assigned to this NAT config. # Corresponds to the JSON property `natIpInfoMappings` # @return [Array] attr_accessor :nat_ip_info_mappings # Output only. Name of the NAT config which the NAT IP belongs to. # Corresponds to the JSON property `natName` # @return [String] attr_accessor :nat_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @nat_ip_info_mappings = args[:nat_ip_info_mappings] if args.key?(:nat_ip_info_mappings) @nat_name = args[:nat_name] if args.key?(:nat_name) end end # Contains information of a NAT IP. class NatIpInfoNatIpInfoMapping include Google::Apis::Core::Hashable # Output only. Specifies whether NAT IP is auto or manual. # Corresponds to the JSON property `mode` # @return [String] attr_accessor :mode # Output only. NAT IP address. For example: 203.0.113.11. # Corresponds to the JSON property `natIp` # @return [String] attr_accessor :nat_ip # Output only. Specifies whether NAT IP is currently serving at least one # endpoint or # not. # Corresponds to the JSON property `usage` # @return [String] attr_accessor :usage def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @mode = args[:mode] if args.key?(:mode) @nat_ip = args[:nat_ip] if args.key?(:nat_ip) @usage = args[:usage] if args.key?(:usage) end end # class NatIpInfoResponse include Google::Apis::Core::Hashable # [Output Only] A list of NAT IP information. # Corresponds to the JSON property `result` # @return [Array] attr_accessor :result def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @result = args[:result] if args.key?(:result) end end # Represents a VPC Network resource. # Networks connect resources to each other and to the internet. For more # information, readVirtual Private Cloud (VPC) Network. class Network include Google::Apis::Core::Hashable # Deprecated in favor of subnet mode networks. # The range of internal addresses that are legal on this network. This # range is aCIDR specification, for example:192.168.0.0/16. Provided by the # client when the network is # created. # Corresponds to the JSON property `IPv4Range` # @return [String] attr_accessor :i_pv4_range # Must be set to create a VPC network. If not set, a legacy network is # created. # When set to true, the VPC network is created in auto mode. # When set to false, the VPC network is created in custom mode. # An auto mode VPC network starts with one subnet per region. Each subnet # has a predetermined range as described inAuto mode VPC network IP ranges. # For custom mode VPC networks, you can add subnets using the subnetworksinsert # method. # Corresponds to the JSON property `autoCreateSubnetworks` # @return [Boolean] attr_accessor :auto_create_subnetworks alias_method :auto_create_subnetworks?, :auto_create_subnetworks # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this field when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Enable ULA internal ipv6 on this network. Enabling this feature will assign # a /48 from google defined ULA prefix fd20::/20. # . # Corresponds to the JSON property `enableUlaInternalIpv6` # @return [Boolean] attr_accessor :enable_ula_internal_ipv6 alias_method :enable_ula_internal_ipv6?, :enable_ula_internal_ipv6 # Output only. [Output Only] URL of the firewall policy the network is # associated with. # Corresponds to the JSON property `firewallPolicy` # @return [String] attr_accessor :firewall_policy # [Output Only] The gateway address for default routing out of the network, # selected by Google Cloud. # Corresponds to the JSON property `gatewayIPv4` # @return [String] attr_accessor :gateway_i_pv4 # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # 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. # . # Corresponds to the JSON property `internalIpv6Range` # @return [String] attr_accessor :internal_ipv6_range # Output only. [Output Only] Type of the resource. Always compute#network for # networks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Maximum Transmission Unit in bytes. # The minimum value for this field is 1300 and the maximum value is 8896. # The suggested value is 1500, which is the default MTU used on the # Internet, or 8896 if you want to use Jumbo frames. If unspecified, the # value defaults to 1460. # Corresponds to the JSON property `mtu` # @return [Fixnum] attr_accessor :mtu # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The network firewall policy enforcement order. Can be either # AFTER_CLASSIC_FIREWALL or BEFORE_CLASSIC_FIREWALL. Defaults to # AFTER_CLASSIC_FIREWALL if the field is not specified. # Corresponds to the JSON property `networkFirewallPolicyEnforcementOrder` # @return [String] attr_accessor :network_firewall_policy_enforcement_order # A full or partial URL of the network profile to apply to this network. # This field can be set only at resource creation time. For example, the # following are valid URLs: # # - https://www.googleapis.com/compute/`api_version`/projects/`project_id`/ # global/networkProfiles/`network_profile_name` # - projects/`project_id`/global/networkProfiles/`network_profile_name` # Corresponds to the JSON property `networkProfile` # @return [String] attr_accessor :network_profile # Additional network parameters. # Corresponds to the JSON property `params` # @return [Google::Apis::ComputeV1::NetworkParams] attr_accessor :params # Output only. [Output Only] A list of network peerings for the resource. # Corresponds to the JSON property `peerings` # @return [Array] attr_accessor :peerings # A routing configuration attached to a network resource. The message # includes the list of routers associated with the network, and a flag # indicating the type of routing behavior to enforce network-wide. # Corresponds to the JSON property `routingConfig` # @return [Google::Apis::ComputeV1::NetworkRoutingConfig] attr_accessor :routing_config # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Server-defined URL for this resource with the # resource id. # Corresponds to the JSON property `selfLinkWithId` # @return [String] attr_accessor :self_link_with_id # [Output Only] Server-defined fully-qualified URLs for all subnetworks # in this VPC network. # Corresponds to the JSON property `subnetworks` # @return [Array] attr_accessor :subnetworks def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @i_pv4_range = args[:i_pv4_range] if args.key?(:i_pv4_range) @auto_create_subnetworks = args[:auto_create_subnetworks] if args.key?(:auto_create_subnetworks) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @enable_ula_internal_ipv6 = args[:enable_ula_internal_ipv6] if args.key?(:enable_ula_internal_ipv6) @firewall_policy = args[:firewall_policy] if args.key?(:firewall_policy) @gateway_i_pv4 = args[:gateway_i_pv4] if args.key?(:gateway_i_pv4) @id = args[:id] if args.key?(:id) @internal_ipv6_range = args[:internal_ipv6_range] if args.key?(:internal_ipv6_range) @kind = args[:kind] if args.key?(:kind) @mtu = args[:mtu] if args.key?(:mtu) @name = args[:name] if args.key?(:name) @network_firewall_policy_enforcement_order = args[:network_firewall_policy_enforcement_order] if args.key?(:network_firewall_policy_enforcement_order) @network_profile = args[:network_profile] if args.key?(:network_profile) @params = args[:params] if args.key?(:params) @peerings = args[:peerings] if args.key?(:peerings) @routing_config = args[:routing_config] if args.key?(:routing_config) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @subnetworks = args[:subnetworks] if args.key?(:subnetworks) end end # NetworkAttachments # A network attachment resource ... class NetworkAttachment include Google::Apis::Core::Hashable # Output only. [Output Only] An array of connections for all the producers # connected # to this network attachment. # Corresponds to the JSON property `connectionEndpoints` # @return [Array] attr_accessor :connection_endpoints # # Corresponds to the JSON property `connectionPreference` # @return [String] attr_accessor :connection_preference # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # 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. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # Output only. [Output Only] The unique identifier for the resource type. The # server # generates this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [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. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # Projects that are allowed to connect to this network attachment. # The project can be specified using its id or number. # Corresponds to the JSON property `producerAcceptLists` # @return [Array] attr_accessor :producer_accept_lists # Projects that are not allowed to connect to this network attachment. # The project can be specified using its id or number. # Corresponds to the JSON property `producerRejectLists` # @return [Array] attr_accessor :producer_reject_lists # Output only. [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. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Server-defined URL for this resource's resource id. # Corresponds to the JSON property `selfLinkWithId` # @return [String] attr_accessor :self_link_with_id # 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. # Corresponds to the JSON property `subnetworks` # @return [Array] attr_accessor :subnetworks def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @connection_endpoints = args[:connection_endpoints] if args.key?(:connection_endpoints) @connection_preference = args[:connection_preference] if args.key?(:connection_preference) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @producer_accept_lists = args[:producer_accept_lists] if args.key?(:producer_accept_lists) @producer_reject_lists = args[:producer_reject_lists] if args.key?(:producer_reject_lists) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @subnetworks = args[:subnetworks] if args.key?(:subnetworks) end end # Contains a list of NetworkAttachmentsScopedList. class NetworkAttachmentAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of NetworkAttachmentsScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NetworkAttachmentAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # [Output Only] A connection connected to this network attachment. class NetworkAttachmentConnectedEndpoint include Google::Apis::Core::Hashable # The IPv4 address assigned to the producer instance network interface. # This value will be a range in case of Serverless. # Corresponds to the JSON property `ipAddress` # @return [String] attr_accessor :ip_address # 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. # Corresponds to the JSON property `ipv6Address` # @return [String] attr_accessor :ipv6_address # The project id or number of the interface to which the IP was assigned. # Corresponds to the JSON property `projectIdOrNum` # @return [String] attr_accessor :project_id_or_num # Alias IP ranges from the same subnetwork. # Corresponds to the JSON property `secondaryIpCidrRanges` # @return [Array] attr_accessor :secondary_ip_cidr_ranges # The status of a connected endpoint to this network attachment. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # The subnetwork used to assign the IP to the producer # instance network interface. # Corresponds to the JSON property `subnetwork` # @return [String] attr_accessor :subnetwork # Output only. [Output Only] The CIDR range of the subnet from which the IPv4 # internal # IP was allocated from. # Corresponds to the JSON property `subnetworkCidrRange` # @return [String] attr_accessor :subnetwork_cidr_range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ip_address = args[:ip_address] if args.key?(:ip_address) @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address) @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num) @secondary_ip_cidr_ranges = args[:secondary_ip_cidr_ranges] if args.key?(:secondary_ip_cidr_ranges) @status = args[:status] if args.key?(:status) @subnetwork = args[:subnetwork] if args.key?(:subnetwork) @subnetwork_cidr_range = args[:subnetwork_cidr_range] if args.key?(:subnetwork_cidr_range) end end # class NetworkAttachmentList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of NetworkAttachment resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NetworkAttachmentList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class NetworkAttachmentsScopedList include Google::Apis::Core::Hashable # A list of NetworkAttachments contained in this scope. # Corresponds to the JSON property `networkAttachments` # @return [Array] attr_accessor :network_attachments # Informational warning which replaces the list of # network attachments when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NetworkAttachmentsScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @network_attachments = args[:network_attachments] if args.key?(:network_attachments) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of # network attachments when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents a Google Cloud Armor network edge security service resource. class NetworkEdgeSecurityService include Google::Apis::Core::Hashable # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # 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 NetworkEdgeSecurityService. An up-to-date fingerprint must be # provided in order to update the NetworkEdgeSecurityService, # otherwise the request will fail with error412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve a NetworkEdgeSecurityService. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output only] Type of the resource. Alwayscompute# # networkEdgeSecurityService for # NetworkEdgeSecurityServices # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] URL of the region where the resource resides. You # must # specify this field as part of the HTTP request URL. It is not settable as a # field in the request body. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # The resource URL for the network edge security service associated with this # network edge security service. # Corresponds to the JSON property `securityPolicy` # @return [String] attr_accessor :security_policy # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Server-defined URL for this resource with the # resource id. # Corresponds to the JSON property `selfLinkWithId` # @return [String] attr_accessor :self_link_with_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @region = args[:region] if args.key?(:region) @security_policy = args[:security_policy] if args.key?(:security_policy) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) end end # class NetworkEdgeSecurityServiceAggregatedList include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of NetworkEdgeSecurityServicesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # networkEdgeSecurityServiceAggregatedList for lists of # Network Edge Security Services. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NetworkEdgeSecurityServiceAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class NetworkEdgeSecurityServicesScopedList include Google::Apis::Core::Hashable # A list of NetworkEdgeSecurityServices contained in this scope. # Corresponds to the JSON property `networkEdgeSecurityServices` # @return [Array] attr_accessor :network_edge_security_services # Informational warning which replaces the list of # security policies when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NetworkEdgeSecurityServicesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @network_edge_security_services = args[:network_edge_security_services] if args.key?(:network_edge_security_services) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of # security policies when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # The network endpoint. class NetworkEndpoint include Google::Apis::Core::Hashable # Optional metadata defined as annotations on the network endpoint. # Corresponds to the JSON property `annotations` # @return [Hash] attr_accessor :annotations # Represents the port number to which PSC consumer sends packets. # Optional. Only valid for network endpoint groups created withGCE_VM_IP_PORTMAP # endpoint type. # Corresponds to the JSON property `clientDestinationPort` # @return [Fixnum] attr_accessor :client_destination_port # Optional fully qualified domain name of network endpoint. This can only be # specified when NetworkEndpointGroup.network_endpoint_type isNON_GCP_FQDN_PORT. # Corresponds to the JSON property `fqdn` # @return [String] attr_accessor :fqdn # The name or a URL of VM instance of this network endpoint. # Optional, the field presence depends on the network endpoint type. The # field is required for network endpoints of type GCE_VM_IP andGCE_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 withRFC1035 # or be a valid URL pointing to an existing instance. # Corresponds to the JSON property `instance` # @return [String] attr_accessor :instance # 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 # typeGCE_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. # Corresponds to the JSON property `ipAddress` # @return [String] attr_accessor :ip_address # Optional IPv6 address of network endpoint. # Corresponds to the JSON property `ipv6Address` # @return [String] attr_accessor :ipv6_address # 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 typeGCE_VM_IP. # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @annotations = args[:annotations] if args.key?(:annotations) @client_destination_port = args[:client_destination_port] if args.key?(:client_destination_port) @fqdn = args[:fqdn] if args.key?(:fqdn) @instance = args[:instance] if args.key?(:instance) @ip_address = args[:ip_address] if args.key?(:ip_address) @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address) @port = args[:port] if args.key?(:port) end end # 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, seeNetwork # endpoint groups overview. class NetworkEndpointGroup include Google::Apis::Core::Hashable # Optional. Metadata defined as annotations on the network endpoint group. # Corresponds to the JSON property `annotations` # @return [Hash] attr_accessor :annotations # Configuration for an App Engine network endpoint group (NEG). # The service is optional, may be provided explicitly or in the # URL mask. The version is optional and can only be provided # explicitly or in the URL mask when service is present. # Note: App Engine service must be in the same project and located in the # same region as the Serverless NEG. # Corresponds to the JSON property `appEngine` # @return [Google::Apis::ComputeV1::NetworkEndpointGroupAppEngine] attr_accessor :app_engine # Configuration for a Cloud Function network endpoint group (NEG). # The function must be provided explicitly or in the URL mask. # Note: Cloud Function must be in the same project and located in the same # region as the Serverless NEG. # Corresponds to the JSON property `cloudFunction` # @return [Google::Apis::ComputeV1::NetworkEndpointGroupCloudFunction] attr_accessor :cloud_function # Configuration for a Cloud Run network endpoint group (NEG). # The service must be provided explicitly or in the URL mask. # The tag is optional, may be provided explicitly or in the URL # mask. # Note: Cloud Run service must be in the same project and located in the same # region as the Serverless NEG. # Corresponds to the JSON property `cloudRun` # @return [Google::Apis::ComputeV1::NetworkEndpointGroupCloudRun] attr_accessor :cloud_run # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # The default port used if the port number is not specified in the network # endpoint. # Optional. If the network endpoint type is either GCE_VM_IP,SERVERLESS or # PRIVATE_SERVICE_CONNECT, this # field must not be specified. # Corresponds to the JSON property `defaultPort` # @return [Fixnum] attr_accessor :default_port # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute# # networkEndpointGroup for network endpoint group. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource; provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The URL of the network to which all network endpoints in the NEG belong. # Uses default project network if unspecified. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # Type of network endpoints in this network endpoint group. Can be one # ofGCE_VM_IP, GCE_VM_IP_PORT,NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, # INTERNET_IP_PORT, SERVERLESS,PRIVATE_SERVICE_CONNECT, GCE_VM_IP_PORTMAP. # Corresponds to the JSON property `networkEndpointType` # @return [String] attr_accessor :network_endpoint_type # All data that is specifically relevant to only network endpoint groups of # type PRIVATE_SERVICE_CONNECT. # Corresponds to the JSON property `pscData` # @return [Google::Apis::ComputeV1::NetworkEndpointGroupPscData] attr_accessor :psc_data # 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. # Optional. Only valid when networkEndpointType isPRIVATE_SERVICE_CONNECT. # Corresponds to the JSON property `pscTargetService` # @return [String] attr_accessor :psc_target_service # Output only. [Output Only] The URL of theregion # where the network endpoint group is located. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output only] Number of network endpoints in the network endpoint # group. # Corresponds to the JSON property `size` # @return [Fixnum] attr_accessor :size # Optional URL of the subnetwork to which all network endpoints in the NEG # belong. # Corresponds to the JSON property `subnetwork` # @return [String] attr_accessor :subnetwork # Output only. [Output Only] The URL of thezone # where the network endpoint group is located. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @annotations = args[:annotations] if args.key?(:annotations) @app_engine = args[:app_engine] if args.key?(:app_engine) @cloud_function = args[:cloud_function] if args.key?(:cloud_function) @cloud_run = args[:cloud_run] if args.key?(:cloud_run) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @default_port = args[:default_port] if args.key?(:default_port) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type) @psc_data = args[:psc_data] if args.key?(:psc_data) @psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @size = args[:size] if args.key?(:size) @subnetwork = args[:subnetwork] if args.key?(:subnetwork) @zone = args[:zone] if args.key?(:zone) end end # class NetworkEndpointGroupAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of NetworkEndpointGroupsScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] The resource type, which is alwayscompute# # networkEndpointGroupAggregatedList for aggregated # lists of network endpoint groups. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NetworkEndpointGroupAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Configuration for an App Engine network endpoint group (NEG). # The service is optional, may be provided explicitly or in the # URL mask. The version is optional and can only be provided # explicitly or in the URL mask when service is present. # Note: App Engine service must be in the same project and located in the # same region as the Serverless NEG. class NetworkEndpointGroupAppEngine include Google::Apis::Core::Hashable # Optional serving service. # The service name is case-sensitive and must be 1-63 # characters long. # Example value: default, my-service. # Corresponds to the JSON property `service` # @return [String] attr_accessor :service # 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 URLsfoo1-dot-appname.appspot.com/v1 andfoo1-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. # Corresponds to the JSON property `urlMask` # @return [String] attr_accessor :url_mask # Optional serving version. # The version name is case-sensitive and must be 1-100 # characters long. # Example value: v1, v2. # Corresponds to the JSON property `version` # @return [String] attr_accessor :version def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @service = args[:service] if args.key?(:service) @url_mask = args[:url_mask] if args.key?(:url_mask) @version = args[:version] if args.key?(:version) end end # Configuration for a Cloud Function network endpoint group (NEG). # The function must be provided explicitly or in the URL mask. # Note: Cloud Function must be in the same project and located in the same # region as the Serverless NEG. class NetworkEndpointGroupCloudFunction include Google::Apis::Core::Hashable # A user-defined name of the Cloud Function. # The function name is case-sensitive and must be 1-63 # characters long. # Example value: func1. # Corresponds to the JSON property `function` # @return [String] attr_accessor :function # 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 andmydomain.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. # Corresponds to the JSON property `urlMask` # @return [String] attr_accessor :url_mask def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @function = args[:function] if args.key?(:function) @url_mask = args[:url_mask] if args.key?(:url_mask) end end # Configuration for a Cloud Run network endpoint group (NEG). # The service must be provided explicitly or in the URL mask. # The tag is optional, may be provided explicitly or in the URL # mask. # Note: Cloud Run service must be in the same project and located in the same # region as the Serverless NEG. class NetworkEndpointGroupCloudRun include Google::Apis::Core::Hashable # Cloud Run service is the main resource of Cloud Run. # The service must be 1-63 characters long, and comply withRFC1035. # Example value: "run-service". # Corresponds to the JSON property `service` # @return [String] attr_accessor :service # 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 withRFC1035. # Example value: "revision-0010". # Corresponds to the JSON property `tag` # @return [String] attr_accessor :tag # 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 andfoo1.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. # Corresponds to the JSON property `urlMask` # @return [String] attr_accessor :url_mask def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @service = args[:service] if args.key?(:service) @tag = args[:tag] if args.key?(:tag) @url_mask = args[:url_mask] if args.key?(:url_mask) end end # class NetworkEndpointGroupList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of NetworkEndpointGroup resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] The resource type, which is alwayscompute# # networkEndpointGroupList for network endpoint group # lists. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NetworkEndpointGroupList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # All data that is specifically relevant to only network endpoint groups of # type PRIVATE_SERVICE_CONNECT. class NetworkEndpointGroupPscData include Google::Apis::Core::Hashable # Output only. [Output Only] Address allocated from given subnetwork for PSC. # This IP # address acts as a VIP for a PSC NEG, allowing it to act as an endpoint in # L7 PSC-XLB. # Corresponds to the JSON property `consumerPscAddress` # @return [String] attr_accessor :consumer_psc_address # The psc producer port is used to connect PSC NEG with specific port on # the PSC Producer side; should only be used for the # PRIVATE_SERVICE_CONNECT NEG type # Corresponds to the JSON property `producerPort` # @return [Fixnum] attr_accessor :producer_port # Output only. [Output Only] The PSC connection id of the PSC Network Endpoint # Group # Consumer. # Corresponds to the JSON property `pscConnectionId` # @return [Fixnum] attr_accessor :psc_connection_id # Output only. [Output Only] The connection status of the PSC Forwarding Rule. # Corresponds to the JSON property `pscConnectionStatus` # @return [String] attr_accessor :psc_connection_status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @consumer_psc_address = args[:consumer_psc_address] if args.key?(:consumer_psc_address) @producer_port = args[:producer_port] if args.key?(:producer_port) @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id) @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status) end end # class NetworkEndpointGroupsAttachEndpointsRequest include Google::Apis::Core::Hashable # The list of network endpoints to be attached. # Corresponds to the JSON property `networkEndpoints` # @return [Array] attr_accessor :network_endpoints def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @network_endpoints = args[:network_endpoints] if args.key?(:network_endpoints) end end # class NetworkEndpointGroupsDetachEndpointsRequest include Google::Apis::Core::Hashable # The list of network endpoints to be detached. # Corresponds to the JSON property `networkEndpoints` # @return [Array] attr_accessor :network_endpoints def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @network_endpoints = args[:network_endpoints] if args.key?(:network_endpoints) end end # class NetworkEndpointGroupsListEndpointsRequest include Google::Apis::Core::Hashable # Optional query parameter for showing the health status of each network # endpoint. Valid options are SKIP or SHOW. If you # don't specify this parameter, the health status of network endpoints will # not be provided. # Corresponds to the JSON property `healthStatus` # @return [String] attr_accessor :health_status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @health_status = args[:health_status] if args.key?(:health_status) end end # class NetworkEndpointGroupsListNetworkEndpoints include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of NetworkEndpointWithHealthStatus resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] The resource type, which is alwayscompute# # networkEndpointGroupsListNetworkEndpoints for the list # of network endpoints in the specified network endpoint group. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NetworkEndpointGroupsListNetworkEndpoints::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class NetworkEndpointGroupsScopedList include Google::Apis::Core::Hashable # Output only. [Output Only] The list ofnetwork # endpoint groups that are contained in this scope. # Corresponds to the JSON property `networkEndpointGroups` # @return [Array] attr_accessor :network_endpoint_groups # Output only. [Output Only] An informational warning that replaces the list of # network # endpoint groups when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NetworkEndpointGroupsScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @network_endpoint_groups = args[:network_endpoint_groups] if args.key?(:network_endpoint_groups) @warning = args[:warning] if args.key?(:warning) end # Output only. [Output Only] An informational warning that replaces the list of # network # endpoint groups when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class NetworkEndpointWithHealthStatus include Google::Apis::Core::Hashable # Output only. [Output only] The health status of network endpoint. # Optional. Displayed only if the network endpoint has centralized health # checking configured. # Corresponds to the JSON property `healths` # @return [Array] attr_accessor :healths # The network endpoint. # Corresponds to the JSON property `networkEndpoint` # @return [Google::Apis::ComputeV1::NetworkEndpoint] attr_accessor :network_endpoint def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @healths = args[:healths] if args.key?(:healths) @network_endpoint = args[:network_endpoint] if args.key?(:network_endpoint) end end # class NetworkFirewallPolicyAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of FirewallPoliciesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # networkFirewallPoliciesAggregatedList for lists of # network firewall policies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NetworkFirewallPolicyAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # A network interface resource attached to an instance. class NetworkInterface include Google::Apis::Core::Hashable # An array of configurations for this interface. Currently, only one access # config, ONE_TO_ONE_NAT, is supported. If there are noaccessConfigs specified, # then this instance will have # no external internet access. # Corresponds to the JSON property `accessConfigs` # @return [Array] attr_accessor :access_configs # An array of alias IP ranges for this network interface. # You can only specify this field for network interfaces in VPC networks. # Corresponds to the JSON property `aliasIpRanges` # @return [Array] attr_accessor :alias_ip_ranges # Fingerprint hash of contents stored in this network interface. # This field will be ignored when inserting an Instance or # adding a NetworkInterface. An up-to-date # fingerprint must be provided in order to update theNetworkInterface. The # request will fail with error400 Bad Request if the fingerprint is not provided, # or412 Precondition Failed if the fingerprint is out of date. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # Indicate whether igmp query is enabled on the network interface # or not. If enabled, also indicates the version of IGMP supported. # Corresponds to the JSON property `igmpQuery` # @return [String] attr_accessor :igmp_query # The prefix length of the primary internal IPv6 range. # Corresponds to the JSON property `internalIpv6PrefixLength` # @return [Fixnum] attr_accessor :internal_ipv6_prefix_length # 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. # Corresponds to the JSON property `ipv6AccessConfigs` # @return [Array] attr_accessor :ipv6_access_configs # Output only. [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. # Corresponds to the JSON property `ipv6AccessType` # @return [String] attr_accessor :ipv6_access_type # 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. # Corresponds to the JSON property `ipv6Address` # @return [String] attr_accessor :ipv6_address # Output only. [Output Only] Type of the resource. Alwayscompute# # networkInterface for network interfaces. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [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 and7. The default interface value is nic0. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # 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 # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # 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`. # Corresponds to the JSON property `networkAttachment` # @return [String] attr_accessor :network_attachment # 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. # Corresponds to the JSON property `networkIP` # @return [String] attr_accessor :network_ip # The type of vNIC to be used on this interface. This may be gVNIC or # VirtioNet. # Corresponds to the JSON property `nicType` # @return [String] attr_accessor :nic_type # Name of the parent network interface of a dynamic network interface. # Corresponds to the JSON property `parentNicName` # @return [String] attr_accessor :parent_nic_name # 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. # Corresponds to the JSON property `queueCount` # @return [Fixnum] attr_accessor :queue_count # The stack type for this network interface. To assign only IPv4 addresses, # use IPV4_ONLY. To assign both IPv4 and IPv6 addresses, useIPV4_IPV6. If not # specified, IPV4_ONLY is used. # This field can be both set at instance creation and update network # interface operations. # Corresponds to the JSON property `stackType` # @return [String] attr_accessor :stack_type # The URL of the Subnetwork resource for this instance. If the network # resource is inlegacy # 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 # Corresponds to the JSON property `subnetwork` # @return [String] attr_accessor :subnetwork # VLAN tag of a dynamic network interface, must be an integer in the range # from 2 to 255 inclusively. # Corresponds to the JSON property `vlan` # @return [Fixnum] attr_accessor :vlan def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @access_configs = args[:access_configs] if args.key?(:access_configs) @alias_ip_ranges = args[:alias_ip_ranges] if args.key?(:alias_ip_ranges) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @igmp_query = args[:igmp_query] if args.key?(:igmp_query) @internal_ipv6_prefix_length = args[:internal_ipv6_prefix_length] if args.key?(:internal_ipv6_prefix_length) @ipv6_access_configs = args[:ipv6_access_configs] if args.key?(:ipv6_access_configs) @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type) @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @network_attachment = args[:network_attachment] if args.key?(:network_attachment) @network_ip = args[:network_ip] if args.key?(:network_ip) @nic_type = args[:nic_type] if args.key?(:nic_type) @parent_nic_name = args[:parent_nic_name] if args.key?(:parent_nic_name) @queue_count = args[:queue_count] if args.key?(:queue_count) @stack_type = args[:stack_type] if args.key?(:stack_type) @subnetwork = args[:subnetwork] if args.key?(:subnetwork) @vlan = args[:vlan] if args.key?(:vlan) end end # Contains a list of networks. class NetworkList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Network resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#networkList for # lists of networks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NetworkList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Additional network parameters. class NetworkParams include Google::Apis::Core::Hashable # Tag keys/values directly bound to this resource. # Tag keys and values have the same definition as resource # manager tags. The field is allowed for INSERT # only. The keys/values to set on the resource should be specified in # either ID ` : ` or Namespaced format # ` : `. # For example the following are valid inputs: # * `"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` # * `"123/environment" : "production", "345/abc" : "xyz"` # Note: # * Invalid combinations of ID & namespaced format is not supported. For # instance: `"123/environment" : "tagValues/444"` is invalid. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) end end # A network peering attached to a network resource. The message includes the # peering name, peer network, peering state, and a flag indicating whether # Google Compute Engine should automatically create routes for the peering. class NetworkPeering include Google::Apis::Core::Hashable # This field will be deprecated soon. Use theexchange_subnet_routes field # instead. # Indicates whether full mesh connectivity is created and managed # automatically between peered networks. Currently this field should always # be true since Google Compute Engine will automatically create and manage # subnetwork routes between two networks when peering state isACTIVE. # Corresponds to the JSON property `autoCreateRoutes` # @return [Boolean] attr_accessor :auto_create_routes alias_method :auto_create_routes?, :auto_create_routes # [Output Only] Describes the state of a peering connection, not just the # local peering. This field provides information about the effective settings # for the connection as a whole, including pending delete/update requests for # CONSENSUS peerings. # Corresponds to the JSON property `connectionStatus` # @return [Google::Apis::ComputeV1::NetworkPeeringConnectionStatus] attr_accessor :connection_status # Indicates whether full mesh connectivity is created and managed # automatically between peered networks. Currently this field should always # be true since Google Compute Engine will automatically create and manage # subnetwork routes between two networks when peering state isACTIVE. # Corresponds to the JSON property `exchangeSubnetRoutes` # @return [Boolean] attr_accessor :exchange_subnet_routes alias_method :exchange_subnet_routes?, :exchange_subnet_routes # Whether to export the custom routes to peer network. The default value is # false. # Corresponds to the JSON property `exportCustomRoutes` # @return [Boolean] attr_accessor :export_custom_routes alias_method :export_custom_routes?, :export_custom_routes # Whether subnet routes with public IP range are exported. The default value # is true, all subnet routes are exported.IPv4 # special-use ranges are always # exported to peers and are not controlled by this field. # Corresponds to the JSON property `exportSubnetRoutesWithPublicIp` # @return [Boolean] attr_accessor :export_subnet_routes_with_public_ip alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip # Whether to import the custom routes from peer network. The default value is # false. # Corresponds to the JSON property `importCustomRoutes` # @return [Boolean] attr_accessor :import_custom_routes alias_method :import_custom_routes?, :import_custom_routes # Whether subnet routes with public IP range are imported. The default value # is false.IPv4 # special-use ranges are always # imported from peers and are not controlled by this field. # Corresponds to the JSON property `importSubnetRoutesWithPublicIp` # @return [Boolean] attr_accessor :import_subnet_routes_with_public_ip alias_method :import_subnet_routes_with_public_ip?, :import_subnet_routes_with_public_ip # Name of this peering. Provided by the client when the peering is created. # The name must comply withRFC1035. # Specifically, the name must be 1-63 characters long and match regular # expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a # lowercase letter, and all the following characters must be a dash, # lowercase letter, or digit, except the last character, which cannot be a # dash. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The URL of the peer network. It can be either full URL or partial URL. The # peer network may belong to a different project. If the partial URL does not # contain project, it is assumed that the peer network is in the same project # as the current network. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # Output only. [Output Only] Maximum Transmission Unit in bytes of the peer # network. # Corresponds to the JSON property `peerMtu` # @return [Fixnum] attr_accessor :peer_mtu # Which IP version(s) of traffic and routes are allowed to be imported or # exported between peer networks. The default value is IPV4_ONLY. # Corresponds to the JSON property `stackType` # @return [String] attr_accessor :stack_type # Output only. [Output Only] State for the peering. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Output only. [Output Only] Details about the current state of the peering. # Corresponds to the JSON property `stateDetails` # @return [String] attr_accessor :state_details # The update strategy determines the semantics for updates and deletes to the # peering connection configuration. # Corresponds to the JSON property `updateStrategy` # @return [String] attr_accessor :update_strategy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes) @connection_status = args[:connection_status] if args.key?(:connection_status) @exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes) @export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes) @export_subnet_routes_with_public_ip = args[:export_subnet_routes_with_public_ip] if args.key?(:export_subnet_routes_with_public_ip) @import_custom_routes = args[:import_custom_routes] if args.key?(:import_custom_routes) @import_subnet_routes_with_public_ip = args[:import_subnet_routes_with_public_ip] if args.key?(:import_subnet_routes_with_public_ip) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @peer_mtu = args[:peer_mtu] if args.key?(:peer_mtu) @stack_type = args[:stack_type] if args.key?(:stack_type) @state = args[:state] if args.key?(:state) @state_details = args[:state_details] if args.key?(:state_details) @update_strategy = args[:update_strategy] if args.key?(:update_strategy) end end # [Output Only] Describes the state of a peering connection, not just the # local peering. This field provides information about the effective settings # for the connection as a whole, including pending delete/update requests for # CONSENSUS peerings. class NetworkPeeringConnectionStatus include Google::Apis::Core::Hashable # The status of update/delete for a consensus peering connection. Only set # when connection_status.update_strategy isCONSENSUS or a network peering is # proposing to update the # strategy to CONSENSUS. # Corresponds to the JSON property `consensusState` # @return [Google::Apis::ComputeV1::NetworkPeeringConnectionStatusConsensusState] attr_accessor :consensus_state # The active connectivity settings for the peering connection based on the # settings of the network peerings. # Corresponds to the JSON property `trafficConfiguration` # @return [Google::Apis::ComputeV1::NetworkPeeringConnectionStatusTrafficConfiguration] attr_accessor :traffic_configuration # The update strategy determines the update/delete semantics for this # peering connection. # Corresponds to the JSON property `updateStrategy` # @return [String] attr_accessor :update_strategy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @consensus_state = args[:consensus_state] if args.key?(:consensus_state) @traffic_configuration = args[:traffic_configuration] if args.key?(:traffic_configuration) @update_strategy = args[:update_strategy] if args.key?(:update_strategy) end end # The status of update/delete for a consensus peering connection. Only set # when connection_status.update_strategy isCONSENSUS or a network peering is # proposing to update the # strategy to CONSENSUS. class NetworkPeeringConnectionStatusConsensusState include Google::Apis::Core::Hashable # The status of the delete request. # Corresponds to the JSON property `deleteStatus` # @return [String] attr_accessor :delete_status # The status of the update request. # Corresponds to the JSON property `updateStatus` # @return [String] attr_accessor :update_status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @delete_status = args[:delete_status] if args.key?(:delete_status) @update_status = args[:update_status] if args.key?(:update_status) end end # class NetworkPeeringConnectionStatusTrafficConfiguration include Google::Apis::Core::Hashable # Whether custom routes are being exported to the peer network. # Corresponds to the JSON property `exportCustomRoutesToPeer` # @return [Boolean] attr_accessor :export_custom_routes_to_peer alias_method :export_custom_routes_to_peer?, :export_custom_routes_to_peer # Whether subnet routes with public IP ranges are being exported to the # peer network. # Corresponds to the JSON property `exportSubnetRoutesWithPublicIpToPeer` # @return [Boolean] attr_accessor :export_subnet_routes_with_public_ip_to_peer alias_method :export_subnet_routes_with_public_ip_to_peer?, :export_subnet_routes_with_public_ip_to_peer # Whether custom routes are being imported from the peer network. # Corresponds to the JSON property `importCustomRoutesFromPeer` # @return [Boolean] attr_accessor :import_custom_routes_from_peer alias_method :import_custom_routes_from_peer?, :import_custom_routes_from_peer # Whether subnet routes with public IP ranges are being imported # from the peer network. # Corresponds to the JSON property `importSubnetRoutesWithPublicIpFromPeer` # @return [Boolean] attr_accessor :import_subnet_routes_with_public_ip_from_peer alias_method :import_subnet_routes_with_public_ip_from_peer?, :import_subnet_routes_with_public_ip_from_peer # Which IP version(s) of traffic and routes are being imported or # exported between peer networks. # Corresponds to the JSON property `stackType` # @return [String] attr_accessor :stack_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @export_custom_routes_to_peer = args[:export_custom_routes_to_peer] if args.key?(:export_custom_routes_to_peer) @export_subnet_routes_with_public_ip_to_peer = args[:export_subnet_routes_with_public_ip_to_peer] if args.key?(:export_subnet_routes_with_public_ip_to_peer) @import_custom_routes_from_peer = args[:import_custom_routes_from_peer] if args.key?(:import_custom_routes_from_peer) @import_subnet_routes_with_public_ip_from_peer = args[:import_subnet_routes_with_public_ip_from_peer] if args.key?(:import_subnet_routes_with_public_ip_from_peer) @stack_type = args[:stack_type] if args.key?(:stack_type) end end # class NetworkPerformanceConfig include Google::Apis::Core::Hashable # # Corresponds to the JSON property `totalEgressBandwidthTier` # @return [String] attr_accessor :total_egress_bandwidth_tier def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @total_egress_bandwidth_tier = args[:total_egress_bandwidth_tier] if args.key?(:total_egress_bandwidth_tier) end end # NetworkProfile represents a Google managed network profile resource. class NetworkProfile include Google::Apis::Core::Hashable # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Output only. [Output Only] An optional description of this resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] Features supported by the network. # Corresponds to the JSON property `features` # @return [Google::Apis::ComputeV1::NetworkProfileNetworkFeatures] attr_accessor :features # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute#networkProfile # for network profiles. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] Location to which the network is restricted. # Corresponds to the JSON property `location` # @return [Google::Apis::ComputeV1::NetworkProfileLocation] attr_accessor :location # Output only. [Output Only] Name of the resource. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] Type of the network profile. # Corresponds to the JSON property `profileType` # @return [Google::Apis::ComputeV1::NetworkProfileProfileType] attr_accessor :profile_type # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Server-defined URL for this resource with the # resource id. # Corresponds to the JSON property `selfLinkWithId` # @return [String] attr_accessor :self_link_with_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @features = args[:features] if args.key?(:features) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @location = args[:location] if args.key?(:location) @name = args[:name] if args.key?(:name) @profile_type = args[:profile_type] if args.key?(:profile_type) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) end end # class NetworkProfileLocation include Google::Apis::Core::Hashable # # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # # Corresponds to the JSON property `scope` # @return [String] attr_accessor :scope def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @scope = args[:scope] if args.key?(:scope) end end # class NetworkProfileNetworkFeatures include Google::Apis::Core::Hashable # Specifies what address purposes are supported. If empty, all address # purposes are supported. # Corresponds to the JSON property `addressPurposes` # @return [Array] attr_accessor :address_purposes # Specifies whether address creation is allowed. # Corresponds to the JSON property `allowAddressCreation` # @return [String] attr_accessor :allow_address_creation # Specifies whether alias IP ranges (and secondary address ranges) are # allowed. # Corresponds to the JSON property `allowAliasIpRanges` # @return [String] attr_accessor :allow_alias_ip_ranges # Specifies whether auto mode subnet creation is allowed. # Corresponds to the JSON property `allowAutoModeSubnet` # @return [String] attr_accessor :allow_auto_mode_subnet # Specifies whether firewalls for Class D address ranges are supported. # Corresponds to the JSON property `allowClassDFirewalls` # @return [String] attr_accessor :allow_class_d_firewalls # Specifies whether cloud NAT creation is allowed. # Corresponds to the JSON property `allowCloudNat` # @return [String] attr_accessor :allow_cloud_nat # Specifies whether cloud router creation is allowed. # Corresponds to the JSON property `allowCloudRouter` # @return [String] attr_accessor :allow_cloud_router # Specifies whether default NIC attachment is allowed. # Corresponds to the JSON property `allowDefaultNicAttachment` # @return [String] attr_accessor :allow_default_nic_attachment # Specifies whether VMs are allowed to have external IP access on network # interfaces connected to this VPC. # Corresponds to the JSON property `allowExternalIpAccess` # @return [String] attr_accessor :allow_external_ip_access # Specifies whether firewall policy can be attached to the network. # Corresponds to the JSON property `allowFirewallPolicy` # @return [String] attr_accessor :allow_firewall_policy # Specifies whether Cloud Interconnect creation is allowed. # Corresponds to the JSON property `allowInterconnect` # @return [String] attr_accessor :allow_interconnect # Specifies whether IP forwarding is allowed. # Corresponds to the JSON property `allowIpForwarding` # @return [String] attr_accessor :allow_ip_forwarding # Specifies whether cloud load balancing is allowed. # Corresponds to the JSON property `allowLoadBalancing` # @return [String] attr_accessor :allow_load_balancing # Specifies whether multi-nic in the same network is allowed. # Corresponds to the JSON property `allowMultiNicInSameNetwork` # @return [String] attr_accessor :allow_multi_nic_in_same_network # Specifies whether multi-nic in the same subnetwork is allowed. # Corresponds to the JSON property `allowMultiNicInSameSubnetwork` # @return [String] attr_accessor :allow_multi_nic_in_same_subnetwork # Specifies whether multicast is allowed. # Corresponds to the JSON property `allowMulticast` # @return [String] attr_accessor :allow_multicast # Specifies whether NCC is allowed. # Corresponds to the JSON property `allowNcc` # @return [String] attr_accessor :allow_ncc # Specifies whether VM network migration is allowed. # Corresponds to the JSON property `allowNetworkMigration` # @return [String] attr_accessor :allow_network_migration # Specifies whether Packet Mirroring 1.0 is supported. # Corresponds to the JSON property `allowPacketMirroring` # @return [String] attr_accessor :allow_packet_mirroring # Specifies whether private Google access is allowed. # Corresponds to the JSON property `allowPrivateGoogleAccess` # @return [String] attr_accessor :allow_private_google_access # Specifies whether PSC creation is allowed. # Corresponds to the JSON property `allowPsc` # @return [String] attr_accessor :allow_psc # Specifies whether unicast within the same network is allowed. # Corresponds to the JSON property `allowSameNetworkUnicast` # @return [String] attr_accessor :allow_same_network_unicast # Specifies whether static route creation is allowed. # Corresponds to the JSON property `allowStaticRoutes` # @return [String] attr_accessor :allow_static_routes # Specifies whether sub interfaces are allowed. # Corresponds to the JSON property `allowSubInterfaces` # @return [String] attr_accessor :allow_sub_interfaces # Specifies whether subnetwork creation is allowed. # Corresponds to the JSON property `allowSubnetworkCreation` # @return [String] attr_accessor :allow_subnetwork_creation # Specifies whether VPC firewall rules can be created under the network. # Corresponds to the JSON property `allowVpcFirewallRules` # @return [String] attr_accessor :allow_vpc_firewall_rules # Specifies whether VPC peering is allowed. # Corresponds to the JSON property `allowVpcPeering` # @return [String] attr_accessor :allow_vpc_peering # Specifies whether VPN creation is allowed. # Corresponds to the JSON property `allowVpn` # @return [String] attr_accessor :allow_vpn # # Corresponds to the JSON property `firewallPolicyTypes` # @return [Array] attr_accessor :firewall_policy_types # If set, limits the interface types that the network supports. If # empty, all interface types are supported. # Corresponds to the JSON property `interfaceTypes` # @return [Array] attr_accessor :interface_types # Specifies which type of multicast is supported. # Corresponds to the JSON property `multicast` # @return [String] attr_accessor :multicast # Specifies a predefined internal IPv6 range for the network. # Corresponds to the JSON property `predefinedNetworkInternalIpv6Range` # @return [String] attr_accessor :predefined_network_internal_ipv6_range # Predefined subnetwork ranges for the network. # Corresponds to the JSON property `predefinedSubnetworkRanges` # @return [Array] attr_accessor :predefined_subnetwork_ranges # Specifies which subnetwork purposes are supported. # Corresponds to the JSON property `subnetPurposes` # @return [Array] attr_accessor :subnet_purposes # Specifies which subnetwork stack types are supported. # Corresponds to the JSON property `subnetStackTypes` # @return [Array] attr_accessor :subnet_stack_types # Output only. Specifies which subnetwork purposes are supported. # Corresponds to the JSON property `subnetworkPurposes` # @return [Array] attr_accessor :subnetwork_purposes # Output only. Specifies which subnetwork stack types are supported. # Corresponds to the JSON property `subnetworkStackTypes` # @return [Array] attr_accessor :subnetwork_stack_types # Specifies which type of unicast is supported. # Corresponds to the JSON property `unicast` # @return [String] attr_accessor :unicast def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @address_purposes = args[:address_purposes] if args.key?(:address_purposes) @allow_address_creation = args[:allow_address_creation] if args.key?(:allow_address_creation) @allow_alias_ip_ranges = args[:allow_alias_ip_ranges] if args.key?(:allow_alias_ip_ranges) @allow_auto_mode_subnet = args[:allow_auto_mode_subnet] if args.key?(:allow_auto_mode_subnet) @allow_class_d_firewalls = args[:allow_class_d_firewalls] if args.key?(:allow_class_d_firewalls) @allow_cloud_nat = args[:allow_cloud_nat] if args.key?(:allow_cloud_nat) @allow_cloud_router = args[:allow_cloud_router] if args.key?(:allow_cloud_router) @allow_default_nic_attachment = args[:allow_default_nic_attachment] if args.key?(:allow_default_nic_attachment) @allow_external_ip_access = args[:allow_external_ip_access] if args.key?(:allow_external_ip_access) @allow_firewall_policy = args[:allow_firewall_policy] if args.key?(:allow_firewall_policy) @allow_interconnect = args[:allow_interconnect] if args.key?(:allow_interconnect) @allow_ip_forwarding = args[:allow_ip_forwarding] if args.key?(:allow_ip_forwarding) @allow_load_balancing = args[:allow_load_balancing] if args.key?(:allow_load_balancing) @allow_multi_nic_in_same_network = args[:allow_multi_nic_in_same_network] if args.key?(:allow_multi_nic_in_same_network) @allow_multi_nic_in_same_subnetwork = args[:allow_multi_nic_in_same_subnetwork] if args.key?(:allow_multi_nic_in_same_subnetwork) @allow_multicast = args[:allow_multicast] if args.key?(:allow_multicast) @allow_ncc = args[:allow_ncc] if args.key?(:allow_ncc) @allow_network_migration = args[:allow_network_migration] if args.key?(:allow_network_migration) @allow_packet_mirroring = args[:allow_packet_mirroring] if args.key?(:allow_packet_mirroring) @allow_private_google_access = args[:allow_private_google_access] if args.key?(:allow_private_google_access) @allow_psc = args[:allow_psc] if args.key?(:allow_psc) @allow_same_network_unicast = args[:allow_same_network_unicast] if args.key?(:allow_same_network_unicast) @allow_static_routes = args[:allow_static_routes] if args.key?(:allow_static_routes) @allow_sub_interfaces = args[:allow_sub_interfaces] if args.key?(:allow_sub_interfaces) @allow_subnetwork_creation = args[:allow_subnetwork_creation] if args.key?(:allow_subnetwork_creation) @allow_vpc_firewall_rules = args[:allow_vpc_firewall_rules] if args.key?(:allow_vpc_firewall_rules) @allow_vpc_peering = args[:allow_vpc_peering] if args.key?(:allow_vpc_peering) @allow_vpn = args[:allow_vpn] if args.key?(:allow_vpn) @firewall_policy_types = args[:firewall_policy_types] if args.key?(:firewall_policy_types) @interface_types = args[:interface_types] if args.key?(:interface_types) @multicast = args[:multicast] if args.key?(:multicast) @predefined_network_internal_ipv6_range = args[:predefined_network_internal_ipv6_range] if args.key?(:predefined_network_internal_ipv6_range) @predefined_subnetwork_ranges = args[:predefined_subnetwork_ranges] if args.key?(:predefined_subnetwork_ranges) @subnet_purposes = args[:subnet_purposes] if args.key?(:subnet_purposes) @subnet_stack_types = args[:subnet_stack_types] if args.key?(:subnet_stack_types) @subnetwork_purposes = args[:subnetwork_purposes] if args.key?(:subnetwork_purposes) @subnetwork_stack_types = args[:subnetwork_stack_types] if args.key?(:subnetwork_stack_types) @unicast = args[:unicast] if args.key?(:unicast) end end # class NetworkProfileNetworkFeaturesPredefinedSubnetworkRange include Google::Apis::Core::Hashable # The IPv6 range of the predefined subnetwork. # Corresponds to the JSON property `ipv6Range` # @return [String] attr_accessor :ipv6_range # The naming prefix of the predefined subnetwork. # Corresponds to the JSON property `namePrefix` # @return [String] attr_accessor :name_prefix def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ipv6_range = args[:ipv6_range] if args.key?(:ipv6_range) @name_prefix = args[:name_prefix] if args.key?(:name_prefix) end end # class NetworkProfileProfileType include Google::Apis::Core::Hashable # # Corresponds to the JSON property `networkType` # @return [String] attr_accessor :network_type # # Corresponds to the JSON property `rdmaSubtype` # @return [String] attr_accessor :rdma_subtype # # Corresponds to the JSON property `ullSubtype` # @return [String] attr_accessor :ull_subtype # # Corresponds to the JSON property `vpcSubtype` # @return [String] attr_accessor :vpc_subtype def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @network_type = args[:network_type] if args.key?(:network_type) @rdma_subtype = args[:rdma_subtype] if args.key?(:rdma_subtype) @ull_subtype = args[:ull_subtype] if args.key?(:ull_subtype) @vpc_subtype = args[:vpc_subtype] if args.key?(:vpc_subtype) end end # Contains a list of network profiles. class NetworkProfilesListResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of NetworkProfile resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute#networkProfileList # for network profiles. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # end_interface: MixerListResponseWithEtagBuilder # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NetworkProfilesListResponse::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # A routing configuration attached to a network resource. The message # includes the list of routers associated with the network, and a flag # indicating the type of routing behavior to enforce network-wide. class NetworkRoutingConfig include Google::Apis::Core::Hashable # Enable comparison of Multi-Exit Discriminators (MED) across routes with # different neighbor ASNs when using the STANDARD BGP best path selection # algorithm. # Corresponds to the JSON property `bgpAlwaysCompareMed` # @return [Boolean] attr_accessor :bgp_always_compare_med alias_method :bgp_always_compare_med?, :bgp_always_compare_med # The BGP best path selection algorithm to be employed within this network # for dynamic routes learned by Cloud Routers. Can be LEGACY # (default) or STANDARD. # Corresponds to the JSON property `bgpBestPathSelectionMode` # @return [String] attr_accessor :bgp_best_path_selection_mode # Allows to define a preferred approach for handling inter-region cost in # the selection process when using the STANDARD BGP best path # selection algorithm. Can be DEFAULT orADD_COST_TO_MED. # Corresponds to the JSON property `bgpInterRegionCost` # @return [String] attr_accessor :bgp_inter_region_cost # Output only. [Output Only] Effective value of the bgp_always_compare_med # field. # Corresponds to the JSON property `effectiveBgpAlwaysCompareMed` # @return [Boolean] attr_accessor :effective_bgp_always_compare_med alias_method :effective_bgp_always_compare_med?, :effective_bgp_always_compare_med # Output only. [Output Only] Effective value of the bgp_inter_region_cost # field. # Corresponds to the JSON property `effectiveBgpInterRegionCost` # @return [String] attr_accessor :effective_bgp_inter_region_cost # The network-wide routing mode to use. If set to REGIONAL, # this network's Cloud Routers will only advertise routes with subnets # of this network in the same region as the router. If set toGLOBAL, this # network's Cloud Routers will advertise # routes with all subnets of this network, across regions. # Corresponds to the JSON property `routingMode` # @return [String] attr_accessor :routing_mode def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bgp_always_compare_med = args[:bgp_always_compare_med] if args.key?(:bgp_always_compare_med) @bgp_best_path_selection_mode = args[:bgp_best_path_selection_mode] if args.key?(:bgp_best_path_selection_mode) @bgp_inter_region_cost = args[:bgp_inter_region_cost] if args.key?(:bgp_inter_region_cost) @effective_bgp_always_compare_med = args[:effective_bgp_always_compare_med] if args.key?(:effective_bgp_always_compare_med) @effective_bgp_inter_region_cost = args[:effective_bgp_inter_region_cost] if args.key?(:effective_bgp_inter_region_cost) @routing_mode = args[:routing_mode] if args.key?(:routing_mode) end end # class NetworksAddPeeringRequest include Google::Apis::Core::Hashable # This field will be deprecated soon. Useexchange_subnet_routes in # network_peering # instead. # Indicates whether full mesh connectivity is created and managed # automatically between peered networks. Currently this field should always # be true since Google Compute Engine will automatically create and manage # subnetwork routes between two networks when peering state isACTIVE. # Corresponds to the JSON property `autoCreateRoutes` # @return [Boolean] attr_accessor :auto_create_routes alias_method :auto_create_routes?, :auto_create_routes # Name of the peering, which should conform to RFC1035. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # A network peering attached to a network resource. The message includes the # peering name, peer network, peering state, and a flag indicating whether # Google Compute Engine should automatically create routes for the peering. # Corresponds to the JSON property `networkPeering` # @return [Google::Apis::ComputeV1::NetworkPeering] attr_accessor :network_peering # URL of the peer network. It can be either full URL or partial URL. The # peer network may belong to a different project. If the partial URL does not # contain project, it is assumed that the peer network is in the same project # as the current network. # Corresponds to the JSON property `peerNetwork` # @return [String] attr_accessor :peer_network def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes) @name = args[:name] if args.key?(:name) @network_peering = args[:network_peering] if args.key?(:network_peering) @peer_network = args[:peer_network] if args.key?(:peer_network) end end # class NetworksGetEffectiveFirewallsResponse include Google::Apis::Core::Hashable # [Output Only] Effective firewalls from firewall policy. It returns Global # Network Firewall Policies and Hierarchical Firewall Policies. # UseregionNetworkFirewallPolicies.getEffectiveFirewalls to get # Regional Network Firewall Policies as well. # Corresponds to the JSON property `firewallPolicys` # @return [Array] attr_accessor :firewall_policys # Effective firewalls on the network. # Corresponds to the JSON property `firewalls` # @return [Array] attr_accessor :firewalls def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @firewall_policys = args[:firewall_policys] if args.key?(:firewall_policys) @firewalls = args[:firewalls] if args.key?(:firewalls) end end # class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy include Google::Apis::Core::Hashable # Output only. [Output Only] Deprecated, please use short name instead. The # display name # of the firewall policy. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Output only. [Output Only] The name of the firewall policy. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] The packet mirroring rules that apply to the # network. # Corresponds to the JSON property `packetMirroringRules` # @return [Array] attr_accessor :packet_mirroring_rules # Output only. [Output only] Priority of firewall policy association. Not # applicable for # type=HIERARCHY. # Corresponds to the JSON property `priority` # @return [Fixnum] attr_accessor :priority # [Output Only] The rules that apply to the network. # Corresponds to the JSON property `rules` # @return [Array] attr_accessor :rules # Output only. [Output Only] The short name of the firewall policy. # Corresponds to the JSON property `shortName` # @return [String] attr_accessor :short_name # Output only. [Output Only] The type of the firewall policy. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_name = args[:display_name] if args.key?(:display_name) @name = args[:name] if args.key?(:name) @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules) @priority = args[:priority] if args.key?(:priority) @rules = args[:rules] if args.key?(:rules) @short_name = args[:short_name] if args.key?(:short_name) @type = args[:type] if args.key?(:type) end end # class NetworksRemovePeeringRequest include Google::Apis::Core::Hashable # Name of the peering, which should conform to RFC1035. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) end end # class NetworksRequestRemovePeeringRequest include Google::Apis::Core::Hashable # Name of the peering, which should conform to RFC1035. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) end end # class NetworksUpdatePeeringRequest include Google::Apis::Core::Hashable # A network peering attached to a network resource. The message includes the # peering name, peer network, peering state, and a flag indicating whether # Google Compute Engine should automatically create routes for the peering. # Corresponds to the JSON property `networkPeering` # @return [Google::Apis::ComputeV1::NetworkPeering] attr_accessor :network_peering def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @network_peering = args[:network_peering] if args.key?(:network_peering) end end # Represents a sole-tenant Node Group resource. # A sole-tenant node is a physical server that is dedicated to # hosting VM instances only for your specific project. Use sole-tenant nodes to # keep your instances physically separated from instances in other projects, or # to group your instances together on the same host hardware. For more # information, readSole-tenant nodes. class NodeGroup include Google::Apis::Core::Hashable # Specifies how autoscaling should behave. # Corresponds to the JSON property `autoscalingPolicy` # @return [Google::Apis::ComputeV1::NodeGroupAutoscalingPolicy] attr_accessor :autoscaling_policy # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] The type of the resource. Alwayscompute#nodeGroup # for node group. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # An opaque location hint used to place the Node close to other # resources. # This field is for use by internal tools that use the public API. # The location hint here on the NodeGroup overrides any location_hint # present in the NodeTemplate. # Corresponds to the JSON property `locationHint` # @return [String] attr_accessor :location_hint # Specifies the frequency of planned maintenance events. The accepted values # are: `AS_NEEDED` and `RECURRENT`. # Corresponds to the JSON property `maintenanceInterval` # @return [String] attr_accessor :maintenance_interval # Specifies how to handle instances when a node in the group undergoes # maintenance. Set to one of: DEFAULT,RESTART_IN_PLACE, or # MIGRATE_WITHIN_NODE_GROUP. # The default value is DEFAULT. For more information, see # Maintenance policies. # Corresponds to the JSON property `maintenancePolicy` # @return [String] attr_accessor :maintenance_policy # Time window specified for daily maintenance operations. GCE's internal # maintenance will be performed within this window. # Corresponds to the JSON property `maintenanceWindow` # @return [Google::Apis::ComputeV1::NodeGroupMaintenanceWindow] attr_accessor :maintenance_window # 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 # withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # URL of the node template to create the node group from. # Corresponds to the JSON property `nodeTemplate` # @return [String] attr_accessor :node_template # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # The share setting for reservations and sole tenancy node groups. # Corresponds to the JSON property `shareSettings` # @return [Google::Apis::ComputeV1::ShareSettings] attr_accessor :share_settings # Output only. [Output Only] The total number of nodes in the node group. # Corresponds to the JSON property `size` # @return [Fixnum] attr_accessor :size # # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Output only. [Output Only] The name of the zone where the node group resides, # such as us-central1-a. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @autoscaling_policy = args[:autoscaling_policy] if args.key?(:autoscaling_policy) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @location_hint = args[:location_hint] if args.key?(:location_hint) @maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval) @maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy) @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window) @name = args[:name] if args.key?(:name) @node_template = args[:node_template] if args.key?(:node_template) @self_link = args[:self_link] if args.key?(:self_link) @share_settings = args[:share_settings] if args.key?(:share_settings) @size = args[:size] if args.key?(:size) @status = args[:status] if args.key?(:status) @zone = args[:zone] if args.key?(:zone) end end # class NodeGroupAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of NodeGroupsScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource.Alwayscompute# # nodeGroupAggregatedList for aggregated lists of node # groups. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NodeGroupAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class NodeGroupAutoscalingPolicy include Google::Apis::Core::Hashable # The maximum number of nodes that the group should have. Must be set if # autoscaling is enabled. Maximum value allowed is 100. # Corresponds to the JSON property `maxNodes` # @return [Fixnum] attr_accessor :max_nodes # The minimum number of nodes that the group should have. # Corresponds to the JSON property `minNodes` # @return [Fixnum] attr_accessor :min_nodes # The autoscaling mode. Set to one of: ON, OFF, # or ONLY_SCALE_OUT. For more information, see # Autoscaler modes. # Corresponds to the JSON property `mode` # @return [String] attr_accessor :mode def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @max_nodes = args[:max_nodes] if args.key?(:max_nodes) @min_nodes = args[:min_nodes] if args.key?(:min_nodes) @mode = args[:mode] if args.key?(:mode) end end # Contains a list of nodeGroups. class NodeGroupList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of NodeGroup resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource.Always compute#nodeGroupList # for lists of node groups. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NodeGroupList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Time window specified for daily maintenance operations. GCE's internal # maintenance will be performed within this window. class NodeGroupMaintenanceWindow include Google::Apis::Core::Hashable # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `maintenanceDuration` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :maintenance_duration # Start time of the window. This must be in UTC format that resolves to one # of 00:00, 04:00, 08:00,12:00, 16:00, or 20:00. For # example, both 13:00-5 and 08:00 are valid. # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @maintenance_duration = args[:maintenance_duration] if args.key?(:maintenance_duration) @start_time = args[:start_time] if args.key?(:start_time) end end # class NodeGroupNode include Google::Apis::Core::Hashable # Accelerators for this node. # Corresponds to the JSON property `accelerators` # @return [Array] attr_accessor :accelerators # Output only. Node resources that are reserved by all instances. # Corresponds to the JSON property `consumedResources` # @return [Google::Apis::ComputeV1::InstanceConsumptionInfo] attr_accessor :consumed_resources # CPU overcommit. # Corresponds to the JSON property `cpuOvercommitType` # @return [String] attr_accessor :cpu_overcommit_type # Local disk configurations. # Corresponds to the JSON property `disks` # @return [Array] attr_accessor :disks # Output only. Instance data that shows consumed resources on the node. # Corresponds to the JSON property `instanceConsumptionData` # @return [Array] attr_accessor :instance_consumption_data # Instances scheduled on this node. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances # The name of the node. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The type of this node. # Corresponds to the JSON property `nodeType` # @return [String] attr_accessor :node_type # Output only. [Output Only] Reserved for future use. # Corresponds to the JSON property `satisfiesPzs` # @return [Boolean] attr_accessor :satisfies_pzs alias_method :satisfies_pzs?, :satisfies_pzs # Binding properties for the physical server. # Corresponds to the JSON property `serverBinding` # @return [Google::Apis::ComputeV1::ServerBinding] attr_accessor :server_binding # Server ID associated with this node. # Corresponds to the JSON property `serverId` # @return [String] attr_accessor :server_id # # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Output only. Total amount of available resources on the node. # Corresponds to the JSON property `totalResources` # @return [Google::Apis::ComputeV1::InstanceConsumptionInfo] attr_accessor :total_resources # Upcoming Maintenance notification information. # Corresponds to the JSON property `upcomingMaintenance` # @return [Google::Apis::ComputeV1::UpcomingMaintenance] attr_accessor :upcoming_maintenance def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @accelerators = args[:accelerators] if args.key?(:accelerators) @consumed_resources = args[:consumed_resources] if args.key?(:consumed_resources) @cpu_overcommit_type = args[:cpu_overcommit_type] if args.key?(:cpu_overcommit_type) @disks = args[:disks] if args.key?(:disks) @instance_consumption_data = args[:instance_consumption_data] if args.key?(:instance_consumption_data) @instances = args[:instances] if args.key?(:instances) @name = args[:name] if args.key?(:name) @node_type = args[:node_type] if args.key?(:node_type) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @server_binding = args[:server_binding] if args.key?(:server_binding) @server_id = args[:server_id] if args.key?(:server_id) @status = args[:status] if args.key?(:status) @total_resources = args[:total_resources] if args.key?(:total_resources) @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance) end end # class NodeGroupsAddNodesRequest include Google::Apis::Core::Hashable # Count of additional nodes to be added to the node group. # Corresponds to the JSON property `additionalNodeCount` # @return [Fixnum] attr_accessor :additional_node_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @additional_node_count = args[:additional_node_count] if args.key?(:additional_node_count) end end # class NodeGroupsDeleteNodesRequest include Google::Apis::Core::Hashable # Names of the nodes to delete. # Corresponds to the JSON property `nodes` # @return [Array] attr_accessor :nodes def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @nodes = args[:nodes] if args.key?(:nodes) end end # class NodeGroupsListNodes include Google::Apis::Core::Hashable # Output only. [Output Only] Unique identifier for the resource; defined by the # server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Node resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] The resource type, which is alwayscompute. # nodeGroupsListNodes for the list of nodes in the # specified node group. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NodeGroupsListNodes::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # Output only. [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class NodeGroupsPerformMaintenanceRequest include Google::Apis::Core::Hashable # [Required] List of nodes affected by the call. # Corresponds to the JSON property `nodes` # @return [Array] attr_accessor :nodes # The start time of the schedule. The timestamp is an RFC3339 string. # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @nodes = args[:nodes] if args.key?(:nodes) @start_time = args[:start_time] if args.key?(:start_time) end end # class NodeGroupsScopedList include Google::Apis::Core::Hashable # [Output Only] A list of node groups contained in this scope. # Corresponds to the JSON property `nodeGroups` # @return [Array] attr_accessor :node_groups # [Output Only] An informational warning that appears when the nodeGroup # list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NodeGroupsScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @node_groups = args[:node_groups] if args.key?(:node_groups) @warning = args[:warning] if args.key?(:warning) end # [Output Only] An informational warning that appears when the nodeGroup # list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class NodeGroupsSetNodeTemplateRequest include Google::Apis::Core::Hashable # Full or partial URL of the node template resource to be updated for this # node group. # Corresponds to the JSON property `nodeTemplate` # @return [String] attr_accessor :node_template def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @node_template = args[:node_template] if args.key?(:node_template) end end # class NodeGroupsSimulateMaintenanceEventRequest include Google::Apis::Core::Hashable # Names of the nodes to go under maintenance simulation. # Corresponds to the JSON property `nodes` # @return [Array] attr_accessor :nodes def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @nodes = args[:nodes] if args.key?(:nodes) end end # Represent a sole-tenant Node Template resource. # You can use a template to define properties for nodes in a node group. For # more information, readCreating node groups # and instances. class NodeTemplate include Google::Apis::Core::Hashable # # Corresponds to the JSON property `accelerators` # @return [Array] attr_accessor :accelerators # CPU overcommit. # Corresponds to the JSON property `cpuOvercommitType` # @return [String] attr_accessor :cpu_overcommit_type # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # # Corresponds to the JSON property `disks` # @return [Array] attr_accessor :disks # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] The type of the resource. Alwayscompute# # nodeTemplate for node templates. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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 # withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Labels to use for node affinity, which will be used in instance scheduling. # Corresponds to the JSON property `nodeAffinityLabels` # @return [Hash] attr_accessor :node_affinity_labels # The node type to use for nodes group that are created from this template. # Corresponds to the JSON property `nodeType` # @return [String] attr_accessor :node_type # Do not use. Instead, use the node_type property. # Corresponds to the JSON property `nodeTypeFlexibility` # @return [Google::Apis::ComputeV1::NodeTemplateNodeTypeFlexibility] attr_accessor :node_type_flexibility # Output only. [Output Only] The name of the region where the node template # resides, # such as us-central1. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # 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. # Corresponds to the JSON property `serverBinding` # @return [Google::Apis::ComputeV1::ServerBinding] attr_accessor :server_binding # Output only. [Output Only] The status of the node template. One of the # following values:CREATING, READY, and DELETING. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Output only. [Output Only] An optional, human-readable explanation of the # status. # Corresponds to the JSON property `statusMessage` # @return [String] attr_accessor :status_message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @accelerators = args[:accelerators] if args.key?(:accelerators) @cpu_overcommit_type = args[:cpu_overcommit_type] if args.key?(:cpu_overcommit_type) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @disks = args[:disks] if args.key?(:disks) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @node_affinity_labels = args[:node_affinity_labels] if args.key?(:node_affinity_labels) @node_type = args[:node_type] if args.key?(:node_type) @node_type_flexibility = args[:node_type_flexibility] if args.key?(:node_type_flexibility) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @server_binding = args[:server_binding] if args.key?(:server_binding) @status = args[:status] if args.key?(:status) @status_message = args[:status_message] if args.key?(:status_message) end end # class NodeTemplateAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of NodeTemplatesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource.Alwayscompute# # nodeTemplateAggregatedList for aggregated lists of # node templates. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NodeTemplateAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of node templates. class NodeTemplateList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of NodeTemplate resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource.Always compute#nodeTemplateList # for lists of node templates. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NodeTemplateList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class NodeTemplateNodeTypeFlexibility include Google::Apis::Core::Hashable # # Corresponds to the JSON property `cpus` # @return [String] attr_accessor :cpus # # Corresponds to the JSON property `localSsd` # @return [String] attr_accessor :local_ssd # # Corresponds to the JSON property `memory` # @return [String] attr_accessor :memory def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cpus = args[:cpus] if args.key?(:cpus) @local_ssd = args[:local_ssd] if args.key?(:local_ssd) @memory = args[:memory] if args.key?(:memory) end end # class NodeTemplatesScopedList include Google::Apis::Core::Hashable # [Output Only] A list of node templates contained in this scope. # Corresponds to the JSON property `nodeTemplates` # @return [Array] attr_accessor :node_templates # [Output Only] An informational warning that appears when the node templates # list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NodeTemplatesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @node_templates = args[:node_templates] if args.key?(:node_templates) @warning = args[:warning] if args.key?(:warning) end # [Output Only] An informational warning that appears when the node templates # list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represent a sole-tenant Node Type resource. # Each node within a node group must have a node type. A node type specifies # the total amount of cores and memory for that node. Currently, the only # available node type is n1-node-96-624 node type that has 96 # vCPUs and 624 GB of memory, available in multiple zones. For more information # readNode types. class NodeType include Google::Apis::Core::Hashable # [Output Only] The CPU platform used by this node type. # Corresponds to the JSON property `cpuPlatform` # @return [String] attr_accessor :cpu_platform # [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Deprecation status for a public resource. # Corresponds to the JSON property `deprecated` # @return [Google::Apis::ComputeV1::DeprecationStatus] attr_accessor :deprecated # [Output Only] An optional textual description of the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Output Only] The number of virtual CPUs that are available to the node # type. # Corresponds to the JSON property `guestCpus` # @return [Fixnum] attr_accessor :guest_cpus # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] The type of the resource. Alwayscompute#nodeType # for node types. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] Local SSD available to the node type, defined in GB. # Corresponds to the JSON property `localSsdGb` # @return [Fixnum] attr_accessor :local_ssd_gb # Output only. [Output Only] Maximum number of VMs that can be created for this # node type. # Corresponds to the JSON property `maxVms` # @return [Fixnum] attr_accessor :max_vms # [Output Only] The amount of physical memory available to the node type, # defined in MB. # Corresponds to the JSON property `memoryMb` # @return [Fixnum] attr_accessor :memory_mb # [Output Only] Name of the resource. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] The name of the zone where the node type resides, # such as us-central1-a. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cpu_platform = args[:cpu_platform] if args.key?(:cpu_platform) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @deprecated = args[:deprecated] if args.key?(:deprecated) @description = args[:description] if args.key?(:description) @guest_cpus = args[:guest_cpus] if args.key?(:guest_cpus) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @local_ssd_gb = args[:local_ssd_gb] if args.key?(:local_ssd_gb) @max_vms = args[:max_vms] if args.key?(:max_vms) @memory_mb = args[:memory_mb] if args.key?(:memory_mb) @name = args[:name] if args.key?(:name) @self_link = args[:self_link] if args.key?(:self_link) @zone = args[:zone] if args.key?(:zone) end end # class NodeTypeAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of NodeTypesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource.Alwayscompute# # nodeTypeAggregatedList for aggregated lists of node # types. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NodeTypeAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of node types. class NodeTypeList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of NodeType resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource.Always compute#nodeTypeList for # lists of node types. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NodeTypeList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class NodeTypesScopedList include Google::Apis::Core::Hashable # [Output Only] A list of node types contained in this scope. # Corresponds to the JSON property `nodeTypes` # @return [Array] attr_accessor :node_types # [Output Only] An informational warning that appears when the node types # list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NodeTypesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @node_types = args[:node_types] if args.key?(:node_types) @warning = args[:warning] if args.key?(:warning) end # [Output Only] An informational warning that appears when the node types # list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents a notification endpoint. # A notification endpoint resource defines an endpoint to receive notifications # when there are status changes detected by the associated health check # service. # For more information, see # Health checks overview. class NotificationEndpoint include Google::Apis::Core::Hashable # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Represents a gRPC setting that describes one gRPC notification endpoint and # the retry duration attempting to send notification to this endpoint. # Corresponds to the JSON property `grpcSettings` # @return [Google::Apis::ComputeV1::NotificationEndpointGrpcSettings] attr_accessor :grpc_settings # Output only. [Output Only] A unique identifier for this resource type. The # server # generates this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute# # notificationEndpoint for notification endpoints. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] URL of the region where the notification endpoint # resides. # This field applies only to the regional resource. You must specify this # field as part of the HTTP request URL. It is not settable as a field in # the request body. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @grpc_settings = args[:grpc_settings] if args.key?(:grpc_settings) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) end end # Represents a gRPC setting that describes one gRPC notification endpoint and # the retry duration attempting to send notification to this endpoint. class NotificationEndpointGrpcSettings include Google::Apis::Core::Hashable # 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 # Corresponds to the JSON property `authority` # @return [String] attr_accessor :authority # Endpoint to which gRPC notifications are sent. This must be a valid # gRPCLB DNS name. # Corresponds to the JSON property `endpoint` # @return [String] attr_accessor :endpoint # Optional. If specified, this field is used to populate the "name" field # in gRPC requests. # Corresponds to the JSON property `payloadName` # @return [String] attr_accessor :payload_name # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `resendInterval` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :resend_interval # 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. # Corresponds to the JSON property `retryDurationSec` # @return [Fixnum] attr_accessor :retry_duration_sec def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @authority = args[:authority] if args.key?(:authority) @endpoint = args[:endpoint] if args.key?(:endpoint) @payload_name = args[:payload_name] if args.key?(:payload_name) @resend_interval = args[:resend_interval] if args.key?(:resend_interval) @retry_duration_sec = args[:retry_duration_sec] if args.key?(:retry_duration_sec) end end # class NotificationEndpointList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of NotificationEndpoint resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of the resource. Alwayscompute# # notificationEndpoint for notification endpoints. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::NotificationEndpointList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # 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, readHandling # 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. class Operation include Google::Apis::Core::Hashable # [Output Only] The value of `requestId` if you provided it in the request. # Not present otherwise. # Corresponds to the JSON property `clientOperationId` # @return [String] attr_accessor :client_operation_id # [Deprecated] This field is deprecated. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # [Output Only] A textual description of the operation, which is # set when the operation is created. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Output Only] The time that this operation was completed. This value is # inRFC3339 # text format. # Corresponds to the JSON property `endTime` # @return [String] attr_accessor :end_time # [Output Only] If errors are generated during processing of the operation, # this field will be populated. # Corresponds to the JSON property `error` # @return [Google::Apis::ComputeV1::Operation::Error] attr_accessor :error # [Output Only] If the operation fails, this field contains the HTTP error # message that was returned, such as `NOT FOUND`. # Corresponds to the JSON property `httpErrorMessage` # @return [String] attr_accessor :http_error_message # [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. # Corresponds to the JSON property `httpErrorStatusCode` # @return [Fixnum] attr_accessor :http_error_status_code # [Output Only] The unique identifier for the operation. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # [Output Only] The time that this operation was requested. # This value is inRFC3339 # text format. # Corresponds to the JSON property `insertTime` # @return [String] attr_accessor :insert_time # # Corresponds to the JSON property `instancesBulkInsertOperationMetadata` # @return [Google::Apis::ComputeV1::InstancesBulkInsertOperationMetadata] attr_accessor :instances_bulk_insert_operation_metadata # Output only. [Output Only] Type of the resource. Always `compute#operation` # for # Operation resources. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] Name of the operation. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] An ID that represents a group of operations, such # as when a # group of operations results from a `bulkInsert` API request. # Corresponds to the JSON property `operationGroupId` # @return [String] attr_accessor :operation_group_id # [Output Only] The type of operation, such as `insert`, # `update`, or `delete`, and so on. # Corresponds to the JSON property `operationType` # @return [String] attr_accessor :operation_type # [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. # Corresponds to the JSON property `progress` # @return [Fixnum] attr_accessor :progress # [Output Only] The URL of the region where the operation resides. Only # applicable when performing regional operations. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] If the operation is for projects. # setCommonInstanceMetadata, # this field will contain information on all underlying zonal actions and # their state. # Corresponds to the JSON property `setCommonInstanceMetadataOperationMetadata` # @return [Google::Apis::ComputeV1::SetCommonInstanceMetadataOperationMetadata] attr_accessor :set_common_instance_metadata_operation_metadata # [Output Only] The time that this operation was started by the server. # This value is inRFC3339 # text format. # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time # [Output Only] The status of the operation, which can be one of the # following: # `PENDING`, `RUNNING`, or `DONE`. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # [Output Only] An optional textual description of the current status of the # operation. # Corresponds to the JSON property `statusMessage` # @return [String] attr_accessor :status_message # [Output Only] The unique target ID, which identifies a specific incarnation # of the target resource. # Corresponds to the JSON property `targetId` # @return [Fixnum] attr_accessor :target_id # [Output Only] The URL of the resource that the operation modifies. For # operations related to creating a snapshot, this points to the disk # that the snapshot was created from. # Corresponds to the JSON property `targetLink` # @return [String] attr_accessor :target_link # [Output Only] User who requested the operation, for example: # `user@example.com` or # `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. # Corresponds to the JSON property `user` # @return [String] attr_accessor :user # [Output Only] If warning messages are generated during processing of the # operation, this field will be populated. # Corresponds to the JSON property `warnings` # @return [Array] attr_accessor :warnings # [Output Only] The URL of the zone where the operation resides. Only # applicable when performing per-zone operations. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @client_operation_id = args[:client_operation_id] if args.key?(:client_operation_id) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @end_time = args[:end_time] if args.key?(:end_time) @error = args[:error] if args.key?(:error) @http_error_message = args[:http_error_message] if args.key?(:http_error_message) @http_error_status_code = args[:http_error_status_code] if args.key?(:http_error_status_code) @id = args[:id] if args.key?(:id) @insert_time = args[:insert_time] if args.key?(:insert_time) @instances_bulk_insert_operation_metadata = args[:instances_bulk_insert_operation_metadata] if args.key?(:instances_bulk_insert_operation_metadata) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @operation_group_id = args[:operation_group_id] if args.key?(:operation_group_id) @operation_type = args[:operation_type] if args.key?(:operation_type) @progress = args[:progress] if args.key?(:progress) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @set_common_instance_metadata_operation_metadata = args[:set_common_instance_metadata_operation_metadata] if args.key?(:set_common_instance_metadata_operation_metadata) @start_time = args[:start_time] if args.key?(:start_time) @status = args[:status] if args.key?(:status) @status_message = args[:status_message] if args.key?(:status_message) @target_id = args[:target_id] if args.key?(:target_id) @target_link = args[:target_link] if args.key?(:target_link) @user = args[:user] if args.key?(:user) @warnings = args[:warnings] if args.key?(:warnings) @zone = args[:zone] if args.key?(:zone) end # [Output Only] If errors are generated during processing of the operation, # this field will be populated. class Error include Google::Apis::Core::Hashable # [Output Only] The array of errors encountered while processing this # operation. # Corresponds to the JSON property `errors` # @return [Array] attr_accessor :errors def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @errors = args[:errors] if args.key?(:errors) end # class Error include Google::Apis::Core::Hashable # [Output Only] The error type identifier for this error. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] An optional list of messages that contain the error # details. There is a set of defined message types to use for providing # details.The syntax depends on the error code. For example, # QuotaExceededInfo will have details when the error code is # QUOTA_EXCEEDED. # Corresponds to the JSON property `errorDetails` # @return [Array] attr_accessor :error_details # [Output Only] Indicates the field in the request that caused the error. # This property is optional. # Corresponds to the JSON property `location` # @return [String] attr_accessor :location # [Output Only] An optional, human-readable error message. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @error_details = args[:error_details] if args.key?(:error_details) @location = args[:location] if args.key?(:location) @message = args[:message] if args.key?(:message) end # class ErrorDetail include Google::Apis::Core::Hashable # Describes the cause of the error with structured details. # Example of an error when contacting the "pubsub.googleapis.com" API when it # is not enabled: # ` "reason": "API_DISABLED" # "domain": "googleapis.com" # "metadata": ` # "resource": "projects/123", # "service": "pubsub.googleapis.com" # ` # ` # This response indicates that the pubsub.googleapis.com API is not enabled. # Example of an error that is returned when attempting to create a Spanner # instance in a region that is out of stock: # ` "reason": "STOCKOUT" # "domain": "spanner.googleapis.com", # "metadata": ` # "availableRegions": "us-central1,us-east2" # ` # ` # Corresponds to the JSON property `errorInfo` # @return [Google::Apis::ComputeV1::ErrorInfo] attr_accessor :error_info # Provides links to documentation or for performing an out of band action. # For example, if a quota check failed with an error indicating the calling # project hasn't enabled the accessed service, this can contain a URL pointing # directly to the right place in the developer console to flip the bit. # Corresponds to the JSON property `help` # @return [Google::Apis::ComputeV1::Help] attr_accessor :help # Provides a localized error message that is safe to return to the user # which can be attached to an RPC error. # Corresponds to the JSON property `localizedMessage` # @return [Google::Apis::ComputeV1::LocalizedMessage] attr_accessor :localized_message # Additional details for quota exceeded error for resource quota. # Corresponds to the JSON property `quotaInfo` # @return [Google::Apis::ComputeV1::QuotaExceededInfo] attr_accessor :quota_info def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @error_info = args[:error_info] if args.key?(:error_info) @help = args[:help] if args.key?(:help) @localized_message = args[:localized_message] if args.key?(:localized_message) @quota_info = args[:quota_info] if args.key?(:quota_info) end end end end # class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class OperationAggregatedList include Google::Apis::Core::Hashable # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # [Output Only] A map of scoped operation lists. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Always `compute# # operationAggregatedList` # for aggregated lists of operations. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::OperationAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of Operation resources. class OperationList include Google::Apis::Core::Hashable # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # [Output Only] A list of Operation resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always `compute#operations` for # Operations # resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::OperationList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class OperationsScopedList include Google::Apis::Core::Hashable # [Output Only] A list of operations contained in this scope. # Corresponds to the JSON property `operations` # @return [Array] attr_accessor :operations # [Output Only] Informational warning which replaces the list of operations # when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::OperationsScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operations = args[:operations] if args.key?(:operations) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning which replaces the list of operations # when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class OrganizationSecurityPoliciesListAssociationsResponse include Google::Apis::Core::Hashable # A list of associations. # Corresponds to the JSON property `associations` # @return [Array] attr_accessor :associations # Output only. [Output Only] Type of securityPolicy associations. Alwayscompute# # organizationSecurityPoliciesListAssociations for lists # of securityPolicy associations. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @associations = args[:associations] if args.key?(:associations) @kind = args[:kind] if args.key?(:kind) end end # Settings controlling the eviction of unhealthy hosts from the load balancing # pool for the backend service. class OutlierDetection include Google::Apis::Core::Hashable # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `baseEjectionTime` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :base_ejection_time # 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. # Corresponds to the JSON property `consecutiveErrors` # @return [Fixnum] attr_accessor :consecutive_errors # 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. # Corresponds to the JSON property `consecutiveGatewayFailure` # @return [Fixnum] attr_accessor :consecutive_gateway_failure # 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. # Corresponds to the JSON property `enforcingConsecutiveErrors` # @return [Fixnum] attr_accessor :enforcing_consecutive_errors # 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. # Corresponds to the JSON property `enforcingConsecutiveGatewayFailure` # @return [Fixnum] attr_accessor :enforcing_consecutive_gateway_failure # 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. # Corresponds to the JSON property `enforcingSuccessRate` # @return [Fixnum] attr_accessor :enforcing_success_rate # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `interval` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :interval # 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%. # Corresponds to the JSON property `maxEjectionPercent` # @return [Fixnum] attr_accessor :max_ejection_percent # 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. # Corresponds to the JSON property `successRateMinimumHosts` # @return [Fixnum] attr_accessor :success_rate_minimum_hosts # 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. # Corresponds to the JSON property `successRateRequestVolume` # @return [Fixnum] attr_accessor :success_rate_request_volume # 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. # Corresponds to the JSON property `successRateStdevFactor` # @return [Fixnum] attr_accessor :success_rate_stdev_factor def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @base_ejection_time = args[:base_ejection_time] if args.key?(:base_ejection_time) @consecutive_errors = args[:consecutive_errors] if args.key?(:consecutive_errors) @consecutive_gateway_failure = args[:consecutive_gateway_failure] if args.key?(:consecutive_gateway_failure) @enforcing_consecutive_errors = args[:enforcing_consecutive_errors] if args.key?(:enforcing_consecutive_errors) @enforcing_consecutive_gateway_failure = args[:enforcing_consecutive_gateway_failure] if args.key?(:enforcing_consecutive_gateway_failure) @enforcing_success_rate = args[:enforcing_success_rate] if args.key?(:enforcing_success_rate) @interval = args[:interval] if args.key?(:interval) @max_ejection_percent = args[:max_ejection_percent] if args.key?(:max_ejection_percent) @success_rate_minimum_hosts = args[:success_rate_minimum_hosts] if args.key?(:success_rate_minimum_hosts) @success_rate_request_volume = args[:success_rate_request_volume] if args.key?(:success_rate_request_volume) @success_rate_stdev_factor = args[:success_rate_stdev_factor] if args.key?(:success_rate_stdev_factor) end end # Next free: 7 class PacketIntervals include Google::Apis::Core::Hashable # Average observed inter-packet interval in milliseconds. # Corresponds to the JSON property `avgMs` # @return [Fixnum] attr_accessor :avg_ms # From how long ago in the past these intervals were observed. # Corresponds to the JSON property `duration` # @return [String] attr_accessor :duration # Maximum observed inter-packet interval in milliseconds. # Corresponds to the JSON property `maxMs` # @return [Fixnum] attr_accessor :max_ms # Minimum observed inter-packet interval in milliseconds. # Corresponds to the JSON property `minMs` # @return [Fixnum] attr_accessor :min_ms # Number of inter-packet intervals from which these statistics were derived. # Corresponds to the JSON property `numIntervals` # @return [Fixnum] attr_accessor :num_intervals # The type of packets for which inter-packet intervals were computed. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @avg_ms = args[:avg_ms] if args.key?(:avg_ms) @duration = args[:duration] if args.key?(:duration) @max_ms = args[:max_ms] if args.key?(:max_ms) @min_ms = args[:min_ms] if args.key?(:min_ms) @num_intervals = args[:num_intervals] if args.key?(:num_intervals) @type = args[:type] if args.key?(:type) end end # Represents a Packet Mirroring resource. # Packet Mirroring clones the traffic of specified instances in your Virtual # Private Cloud (VPC) network and forwards it to a collector destination, # such as an instance group of an internal TCP/UDP load balancer, for analysis # or examination. # For more information about setting up Packet Mirroring, seeUsing Packet # Mirroring. class PacketMirroring include Google::Apis::Core::Hashable # The Forwarding Rule resource of typeloadBalancingScheme=INTERNAL that will be # used as collector # for mirrored traffic. # The specified forwarding rule must have isMirroringCollector # set to true. # Corresponds to the JSON property `collectorIlb` # @return [Google::Apis::ComputeV1::PacketMirroringForwardingRuleInfo] attr_accessor :collector_ilb # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Indicates whether or not this packet mirroring takes effect. # If set to FALSE, this packet mirroring policy will not be enforced on the # network. # The default is TRUE. # Corresponds to the JSON property `enable` # @return [String] attr_accessor :enable # Filter for mirrored traffic. If unspecified, all IPv4 traffic is mirrored. # Corresponds to the JSON property `filter` # @return [Google::Apis::ComputeV1::PacketMirroringFilter] attr_accessor :filter # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute#packetMirroring # for packet mirrorings. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # PacketMirroring mirroredResourceInfos. # MirroredResourceInfo specifies a set of mirrored VM instances, subnetworks # and/or tags for which traffic from/to all VM instances will be mirrored. # Corresponds to the JSON property `mirroredResources` # @return [Google::Apis::ComputeV1::PacketMirroringMirroredResourceInfo] attr_accessor :mirrored_resources # Name of the resource; provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Specifies the mirrored VPC network. Only packets in this network will be # mirrored. All mirrored VMs should have a NIC in the given network. # All mirrored subnetworks should belong to the given network. # Corresponds to the JSON property `network` # @return [Google::Apis::ComputeV1::PacketMirroringNetworkInfo] attr_accessor :network # The priority of applying this configuration. Priority is used to break ties # in cases where there is more than one matching rule. In the case of two # rules that apply for a given Instance, the one with the lowest-numbered # priority value wins. # Default value is 1000. Valid range is 0 through 65535. # Corresponds to the JSON property `priority` # @return [Fixnum] attr_accessor :priority # [Output Only] URI of the region where the packetMirroring resides. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @collector_ilb = args[:collector_ilb] if args.key?(:collector_ilb) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @enable = args[:enable] if args.key?(:enable) @filter = args[:filter] if args.key?(:filter) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @mirrored_resources = args[:mirrored_resources] if args.key?(:mirrored_resources) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @priority = args[:priority] if args.key?(:priority) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) end end # Contains a list of packetMirrorings. class PacketMirroringAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of PacketMirroring resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::PacketMirroringAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class PacketMirroringFilter include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `IPProtocols` # @return [Array] attr_accessor :ip_protocols # One or more IPv4 or IPv6 CIDR ranges that apply as filters 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". # Corresponds to the JSON property `cidrRanges` # @return [Array] attr_accessor :cidr_ranges # Direction of traffic to mirror, either INGRESS, EGRESS, or BOTH. # The default is BOTH. # Corresponds to the JSON property `direction` # @return [String] attr_accessor :direction def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ip_protocols = args[:ip_protocols] if args.key?(:ip_protocols) @cidr_ranges = args[:cidr_ranges] if args.key?(:cidr_ranges) @direction = args[:direction] if args.key?(:direction) end end # class PacketMirroringForwardingRuleInfo include Google::Apis::Core::Hashable # Output only. [Output Only] Unique identifier for the forwarding rule; defined # by the # server. # Corresponds to the JSON property `canonicalUrl` # @return [String] attr_accessor :canonical_url # Resource URL to the forwarding rule representing the ILB # configured as destination of the mirrored traffic. # Corresponds to the JSON property `url` # @return [String] attr_accessor :url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @canonical_url = args[:canonical_url] if args.key?(:canonical_url) @url = args[:url] if args.key?(:url) end end # Contains a list of PacketMirroring resources. class PacketMirroringList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of PacketMirroring resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#packetMirroring # for packetMirrorings. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::PacketMirroringList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class PacketMirroringMirroredResourceInfo include Google::Apis::Core::Hashable # A set of virtual machine instances that are being mirrored. # They must live in zones contained in the same region as this # packetMirroring. # Note that this config will apply only to those network interfaces of the # Instances that belong to the network specified in this packetMirroring. # You may specify a maximum of 50 Instances. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances # A set of subnetworks for which traffic from/to all VM instances will be # mirrored. They must live in the same region as this packetMirroring. # You may specify a maximum of 5 subnetworks. # Corresponds to the JSON property `subnetworks` # @return [Array] attr_accessor :subnetworks # A set of mirrored tags. Traffic from/to all VM instances that have one or # more of these tags will be mirrored. # Corresponds to the JSON property `tags` # @return [Array] attr_accessor :tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) @subnetworks = args[:subnetworks] if args.key?(:subnetworks) @tags = args[:tags] if args.key?(:tags) end end # class PacketMirroringMirroredResourceInfoInstanceInfo include Google::Apis::Core::Hashable # Output only. [Output Only] Unique identifier for the instance; defined by the # server. # Corresponds to the JSON property `canonicalUrl` # @return [String] attr_accessor :canonical_url # Resource URL to the virtual machine instance which is being mirrored. # Corresponds to the JSON property `url` # @return [String] attr_accessor :url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @canonical_url = args[:canonical_url] if args.key?(:canonical_url) @url = args[:url] if args.key?(:url) end end # class PacketMirroringMirroredResourceInfoSubnetInfo include Google::Apis::Core::Hashable # Output only. [Output Only] Unique identifier for the subnetwork; defined by # the # server. # Corresponds to the JSON property `canonicalUrl` # @return [String] attr_accessor :canonical_url # Resource URL to the subnetwork for which # traffic from/to all VM instances will be mirrored. # Corresponds to the JSON property `url` # @return [String] attr_accessor :url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @canonical_url = args[:canonical_url] if args.key?(:canonical_url) @url = args[:url] if args.key?(:url) end end # class PacketMirroringNetworkInfo include Google::Apis::Core::Hashable # Output only. [Output Only] Unique identifier for the network; defined by the # server. # Corresponds to the JSON property `canonicalUrl` # @return [String] attr_accessor :canonical_url # URL of the network resource. # Corresponds to the JSON property `url` # @return [String] attr_accessor :url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @canonical_url = args[:canonical_url] if args.key?(:canonical_url) @url = args[:url] if args.key?(:url) end end # class PacketMirroringsScopedList include Google::Apis::Core::Hashable # A list of packetMirrorings contained in this scope. # Corresponds to the JSON property `packetMirrorings` # @return [Array] attr_accessor :packet_mirrorings # Informational warning which replaces the list of packetMirrorings when the # list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::PacketMirroringsScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @packet_mirrorings = args[:packet_mirrorings] if args.key?(:packet_mirrorings) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of packetMirrorings when the # list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # A matcher for the path portion of the URL. The BackendService # from the longest-matched rule will serve the URL. If no rule was matched, the # default service is used. class PathMatcher include Google::Apis::Core::Hashable # Specifies the custom error response policy that must be applied when the # backend service or backend bucket responds with an error. # Corresponds to the JSON property `defaultCustomErrorResponsePolicy` # @return [Google::Apis::ComputeV1::CustomErrorResponsePolicy] attr_accessor :default_custom_error_response_policy # 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. # Only one of defaultUrlRedirect, defaultService # or defaultRouteAction.weightedBackendService can be set. # URL maps for classic Application Load Balancers only support # the urlRewrite action within a path matcher'sdefaultRouteAction. # Corresponds to the JSON property `defaultRouteAction` # @return [Google::Apis::ComputeV1::HttpRouteAction] attr_accessor :default_route_action # The full or partial URL to the BackendService resource. This # URL is used if none of the pathRules orrouteRules 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. # Only one of defaultUrlRedirect, defaultService # or defaultRouteAction.weightedBackendService can 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 # Corresponds to the JSON property `defaultService` # @return [String] attr_accessor :default_service # Specifies settings for an HTTP redirect. # Corresponds to the JSON property `defaultUrlRedirect` # @return [Google::Apis::ComputeV1::HttpRedirectAction] attr_accessor :default_url_redirect # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The request and response header transformations that take effect before # the request is passed along to the selected backendService. # Corresponds to the JSON property `headerAction` # @return [Google::Apis::ComputeV1::HttpHeaderAction] attr_accessor :header_action # The name to which this PathMatcher is referred by theHostRule. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The list of path rules. Use this list instead of routeRules # when routing based on simple path matching is all that's required. A path # rule can only include a wildcard character (*) after a # forward slash character ("/"). # The order by which path rules are specified does not matter. # Matches are always done on the longest-path-first basis. # For example: a pathRule with a path /a/b/c/* will match # before /a/b/* irrespective of the order in which those paths appear in this # list. # Within a given pathMatcher, only one ofpathRules or routeRules must be set. # Corresponds to the JSON property `pathRules` # @return [Array] attr_accessor :path_rules # The list of HTTP route rules. Use this list instead ofpathRules when advanced # route matching and routing actions are # desired. routeRules are evaluated in order of priority, from # the lowest to highest number. # Within a given pathMatcher, you can set only one ofpathRules or routeRules. # Corresponds to the JSON property `routeRules` # @return [Array] attr_accessor :route_rules def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @default_custom_error_response_policy = args[:default_custom_error_response_policy] if args.key?(:default_custom_error_response_policy) @default_route_action = args[:default_route_action] if args.key?(:default_route_action) @default_service = args[:default_service] if args.key?(:default_service) @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect) @description = args[:description] if args.key?(:description) @header_action = args[:header_action] if args.key?(:header_action) @name = args[:name] if args.key?(:name) @path_rules = args[:path_rules] if args.key?(:path_rules) @route_rules = args[:route_rules] if args.key?(:route_rules) end end # A path-matching rule for a URL. If matched, will use the # specifiedBackendService to handle the traffic arriving at this URL. class PathRule include Google::Apis::Core::Hashable # Specifies the custom error response policy that must be applied when the # backend service or backend bucket responds with an error. # Corresponds to the JSON property `customErrorResponsePolicy` # @return [Google::Apis::ComputeV1::CustomErrorResponsePolicy] attr_accessor :custom_error_response_policy # 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. # Corresponds to the JSON property `paths` # @return [Array] attr_accessor :paths # 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. # Only one of urlRedirect, service orrouteAction.weightedBackendService can be # set. # URL maps for classic Application Load Balancers only support # the urlRewrite action within a path rule'srouteAction. # Corresponds to the JSON property `routeAction` # @return [Google::Apis::ComputeV1::HttpRouteAction] attr_accessor :route_action # 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. # Only one of urlRedirect, service orrouteAction.weightedBackendService can be # set. # Corresponds to the JSON property `service` # @return [String] attr_accessor :service # Specifies settings for an HTTP redirect. # Corresponds to the JSON property `urlRedirect` # @return [Google::Apis::ComputeV1::HttpRedirectAction] attr_accessor :url_redirect def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @custom_error_response_policy = args[:custom_error_response_policy] if args.key?(:custom_error_response_policy) @paths = args[:paths] if args.key?(:paths) @route_action = args[:route_action] if args.key?(:route_action) @service = args[:service] if args.key?(:service) @url_redirect = args[:url_redirect] if args.key?(:url_redirect) end end # class PerInstanceConfig include Google::Apis::Core::Hashable # Fingerprint of this per-instance config. This field can be used in # optimistic locking. It is ignored when inserting a per-instance # config. An up-to-date fingerprint must be provided in order to update an # existing per-instance configuration or the field needs to be unset. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # The name of a per-instance configuration and its corresponding instance. # Serves as a merge key during UpdatePerInstanceConfigs # operations, that is, if a per-instance configuration with the same name # exists then it will be updated, otherwise a new one will be created for the # VM instance with the same name. An attempt to create a per-instance # configuration for a VM instance that either doesn't exist or is not part # of the group will result in an error. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Preserved state for a given instance. # Corresponds to the JSON property `preservedState` # @return [Google::Apis::ComputeV1::PreservedState] attr_accessor :preserved_state # The status of applying this per-instance configuration on the corresponding # managed instance. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @name = args[:name] if args.key?(:name) @preserved_state = args[:preserved_state] if args.key?(:preserved_state) @status = args[:status] if args.key?(:status) end end # 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/). class Policy include Google::Apis::Core::Hashable # Specifies cloud audit logging configuration for this policy. # Corresponds to the JSON property `auditConfigs` # @return [Array] attr_accessor :audit_configs # Associates a list of `members`, or principals, with a `role`. Optionally, # may specify a `condition` that determines how and when the `bindings` are # applied. Each of the `bindings` must contain at least one principal. # The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 # of these principals can be Google groups. Each occurrence of a principal # counts towards these limits. For example, if the `bindings` grant 50 # different roles to `user:alice@example.com`, and not to any other # principal, then you can add another 1,450 principals to the `bindings` in # the `Policy`. # Corresponds to the JSON property `bindings` # @return [Array] attr_accessor :bindings # `etag` is used for optimistic concurrency control as a way to help # prevent simultaneous updates of a policy from overwriting each other. # It is strongly suggested that systems make use of the `etag` in the # read-modify-write cycle to perform policy updates in order to avoid race # conditions: An `etag` is returned in the response to `getIamPolicy`, and # systems are expected to put that etag in the request to `setIamPolicy` to # ensure that their change will be applied to the same version of the policy. # **Important:** If you use IAM Conditions, you must include the `etag` field # whenever you call `setIamPolicy`. If you omit this field, then IAM allows # you to overwrite a version `3` policy with a version `1` policy, and all of # the conditions in the version `3` policy are lost. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :etag # Specifies the format of the policy. # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value # are rejected. # Any operation that affects conditional role bindings must specify version # `3`. This requirement applies to the following operations: # * Getting a policy that includes a conditional role binding # * Adding a conditional role binding to a policy # * Changing a conditional role binding in a policy # * Removing any role binding, with or without a condition, from a policy # that includes conditions # **Important:** If you use IAM Conditions, you must include the `etag` field # whenever you call `setIamPolicy`. If you omit this field, then IAM allows # you to overwrite a version `3` policy with a version `1` policy, and all of # the conditions in the version `3` policy are lost. # If a policy does not include any conditions, operations on that policy may # specify any valid version or leave the field unset. # To learn which resources support conditions in their IAM policies, see the # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource- # policies). # Corresponds to the JSON property `version` # @return [Fixnum] attr_accessor :version def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @audit_configs = args[:audit_configs] if args.key?(:audit_configs) @bindings = args[:bindings] if args.key?(:bindings) @etag = args[:etag] if args.key?(:etag) @version = args[:version] if args.key?(:version) end end # class PreconfiguredWafSet include Google::Apis::Core::Hashable # List of entities that are currently supported for WAF rules. # Corresponds to the JSON property `expressionSets` # @return [Array] attr_accessor :expression_sets def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @expression_sets = args[:expression_sets] if args.key?(:expression_sets) end end # Preserved state for a given instance. class PreservedState include Google::Apis::Core::Hashable # Preserved disks defined for this instance. # This map is keyed with the device names of the disks. # Corresponds to the JSON property `disks` # @return [Hash] attr_accessor :disks # Preserved external IPs defined for this instance. # This map is keyed with the name of the network interface. # Corresponds to the JSON property `externalIPs` # @return [Hash] attr_accessor :external_i_ps # Preserved internal IPs defined for this instance. # This map is keyed with the name of the network interface. # Corresponds to the JSON property `internalIPs` # @return [Hash] attr_accessor :internal_i_ps # Preserved metadata defined for this instance. # Corresponds to the JSON property `metadata` # @return [Hash] attr_accessor :metadata def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disks = args[:disks] if args.key?(:disks) @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps) @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps) @metadata = args[:metadata] if args.key?(:metadata) end end # class PreservedStatePreservedDisk include Google::Apis::Core::Hashable # These stateful disks will never be deleted during autohealing, # update, instance recreate operations. This flag is used to configure # if the disk should be deleted after it is no longer used by the group, # e.g. when the given instance or the whole MIG is deleted. # Note: disks attached in READ_ONLY mode cannot be # auto-deleted. # Corresponds to the JSON property `autoDelete` # @return [String] attr_accessor :auto_delete # The mode in which to attach this disk, either READ_WRITE orREAD_ONLY. If not # specified, the default is to attach the # disk in READ_WRITE mode. # Corresponds to the JSON property `mode` # @return [String] attr_accessor :mode # The URL of the disk resource that is stateful and should be attached # to the VM instance. # Corresponds to the JSON property `source` # @return [String] attr_accessor :source def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @auto_delete = args[:auto_delete] if args.key?(:auto_delete) @mode = args[:mode] if args.key?(:mode) @source = args[:source] if args.key?(:source) end end # class PreservedStatePreservedNetworkIp include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `autoDelete` # @return [String] attr_accessor :auto_delete # Ip address representation # Corresponds to the JSON property `ipAddress` # @return [Google::Apis::ComputeV1::PreservedStatePreservedNetworkIpIpAddress] attr_accessor :ip_address def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @auto_delete = args[:auto_delete] if args.key?(:auto_delete) @ip_address = args[:ip_address] if args.key?(:ip_address) end end # class PreservedStatePreservedNetworkIpIpAddress include Google::Apis::Core::Hashable # The URL of the reservation for this IP address. # Corresponds to the JSON property `address` # @return [String] attr_accessor :address # An IPv4 internal network address to assign to the instance for this # network interface. # Corresponds to the JSON property `literal` # @return [String] attr_accessor :literal def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @address = args[:address] if args.key?(:address) @literal = args[:literal] if args.key?(:literal) end end # Represents a single Google Compute Engine preview feature. class PreviewFeature include Google::Apis::Core::Hashable # Specifies whether the feature is enabled or disabled. # Corresponds to the JSON property `activationStatus` # @return [String] attr_accessor :activation_status # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Output only. [Output Only] Description of the feature. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output only] The type of the feature. Always "compute# # previewFeature" for # preview features. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the feature. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Represents the rollout operation # Corresponds to the JSON property `rolloutOperation` # @return [Google::Apis::ComputeV1::PreviewFeatureRolloutOperation] attr_accessor :rollout_operation # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] The status of the feature. # Corresponds to the JSON property `status` # @return [Google::Apis::ComputeV1::PreviewFeatureStatus] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @activation_status = args[:activation_status] if args.key?(:activation_status) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @rollout_operation = args[:rollout_operation] if args.key?(:rollout_operation) @self_link = args[:self_link] if args.key?(:self_link) @status = args[:status] if args.key?(:status) end end # class PreviewFeatureList include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of PreviewFeature resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # end_interface: MixerListResponseWithEtagBuilder # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::PreviewFeatureList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents the rollout operation class PreviewFeatureRolloutOperation include Google::Apis::Core::Hashable # Represents the input for the rollout operation. # Corresponds to the JSON property `rolloutInput` # @return [Google::Apis::ComputeV1::PreviewFeatureRolloutOperationRolloutInput] attr_accessor :rollout_input def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @rollout_input = args[:rollout_input] if args.key?(:rollout_input) end end # Represents the input for the rollout operation. class PreviewFeatureRolloutOperationRolloutInput include Google::Apis::Core::Hashable # The name of the rollout plan # Ex. # organizations//locations/global/rolloutPlans/ # Ex. # folders//locations/global/rolloutPlans/ # Ex. # projects//locations/global/rolloutPlans/. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Predefined rollout plan. # Corresponds to the JSON property `predefinedRolloutPlan` # @return [String] attr_accessor :predefined_rollout_plan def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @predefined_rollout_plan = args[:predefined_rollout_plan] if args.key?(:predefined_rollout_plan) end end # [Output Only] The status of the feature. class PreviewFeatureStatus include Google::Apis::Core::Hashable # Output only. [Output Only] The description of the feature. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] Link to the public documentation for the feature. # Corresponds to the JSON property `helpLink` # @return [String] attr_accessor :help_link # [Output Only] The release status of the feature. # Corresponds to the JSON property `releaseStatus` # @return [Google::Apis::ComputeV1::PreviewFeatureStatusReleaseStatus] attr_accessor :release_status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @help_link = args[:help_link] if args.key?(:help_link) @release_status = args[:release_status] if args.key?(:release_status) end end # [Output Only] The release status of the feature. class PreviewFeatureStatusReleaseStatus include Google::Apis::Core::Hashable # Output only. [Output Only] The stage of the feature. # Corresponds to the JSON property `stage` # @return [String] attr_accessor :stage # Represents a whole or partial calendar date, such as a birthday. The time of # day and time zone are either specified elsewhere or are insignificant. The # date is relative to the Gregorian Calendar. This can represent one of the # following: # * A full date, with non-zero year, month, and day values. # * A month and day, with a zero year (for example, an anniversary). # * A year on its own, with a zero month and a zero day. # * A year and month, with a zero day (for example, a credit card expiration # date). # Related types: # * google.type.TimeOfDay # * google.type.DateTime # * google.protobuf.Timestamp # Corresponds to the JSON property `updateDate` # @return [Google::Apis::ComputeV1::Date] attr_accessor :update_date def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @stage = args[:stage] if args.key?(:stage) @update_date = args[:update_date] if args.key?(:update_date) end end # Represents a Project resource. # A project is used to organize resources in a Google Cloud Platform # environment. For more information, read about the # Resource Hierarchy. class Project include Google::Apis::Core::Hashable # Output only. [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 beCA_STANDARD. # Corresponds to the JSON property `cloudArmorTier` # @return [String] attr_accessor :cloud_armor_tier # A metadata key/value entry. # Corresponds to the JSON property `commonInstanceMetadata` # @return [Google::Apis::ComputeV1::Metadata] attr_accessor :common_instance_metadata # [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # 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. # Corresponds to the JSON property `defaultNetworkTier` # @return [String] attr_accessor :default_network_tier # [Output Only] Default service account used by VMs running in this project. # Corresponds to the JSON property `defaultServiceAccount` # @return [String] attr_accessor :default_service_account # An optional textual description of the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # An optional list of restricted features enabled for use on this project. # Corresponds to the JSON property `enabledFeatures` # @return [Array] attr_accessor :enabled_features # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. This is *not* the project ID, and is # just a unique ID used by Compute Engine to identify resources. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Always compute#project for # projects. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The project ID. For example: my-example-project. Use the # project ID to make requests to Compute Engine. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # [Output Only] Quotas assigned to this project. # Corresponds to the JSON property `quotas` # @return [Array] attr_accessor :quotas # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # The location in Cloud Storage and naming method of the daily usage # report. Contains bucket_name and report_name prefix. # Corresponds to the JSON property `usageExportLocation` # @return [Google::Apis::ComputeV1::UsageExportLocation] attr_accessor :usage_export_location # Output only. [Output Only] Default internal DNS setting used by VMs running in # this project. # Corresponds to the JSON property `vmDnsSetting` # @return [String] attr_accessor :vm_dns_setting # [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. # Corresponds to the JSON property `xpnProjectStatus` # @return [String] attr_accessor :xpn_project_status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cloud_armor_tier = args[:cloud_armor_tier] if args.key?(:cloud_armor_tier) @common_instance_metadata = args[:common_instance_metadata] if args.key?(:common_instance_metadata) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @default_network_tier = args[:default_network_tier] if args.key?(:default_network_tier) @default_service_account = args[:default_service_account] if args.key?(:default_service_account) @description = args[:description] if args.key?(:description) @enabled_features = args[:enabled_features] if args.key?(:enabled_features) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @quotas = args[:quotas] if args.key?(:quotas) @self_link = args[:self_link] if args.key?(:self_link) @usage_export_location = args[:usage_export_location] if args.key?(:usage_export_location) @vm_dns_setting = args[:vm_dns_setting] if args.key?(:vm_dns_setting) @xpn_project_status = args[:xpn_project_status] if args.key?(:xpn_project_status) end end # class ProjectsDisableXpnResourceRequest include Google::Apis::Core::Hashable # Service resource (a.k.a service project) ID. # Corresponds to the JSON property `xpnResource` # @return [Google::Apis::ComputeV1::XpnResourceId] attr_accessor :xpn_resource def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @xpn_resource = args[:xpn_resource] if args.key?(:xpn_resource) end end # class ProjectsEnableXpnResourceRequest include Google::Apis::Core::Hashable # Service resource (a.k.a service project) ID. # Corresponds to the JSON property `xpnResource` # @return [Google::Apis::ComputeV1::XpnResourceId] attr_accessor :xpn_resource def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @xpn_resource = args[:xpn_resource] if args.key?(:xpn_resource) end end # class ProjectsGetXpnResources include Google::Apis::Core::Hashable # Output only. [Output Only] Type of resource. Alwayscompute# # projectsGetXpnResources for lists of service resources # (a.k.a service projects) # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Service resources (a.k.a service projects) attached to this project as # their shared VPC host. # Corresponds to the JSON property `resources` # @return [Array] attr_accessor :resources def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @resources = args[:resources] if args.key?(:resources) end end # class ProjectsListXpnHostsRequest include Google::Apis::Core::Hashable # Optional organization ID managed by Cloud Resource Manager, for which to # list shared VPC host projects. If not specified, the organization will be # inferred from the project. # Corresponds to the JSON property `organization` # @return [String] attr_accessor :organization def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @organization = args[:organization] if args.key?(:organization) end end # class ProjectsSetCloudArmorTierRequest include Google::Apis::Core::Hashable # Managed protection tier to be set. # Corresponds to the JSON property `cloudArmorTier` # @return [String] attr_accessor :cloud_armor_tier def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cloud_armor_tier = args[:cloud_armor_tier] if args.key?(:cloud_armor_tier) end end # class ProjectsSetDefaultNetworkTierRequest include Google::Apis::Core::Hashable # Default network tier to be set. # Corresponds to the JSON property `networkTier` # @return [String] attr_accessor :network_tier def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @network_tier = args[:network_tier] if args.key?(:network_tier) end end # A public advertised prefix represents an aggregated IP prefix or netblock # which customers bring to cloud. The IP prefix is a single unit of route # advertisement and is announced globally to the internet. class PublicAdvertisedPrefix include Google::Apis::Core::Hashable # Output only. [Output Only] The version of BYOIP API. # Corresponds to the JSON property `byoipApiVersion` # @return [String] attr_accessor :byoip_api_version # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The address to be used for reverse DNS verification. # Corresponds to the JSON property `dnsVerificationIp` # @return [String] attr_accessor :dns_verification_ip # 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 thePublicAdvertisedPrefix, # otherwise the request will fail with # error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve a PublicAdvertisedPrefix. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # Output only. [Output Only] The unique identifier for the resource type. The # server # generates this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # The address range, in CIDR format, represented by this public advertised # prefix. # Corresponds to the JSON property `ipCidrRange` # @return [String] attr_accessor :ip_cidr_range # The internet access type for IPv6 Public Advertised Prefixes. # Corresponds to the JSON property `ipv6AccessType` # @return [String] attr_accessor :ipv6_access_type # Output only. [Output Only] Type of the resource. Alwayscompute# # publicAdvertisedPrefix for public advertised prefixes. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # 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. # Corresponds to the JSON property `pdpScope` # @return [String] attr_accessor :pdp_scope # Output only. [Output Only] The list of public delegated prefixes that exist # for this # public advertised prefix. # Corresponds to the JSON property `publicDelegatedPrefixs` # @return [Array] attr_accessor :public_delegated_prefixs # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] The shared secret to be used for reverse DNS verification. # Corresponds to the JSON property `sharedSecret` # @return [String] attr_accessor :shared_secret # The status of the public advertised prefix. Possible values include: # # # - `INITIAL`: RPKI validation is complete. # - `PTR_CONFIGURED`: User has configured the PTR. # - `VALIDATED`: Reverse DNS lookup is successful. # - `REVERSE_DNS_LOOKUP_FAILED`: Reverse DNS lookup failed. # - `PREFIX_CONFIGURATION_IN_PROGRESS`: The prefix is being # configured. # - `PREFIX_CONFIGURATION_COMPLETE`: The prefix is fully configured. # - `PREFIX_REMOVAL_IN_PROGRESS`: The prefix is being removed. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @byoip_api_version = args[:byoip_api_version] if args.key?(:byoip_api_version) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @dns_verification_ip = args[:dns_verification_ip] if args.key?(:dns_verification_ip) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @id = args[:id] if args.key?(:id) @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range) @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @pdp_scope = args[:pdp_scope] if args.key?(:pdp_scope) @public_delegated_prefixs = args[:public_delegated_prefixs] if args.key?(:public_delegated_prefixs) @self_link = args[:self_link] if args.key?(:self_link) @shared_secret = args[:shared_secret] if args.key?(:shared_secret) @status = args[:status] if args.key?(:status) end end # class PublicAdvertisedPrefixList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of PublicAdvertisedPrefix resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of the resource. Alwayscompute# # publicAdvertisedPrefix for public advertised prefixes. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::PublicAdvertisedPrefixList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents a CIDR range which can be used to assign addresses. class PublicAdvertisedPrefixPublicDelegatedPrefix include Google::Apis::Core::Hashable # The IP address range of the public delegated prefix # Corresponds to the JSON property `ipRange` # @return [String] attr_accessor :ip_range # The name of the public delegated prefix # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The project number of the public delegated prefix # Corresponds to the JSON property `project` # @return [String] attr_accessor :project # The region of the public delegated prefix if it is regional. If absent, # the prefix is global. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # The status of the public delegated prefix. Possible values are: # INITIALIZING: The public delegated prefix is being initialized and # addresses cannot be created yet. # ANNOUNCED: The public delegated prefix is active. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ip_range = args[:ip_range] if args.key?(:ip_range) @name = args[:name] if args.key?(:name) @project = args[:project] if args.key?(:project) @region = args[:region] if args.key?(:region) @status = args[:status] if args.key?(:status) end end # A PublicDelegatedPrefix resource represents an IP block within a # PublicAdvertisedPrefix that is configured within a single cloud scope # (global or region). IPs in the block can be allocated to resources within # that scope. Public delegated prefixes may be further broken up into # smaller IP blocks in the same scope as the parent block. class PublicDelegatedPrefix include Google::Apis::Core::Hashable # The allocatable prefix length supported by this public delegated prefix. # This field is optional and cannot be set for prefixes in DELEGATION mode. # It cannot be set for IPv4 prefixes either, and it always defaults to 32. # Corresponds to the JSON property `allocatablePrefixLength` # @return [Fixnum] attr_accessor :allocatable_prefix_length # Output only. [Output Only] The version of BYOIP API. # Corresponds to the JSON property `byoipApiVersion` # @return [String] attr_accessor :byoip_api_version # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] Whether this PDP supports enhanced IPv4 allocations. # Applicable for IPv4 PDPs only. # Corresponds to the JSON property `enableEnhancedIpv4Allocation` # @return [Boolean] attr_accessor :enable_enhanced_ipv4_allocation alias_method :enable_enhanced_ipv4_allocation?, :enable_enhanced_ipv4_allocation # 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 thePublicDelegatedPrefix, # otherwise the request will fail with # error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve a PublicDelegatedPrefix. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # Output only. [Output Only] The unique identifier for the resource type. The # server # generates this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # The IP address range, in CIDR format, represented by this public # delegated prefix. # Corresponds to the JSON property `ipCidrRange` # @return [String] attr_accessor :ip_cidr_range # Output only. [Output Only] The internet access type for IPv6 Public Delegated # Prefixes. # Inherited from parent prefix. # Corresponds to the JSON property `ipv6AccessType` # @return [String] attr_accessor :ipv6_access_type # If true, the prefix will be live migrated. # Corresponds to the JSON property `isLiveMigration` # @return [Boolean] attr_accessor :is_live_migration alias_method :is_live_migration?, :is_live_migration # Output only. [Output Only] Type of the resource. Alwayscompute# # publicDelegatedPrefix for public delegated prefixes. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The public delegated prefix mode for IPv6 only. # Corresponds to the JSON property `mode` # @return [String] attr_accessor :mode # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The URL of parent prefix. Either PublicAdvertisedPrefix or # PublicDelegatedPrefix. # Corresponds to the JSON property `parentPrefix` # @return [String] attr_accessor :parent_prefix # The list of sub public delegated prefixes that exist for this public # delegated prefix. # Corresponds to the JSON property `publicDelegatedSubPrefixs` # @return [Array] attr_accessor :public_delegated_sub_prefixs # Output only. [Output Only] URL of the region where the public delegated prefix # 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. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] The status of the public delegated prefix, which can be one # of following values: # # # - `INITIALIZING` The public delegated prefix is being initialized and # addresses cannot be created yet. # - `READY_TO_ANNOUNCE` The public delegated prefix is a live migration # prefix and is active. # - `ANNOUNCED` The public delegated prefix is announced and ready to # use. # - `DELETING` The public delegated prefix is being deprovsioned. # - `ACTIVE` The public delegated prefix is ready to use. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @allocatable_prefix_length = args[:allocatable_prefix_length] if args.key?(:allocatable_prefix_length) @byoip_api_version = args[:byoip_api_version] if args.key?(:byoip_api_version) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @enable_enhanced_ipv4_allocation = args[:enable_enhanced_ipv4_allocation] if args.key?(:enable_enhanced_ipv4_allocation) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @id = args[:id] if args.key?(:id) @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range) @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type) @is_live_migration = args[:is_live_migration] if args.key?(:is_live_migration) @kind = args[:kind] if args.key?(:kind) @mode = args[:mode] if args.key?(:mode) @name = args[:name] if args.key?(:name) @parent_prefix = args[:parent_prefix] if args.key?(:parent_prefix) @public_delegated_sub_prefixs = args[:public_delegated_sub_prefixs] if args.key?(:public_delegated_sub_prefixs) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @status = args[:status] if args.key?(:status) end end # class PublicDelegatedPrefixAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of PublicDelegatedPrefixesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of the resource. Alwayscompute# # publicDelegatedPrefixAggregatedList for aggregated # lists of public delegated prefixes. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class PublicDelegatedPrefixList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of PublicDelegatedPrefix resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of the resource. Alwayscompute# # publicDelegatedPrefixList for public delegated # prefixes. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents a sub PublicDelegatedPrefix. class PublicDelegatedPrefixPublicDelegatedSubPrefix include Google::Apis::Core::Hashable # The allocatable prefix length supported by this PublicDelegatedSubPrefix. # Corresponds to the JSON property `allocatablePrefixLength` # @return [Fixnum] attr_accessor :allocatable_prefix_length # Name of the project scoping this PublicDelegatedSubPrefix. # Corresponds to the JSON property `delegateeProject` # @return [String] attr_accessor :delegatee_project # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] Whether this PDP supports enhanced IPv4 allocations. # Applicable for IPv4 PDPs only. # Corresponds to the JSON property `enableEnhancedIpv4Allocation` # @return [Boolean] attr_accessor :enable_enhanced_ipv4_allocation alias_method :enable_enhanced_ipv4_allocation?, :enable_enhanced_ipv4_allocation # The IP address range, in CIDR format, represented by this sub public # delegated prefix. # Corresponds to the JSON property `ipCidrRange` # @return [String] attr_accessor :ip_cidr_range # Output only. [Output Only] The internet access type for IPv6 Public Delegated # Sub # Prefixes. Inherited from parent prefix. # Corresponds to the JSON property `ipv6AccessType` # @return [String] attr_accessor :ipv6_access_type # Whether the sub prefix is delegated to create Address resources in the # delegatee project. # Corresponds to the JSON property `isAddress` # @return [Boolean] attr_accessor :is_address alias_method :is_address?, :is_address # The PublicDelegatedSubPrefix mode for IPv6 only. # Corresponds to the JSON property `mode` # @return [String] attr_accessor :mode # The name of the sub public delegated prefix. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] The region of the sub public delegated prefix if it # is # regional. If absent, the sub prefix is global. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Output only. [Output Only] The status of the sub public delegated prefix. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @allocatable_prefix_length = args[:allocatable_prefix_length] if args.key?(:allocatable_prefix_length) @delegatee_project = args[:delegatee_project] if args.key?(:delegatee_project) @description = args[:description] if args.key?(:description) @enable_enhanced_ipv4_allocation = args[:enable_enhanced_ipv4_allocation] if args.key?(:enable_enhanced_ipv4_allocation) @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range) @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type) @is_address = args[:is_address] if args.key?(:is_address) @mode = args[:mode] if args.key?(:mode) @name = args[:name] if args.key?(:name) @region = args[:region] if args.key?(:region) @status = args[:status] if args.key?(:status) end end # class PublicDelegatedPrefixesScopedList include Google::Apis::Core::Hashable # [Output Only] A list of PublicDelegatedPrefixes contained in this scope. # Corresponds to the JSON property `publicDelegatedPrefixes` # @return [Array] attr_accessor :public_delegated_prefixes # [Output Only] Informational warning which replaces the list of # public delegated prefixes when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @public_delegated_prefixes = args[:public_delegated_prefixes] if args.key?(:public_delegated_prefixes) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning which replaces the list of # public delegated prefixes when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # A quotas entry. class Quota include Google::Apis::Core::Hashable # [Output Only] Quota limit for this metric. # Corresponds to the JSON property `limit` # @return [Float] attr_accessor :limit # [Output Only] Name of the quota metric. # Corresponds to the JSON property `metric` # @return [String] attr_accessor :metric # [Output Only] Owning resource. This is the resource on which this quota # is applied. # Corresponds to the JSON property `owner` # @return [String] attr_accessor :owner # [Output Only] Current usage of this metric. # Corresponds to the JSON property `usage` # @return [Float] attr_accessor :usage def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @limit = args[:limit] if args.key?(:limit) @metric = args[:metric] if args.key?(:metric) @owner = args[:owner] if args.key?(:owner) @usage = args[:usage] if args.key?(:usage) end end # Additional details for quota exceeded error for resource quota. class QuotaExceededInfo include Google::Apis::Core::Hashable # The map holding related quota dimensions. # Corresponds to the JSON property `dimensions` # @return [Hash] attr_accessor :dimensions # Future quota limit being rolled out. The limit's unit depends on the quota # type or metric. # Corresponds to the JSON property `futureLimit` # @return [Float] attr_accessor :future_limit # Current effective quota limit. The limit's unit depends on the quota type # or metric. # Corresponds to the JSON property `limit` # @return [Float] attr_accessor :limit # The name of the quota limit. # Corresponds to the JSON property `limitName` # @return [String] attr_accessor :limit_name # The Compute Engine quota metric name. # Corresponds to the JSON property `metricName` # @return [String] attr_accessor :metric_name # Rollout status of the future quota limit. # Corresponds to the JSON property `rolloutStatus` # @return [String] attr_accessor :rollout_status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dimensions = args[:dimensions] if args.key?(:dimensions) @future_limit = args[:future_limit] if args.key?(:future_limit) @limit = args[:limit] if args.key?(:limit) @limit_name = args[:limit_name] if args.key?(:limit_name) @metric_name = args[:metric_name] if args.key?(:metric_name) @rollout_status = args[:rollout_status] if args.key?(:rollout_status) end end # Represents a reference to a resource. class Reference include Google::Apis::Core::Hashable # Output only. [Output Only] Type of the resource. Always compute#reference # for references. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # A description of the reference type with no implied semantics. Possible # values include: # # # 1. MEMBER_OF # Corresponds to the JSON property `referenceType` # @return [String] attr_accessor :reference_type # URL of the resource which refers to the target. # Corresponds to the JSON property `referrer` # @return [String] attr_accessor :referrer # URL of the resource to which this reference points. # Corresponds to the JSON property `target` # @return [String] attr_accessor :target def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kind = args[:kind] if args.key?(:kind) @reference_type = args[:reference_type] if args.key?(:reference_type) @referrer = args[:referrer] if args.key?(:referrer) @target = args[:target] if args.key?(:target) end end # Represents a Region resource. # A region is a geographical area where a resource is located. For more # information, readRegions # and Zones. class Region include Google::Apis::Core::Hashable # [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Deprecation status for a public resource. # Corresponds to the JSON property `deprecated` # @return [Google::Apis::ComputeV1::DeprecationStatus] attr_accessor :deprecated # [Output Only] Textual description of the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Always compute#region for # regions. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] Name of the resource. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] Warning of fetching the `quotas` field for this # region. This # field is populated only if fetching of the `quotas` field fails. # Corresponds to the JSON property `quotaStatusWarning` # @return [Google::Apis::ComputeV1::Region::QuotaStatusWarning] attr_accessor :quota_status_warning # [Output Only] Quotas assigned to this region. # Corresponds to the JSON property `quotas` # @return [Array] attr_accessor :quotas # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Status of the region, either UP orDOWN. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Output only. [Output Only] Reserved for future use. # Corresponds to the JSON property `supportsPzs` # @return [Boolean] attr_accessor :supports_pzs alias_method :supports_pzs?, :supports_pzs # [Output Only] A list of zones available in this region, in the form of # resource URLs. # Corresponds to the JSON property `zones` # @return [Array] attr_accessor :zones def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @deprecated = args[:deprecated] if args.key?(:deprecated) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @quota_status_warning = args[:quota_status_warning] if args.key?(:quota_status_warning) @quotas = args[:quotas] if args.key?(:quotas) @self_link = args[:self_link] if args.key?(:self_link) @status = args[:status] if args.key?(:status) @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs) @zones = args[:zones] if args.key?(:zones) end # Output only. [Output Only] Warning of fetching the `quotas` field for this # region. This # field is populated only if fetching of the `quotas` field fails. class QuotaStatusWarning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class RegionAddressesMoveRequest include Google::Apis::Core::Hashable # An optional destination address description if intended to be different # from the source. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # 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. # Corresponds to the JSON property `destinationAddress` # @return [String] attr_accessor :destination_address def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @destination_address = args[:destination_address] if args.key?(:destination_address) end end # Contains a list of autoscalers. class RegionAutoscalerList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Autoscaler resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::RegionAutoscalerList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class RegionDiskTypeList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of DiskType resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute#regionDiskTypeList # for region disk types. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::RegionDiskTypeList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class RegionDisksAddResourcePoliciesRequest include Google::Apis::Core::Hashable # Resource policies to be added to this disk. # Corresponds to the JSON property `resourcePolicies` # @return [Array] attr_accessor :resource_policies def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) end end # class RegionDisksRemoveResourcePoliciesRequest include Google::Apis::Core::Hashable # Resource policies to be removed from this disk. # Corresponds to the JSON property `resourcePolicies` # @return [Array] attr_accessor :resource_policies def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) end end # class RegionDisksResizeRequest include Google::Apis::Core::Hashable # The new size of the regional persistent disk, which is specified in GB. # Corresponds to the JSON property `sizeGb` # @return [Fixnum] attr_accessor :size_gb def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @size_gb = args[:size_gb] if args.key?(:size_gb) end end # class RegionDisksStartAsyncReplicationRequest include Google::Apis::Core::Hashable # 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 # Corresponds to the JSON property `asyncSecondaryDisk` # @return [String] attr_accessor :async_secondary_disk def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @async_secondary_disk = args[:async_secondary_disk] if args.key?(:async_secondary_disk) end end # Contains a list of InstanceGroup resources. class RegionInstanceGroupList include Google::Apis::Core::Hashable # Output only. [Output Only] Unique identifier for the resource; defined by the # server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InstanceGroup resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. The resource type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::RegionInstanceGroupList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # Output only. [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # RegionInstanceGroupManagers.deletePerInstanceConfigs class RegionInstanceGroupManagerDeleteInstanceConfigReq include Google::Apis::Core::Hashable # The list of instance names for which we want to delete per-instance configs # on this managed instance group. # Corresponds to the JSON property `names` # @return [Array] attr_accessor :names def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @names = args[:names] if args.key?(:names) end end # Contains a list of managed instance groups. class RegionInstanceGroupManagerList include Google::Apis::Core::Hashable # Output only. [Output Only] Unique identifier for the resource; defined by the # server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InstanceGroupManager resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] The resource type, which is always # compute#instanceGroupManagerList for a list of managed instance groups that # exist in th regional scope. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::RegionInstanceGroupManagerList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # Output only. [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # RegionInstanceGroupManagers.patchPerInstanceConfigs class RegionInstanceGroupManagerPatchInstanceConfigReq include Google::Apis::Core::Hashable # The list of per-instance configurations to insert or patch on this managed # instance group. # Corresponds to the JSON property `perInstanceConfigs` # @return [Array] attr_accessor :per_instance_configs def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs) end end # RegionInstanceGroupManagers.updatePerInstanceConfigs class RegionInstanceGroupManagerUpdateInstanceConfigReq include Google::Apis::Core::Hashable # The list of per-instance configurations to insert or patch on this managed # instance group. # Corresponds to the JSON property `perInstanceConfigs` # @return [Array] attr_accessor :per_instance_configs def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs) end end # class RegionInstanceGroupManagersAbandonInstancesRequest include Google::Apis::Core::Hashable # The URLs of one or more instances to abandon. This can be a full URL or # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) end end # RegionInstanceGroupManagers.applyUpdatesToInstances class RegionInstanceGroupManagersApplyUpdatesRequest include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `allInstances` # @return [Boolean] attr_accessor :all_instances alias_method :all_instances?, :all_instances # 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 aszones/[ZONE]/ # instances/[INSTANCE_NAME]. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances # 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. # Corresponds to the JSON property `minimalAction` # @return [String] attr_accessor :minimal_action # 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. # Corresponds to the JSON property `mostDisruptiveAllowedAction` # @return [String] attr_accessor :most_disruptive_allowed_action def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @all_instances = args[:all_instances] if args.key?(:all_instances) @instances = args[:instances] if args.key?(:instances) @minimal_action = args[:minimal_action] if args.key?(:minimal_action) @most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action) end end # RegionInstanceGroupManagers.createInstances class RegionInstanceGroupManagersCreateInstancesRequest include Google::Apis::Core::Hashable # [Required] List of specifications of per-instance configs. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) end end # class RegionInstanceGroupManagersDeleteInstancesRequest include Google::Apis::Core::Hashable # 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]. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances # 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. # Corresponds to the JSON property `skipInstancesOnValidationError` # @return [Boolean] attr_accessor :skip_instances_on_validation_error alias_method :skip_instances_on_validation_error?, :skip_instances_on_validation_error def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) @skip_instances_on_validation_error = args[:skip_instances_on_validation_error] if args.key?(:skip_instances_on_validation_error) end end # class RegionInstanceGroupManagersListErrorsResponse include Google::Apis::Core::Hashable # [Output Only] The list of errors of the managed instance group. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # class RegionInstanceGroupManagersListInstanceConfigsResp include Google::Apis::Core::Hashable # Output only. [Output Only] The list of PerInstanceConfig. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::RegionInstanceGroupManagersListInstanceConfigsResp::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @warning = args[:warning] if args.key?(:warning) end # Output only. [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class RegionInstanceGroupManagersListInstancesResponse include Google::Apis::Core::Hashable # A list of managed instances. # Corresponds to the JSON property `managedInstances` # @return [Array] attr_accessor :managed_instances # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @managed_instances = args[:managed_instances] if args.key?(:managed_instances) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # class RegionInstanceGroupManagersRecreateRequest include Google::Apis::Core::Hashable # The URLs of one or more instances to recreate. This can be a full URL or # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) end end # class RegionInstanceGroupManagersResumeInstancesRequest include Google::Apis::Core::Hashable # The URLs of one or more instances to resume. This can be a full URL or # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) end end # class RegionInstanceGroupManagersSetTargetPoolsRequest include Google::Apis::Core::Hashable # Fingerprint of the target pools information, which is a hash of the # contents. This field is used for optimistic locking when you update the # target pool entries. This field is optional. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # The URL of all TargetPool resources to which instances in theinstanceGroup # field are added. The target pools automatically # apply to all of the instances in the managed instance group. # Corresponds to the JSON property `targetPools` # @return [Array] attr_accessor :target_pools def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @target_pools = args[:target_pools] if args.key?(:target_pools) end end # class RegionInstanceGroupManagersSetTemplateRequest include Google::Apis::Core::Hashable # URL of the InstanceTemplate resource from which all new instances will be # created. # Corresponds to the JSON property `instanceTemplate` # @return [String] attr_accessor :instance_template def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_template = args[:instance_template] if args.key?(:instance_template) end end # class RegionInstanceGroupManagersStartInstancesRequest include Google::Apis::Core::Hashable # The URLs of one or more instances to start. This can be a full URL or # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) end end # class RegionInstanceGroupManagersStopInstancesRequest include Google::Apis::Core::Hashable # If this flag is set to true, the Instance Group Manager will proceed to # stop the instances, skipping initialization on them. # Corresponds to the JSON property `forceStop` # @return [Boolean] attr_accessor :force_stop alias_method :force_stop?, :force_stop # The URLs of one or more instances to stop. This can be a full URL or # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @force_stop = args[:force_stop] if args.key?(:force_stop) @instances = args[:instances] if args.key?(:instances) end end # class RegionInstanceGroupManagersSuspendInstancesRequest include Google::Apis::Core::Hashable # If this flag is set to true, the Instance Group Manager will proceed to # suspend the instances, skipping initialization on them. # Corresponds to the JSON property `forceSuspend` # @return [Boolean] attr_accessor :force_suspend alias_method :force_suspend?, :force_suspend # The URLs of one or more instances to suspend. This can be a full URL or # a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @force_suspend = args[:force_suspend] if args.key?(:force_suspend) @instances = args[:instances] if args.key?(:instances) end end # class RegionInstanceGroupsListInstances include Google::Apis::Core::Hashable # Output only. [Output Only] Unique identifier for the resource; defined by the # server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of InstanceWithNamedPorts resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. The resource type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::RegionInstanceGroupsListInstances::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # Output only. [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class RegionInstanceGroupsListInstancesRequest include Google::Apis::Core::Hashable # Instances in which state should be returned. Valid options are: # 'ALL', 'RUNNING'. By default, it lists all instances. # Corresponds to the JSON property `instanceState` # @return [String] attr_accessor :instance_state # Name of port user is interested in. It is optional. If it is set, only # information about this ports will be returned. If it is not set, all the # named ports will be returned. # Always lists all instances. # Corresponds to the JSON property `portName` # @return [String] attr_accessor :port_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_state = args[:instance_state] if args.key?(:instance_state) @port_name = args[:port_name] if args.key?(:port_name) end end # class RegionInstanceGroupsSetNamedPortsRequest include Google::Apis::Core::Hashable # The fingerprint of the named ports information for this instance group. # Use this optional property to prevent conflicts when multiple users change # the named ports settings concurrently. Obtain the fingerprint with # theinstanceGroups.get # method. Then, include the fingerprint in your request to ensure that you # do not overwrite changes that were applied from another # concurrent request. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # The list of named ports to set for this instance group. # Corresponds to the JSON property `namedPorts` # @return [Array] attr_accessor :named_ports def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @named_ports = args[:named_ports] if args.key?(:named_ports) end end # Contains a list of region resources. class RegionList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Region resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#regionList for # lists of regions. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::RegionList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class RegionNetworkEndpointGroupsAttachEndpointsRequest include Google::Apis::Core::Hashable # The list of network endpoints to be attached. # Corresponds to the JSON property `networkEndpoints` # @return [Array] attr_accessor :network_endpoints def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @network_endpoints = args[:network_endpoints] if args.key?(:network_endpoints) end end # class RegionNetworkEndpointGroupsDetachEndpointsRequest include Google::Apis::Core::Hashable # The list of network endpoints to be detached. # Corresponds to the JSON property `networkEndpoints` # @return [Array] attr_accessor :network_endpoints def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @network_endpoints = args[:network_endpoints] if args.key?(:network_endpoints) end end # class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse include Google::Apis::Core::Hashable # Output only. [Output only] Effective firewalls from firewall policy. It # applies to # Regional Network Firewall Policies in the specified region, Global Network # Firewall Policies and Hierachial Firewall Policies which are associated # with the network. # Corresponds to the JSON property `firewallPolicys` # @return [Array] attr_accessor :firewall_policys # Effective firewalls on the network. # Corresponds to the JSON property `firewalls` # @return [Array] attr_accessor :firewalls def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @firewall_policys = args[:firewall_policys] if args.key?(:firewall_policys) @firewalls = args[:firewalls] if args.key?(:firewalls) end end # class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy include Google::Apis::Core::Hashable # Output only. [Output Only] The display name of the firewall policy. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # Output only. [Output Only] The name of the firewall policy. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output only] The packet mirroring rules that apply to the # network. # Corresponds to the JSON property `packetMirroringRules` # @return [Array] attr_accessor :packet_mirroring_rules # Output only. [Output only] Priority of firewall policy association. Not # applicable for # type=HIERARCHY. # Corresponds to the JSON property `priority` # @return [Fixnum] attr_accessor :priority # Output only. [Output only] The rules that apply to the network. # Corresponds to the JSON property `rules` # @return [Array] attr_accessor :rules # Output only. [Output Only] The type of the firewall policy. Can be one of # HIERARCHY, # NETWORK, NETWORK_REGIONAL, SYSTEM_GLOBAL, SYSTEM_REGIONAL. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @display_name = args[:display_name] if args.key?(:display_name) @name = args[:name] if args.key?(:name) @packet_mirroring_rules = args[:packet_mirroring_rules] if args.key?(:packet_mirroring_rules) @priority = args[:priority] if args.key?(:priority) @rules = args[:rules] if args.key?(:rules) @type = args[:type] if args.key?(:type) end end # class RegionSetLabelsRequest include Google::Apis::Core::Hashable # The fingerprint of the previous set of labels for this resource, # used to detect conflicts. 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. Make a get() request to the resource to get the latest # fingerprint. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # The labels to set for this resource. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) end end # class RegionSetPolicyRequest include Google::Apis::Core::Hashable # Flatten Policy to create a backwacd compatible wire-format. # Deprecated. Use 'policy' to specify bindings. # Corresponds to the JSON property `bindings` # @return [Array] attr_accessor :bindings # Flatten Policy to create a backward compatible wire-format. # Deprecated. Use 'policy' to specify the etag. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :etag # 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/). # Corresponds to the JSON property `policy` # @return [Google::Apis::ComputeV1::Policy] attr_accessor :policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bindings = args[:bindings] if args.key?(:bindings) @etag = args[:etag] if args.key?(:etag) @policy = args[:policy] if args.key?(:policy) end end # class RegionTargetHttpsProxiesSetSslCertificatesRequest include Google::Apis::Core::Hashable # New set of SslCertificate resources to associate # with this TargetHttpsProxy resource. # Corresponds to the JSON property `sslCertificates` # @return [Array] attr_accessor :ssl_certificates def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates) end end # class RegionUrlMapsValidateRequest include Google::Apis::Core::Hashable # 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,EXTERNAL_MANAGED, or # INTERNAL_SELF_MANAGED. To use # the regionUrlMaps resource, the backend service must have aloadBalancingScheme # of INTERNAL_MANAGED. For more # information, read URL # Map Concepts. # Corresponds to the JSON property `resource` # @return [Google::Apis::ComputeV1::UrlMap] attr_accessor :resource def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource = args[:resource] if args.key?(:resource) end end # A policy that specifies how requests intended for the route's backends # are shadowed to a separate mirrored backend service. The load balancer # doesn't wait for responses from the shadow service. Before sending traffic # to the shadow service, the host or authority header is suffixed with-shadow. class RequestMirrorPolicy include Google::Apis::Core::Hashable # The full or partial URL to the BackendService resource being # mirrored to. # The backend service configured for a mirroring # policy must reference backends that are of the same type as the original # backend service matched in the URL map. # Serverless NEG backends are not currently supported as a mirrored # backend service. # Corresponds to the JSON property `backendService` # @return [String] attr_accessor :backend_service # The percentage of requests to be mirrored to `backend_service`. # Corresponds to the JSON property `mirrorPercent` # @return [Float] attr_accessor :mirror_percent def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @backend_service = args[:backend_service] if args.key?(:backend_service) @mirror_percent = args[:mirror_percent] if args.key?(:mirror_percent) end end # Represents a reservation resource. A reservation ensures that capacity is # held in a specific zone even if the reserved VMs are not running. For more # information, read Reserving zonal # resources. class Reservation include Google::Apis::Core::Hashable # Advance control for cluster management, applicable only to DENSE deployment # type reservations. # Corresponds to the JSON property `advancedDeploymentControl` # @return [Google::Apis::ComputeV1::ReservationAdvancedDeploymentControl] attr_accessor :advanced_deployment_control # 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. # Corresponds to the JSON property `aggregateReservation` # @return [Google::Apis::ComputeV1::AllocationAggregateReservation] attr_accessor :aggregate_reservation # Output only. [Output Only] Full or partial URL to a parent commitment. This # field # displays for reservations that are tied to a commitment. # Corresponds to the JSON property `commitment` # @return [String] attr_accessor :commitment # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `deleteAfterDuration` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :delete_after_duration # Absolute time in future when the reservation will be # auto-deleted by Compute Engine. Timestamp is represented inRFC3339 text # format. # Corresponds to the JSON property `deleteAtTime` # @return [String] attr_accessor :delete_at_time # Specifies the deployment strategy for this reservation. # Corresponds to the JSON property `deploymentType` # @return [String] attr_accessor :deployment_type # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Indicates whether Compute Engine allows unplanned maintenance for your VMs; # for example, to fix hardware errors. # Corresponds to the JSON property `enableEmergentMaintenance` # @return [Boolean] attr_accessor :enable_emergent_maintenance alias_method :enable_emergent_maintenance?, :enable_emergent_maintenance # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute#reservations # for reservations. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] Full or partial URL to parent commitments. This # field # displays for reservations that are tied to multiple commitments. # Corresponds to the JSON property `linkedCommitments` # @return [Array] attr_accessor :linked_commitments # 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 # withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Protection tier for the workload which specifies the workload expectations # in the event of infrastructure failures at data center (e.g. power # and/or cooling failures). # Corresponds to the JSON property `protectionTier` # @return [String] attr_accessor :protection_tier # Specify the reservation sharing policy. If unspecified, the reservation # will not be shared with Google Cloud managed services. # Corresponds to the JSON property `reservationSharingPolicy` # @return [Google::Apis::ComputeV1::AllocationReservationSharingPolicy] attr_accessor :reservation_sharing_policy # 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. # Corresponds to the JSON property `resourcePolicies` # @return [Hash] attr_accessor :resource_policies # [Output Only] Contains output only fields. # Corresponds to the JSON property `resourceStatus` # @return [Google::Apis::ComputeV1::AllocationResourceStatus] attr_accessor :resource_status # Output only. [Output Only] Reserved for future use. # Corresponds to the JSON property `satisfiesPzs` # @return [Boolean] attr_accessor :satisfies_pzs alias_method :satisfies_pzs?, :satisfies_pzs # The type of maintenance for the reservation. # Corresponds to the JSON property `schedulingType` # @return [String] attr_accessor :scheduling_type # Output only. [Output Only] Server-defined fully-qualified URL for this # resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # The share setting for reservations and sole tenancy node groups. # Corresponds to the JSON property `shareSettings` # @return [Google::Apis::ComputeV1::ShareSettings] attr_accessor :share_settings # This reservation type allows to pre allocate specific instance # configuration. # Corresponds to the JSON property `specificReservation` # @return [Google::Apis::ComputeV1::AllocationSpecificSkuReservation] attr_accessor :specific_reservation # Indicates whether the reservation can be consumed by VMs with affinity # for "any" reservation. If the field is set, then only VMs that target # the reservation by name can consume from this reservation. # Corresponds to the JSON property `specificReservationRequired` # @return [Boolean] attr_accessor :specific_reservation_required alias_method :specific_reservation_required?, :specific_reservation_required # Output only. [Output Only] The status of the reservation. # # # - CREATING: Reservation resources are being # allocated. # - READY: Reservation resources have been allocated, # and the reservation is ready for use. # - DELETING: Reservation deletion is in progress. # - UPDATING: Reservation update is in progress. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Zone in which the reservation resides. A zone must be provided if the # reservation is created within a commitment. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @advanced_deployment_control = args[:advanced_deployment_control] if args.key?(:advanced_deployment_control) @aggregate_reservation = args[:aggregate_reservation] if args.key?(:aggregate_reservation) @commitment = args[:commitment] if args.key?(:commitment) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @delete_after_duration = args[:delete_after_duration] if args.key?(:delete_after_duration) @delete_at_time = args[:delete_at_time] if args.key?(:delete_at_time) @deployment_type = args[:deployment_type] if args.key?(:deployment_type) @description = args[:description] if args.key?(:description) @enable_emergent_maintenance = args[:enable_emergent_maintenance] if args.key?(:enable_emergent_maintenance) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @linked_commitments = args[:linked_commitments] if args.key?(:linked_commitments) @name = args[:name] if args.key?(:name) @protection_tier = args[:protection_tier] if args.key?(:protection_tier) @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) @resource_status = args[:resource_status] if args.key?(:resource_status) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type) @self_link = args[:self_link] if args.key?(:self_link) @share_settings = args[:share_settings] if args.key?(:share_settings) @specific_reservation = args[:specific_reservation] if args.key?(:specific_reservation) @specific_reservation_required = args[:specific_reservation_required] if args.key?(:specific_reservation_required) @status = args[:status] if args.key?(:status) @zone = args[:zone] if args.key?(:zone) end end # Advance control for cluster management, applicable only to DENSE deployment # type reservations. class ReservationAdvancedDeploymentControl include Google::Apis::Core::Hashable # Indicates chosen reservation operational mode for the reservation. # Corresponds to the JSON property `reservationOperationalMode` # @return [String] attr_accessor :reservation_operational_mode def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @reservation_operational_mode = args[:reservation_operational_mode] if args.key?(:reservation_operational_mode) end end # Specifies the reservations that this instance can consume from. class ReservationAffinity include Google::Apis::Core::Hashable # Specifies the type of reservation from which this instance can consume # resources: ANY_RESERVATION (default),SPECIFIC_RESERVATION, or NO_RESERVATION. # See # Consuming reserved instances for examples. # Corresponds to the JSON property `consumeReservationType` # @return [String] attr_accessor :consume_reservation_type # Corresponds to the label key of a reservation resource. To target # aSPECIFIC_RESERVATION by name, specifygoogleapis.com/reservation-name as the # key and specify # the name of your reservation as its value. # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # Corresponds to the label values of a reservation resource. This can be # either a name to a reservation in the same project or # "projects/different-project/reservations/some-reservation-name" to target a # shared reservation in the same zone but in a different project. # Corresponds to the JSON property `values` # @return [Array] attr_accessor :values def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @consume_reservation_type = args[:consume_reservation_type] if args.key?(:consume_reservation_type) @key = args[:key] if args.key?(:key) @values = args[:values] if args.key?(:values) end end # Contains a list of reservations. class ReservationAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Allocation resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ReservationAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents a reservation block resource. class ReservationBlock include Google::Apis::Core::Hashable # Output only. [Output Only] The number of resources that are allocated in this # reservation block. # Corresponds to the JSON property `count` # @return [Fixnum] attr_accessor :count # Output only. [Output Only] Creation timestamp inRFC3339 text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Health information for the reservation block. # Corresponds to the JSON property `healthInfo` # @return [Google::Apis::ComputeV1::ReservationBlockHealthInfo] attr_accessor :health_info # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] The number of instances that are currently in use # on this # reservation block. # Corresponds to the JSON property `inUseCount` # @return [Fixnum] attr_accessor :in_use_count # Output only. Number of hosts currently in use. If there is one or more # Instances running # on the host, it is considered in use. # Corresponds to the JSON property `inUseHostCount` # @return [Fixnum] attr_accessor :in_use_host_count # Output only. [Output Only] Type of the resource. Alwayscompute# # reservationBlock for reservation blocks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] The name of this reservation block generated by # Google # Compute Engine. The name must be 1-63 characters long, and comply with # RFC1035 @pattern [a-z](?:[-a-z0-9]`0,61`[a-z0-9])? # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] The physical topology of the reservation block. # Corresponds to the JSON property `physicalTopology` # @return [Google::Apis::ComputeV1::ReservationBlockPhysicalTopology] attr_accessor :physical_topology # Maintenance Info for ReservationBlocks. # Corresponds to the JSON property `reservationMaintenance` # @return [Google::Apis::ComputeV1::GroupMaintenanceInfo] attr_accessor :reservation_maintenance # Output only. [Output Only] The number of reservation subBlocks associated with # this # reservation block. # Corresponds to the JSON property `reservationSubBlockCount` # @return [Fixnum] attr_accessor :reservation_sub_block_count # Output only. [Output Only] The number of in-use reservation subBlocks # associated with # this reservation block. If at least one VM is running on a subBlock, it is # considered in-use. # Corresponds to the JSON property `reservationSubBlockInUseCount` # @return [Fixnum] attr_accessor :reservation_sub_block_in_use_count # Output only. [Output Only] Server-defined fully-qualified URL for this # resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Server-defined URL for this resource with the # resource id. # Corresponds to the JSON property `selfLinkWithId` # @return [String] attr_accessor :self_link_with_id # Output only. [Output Only] Status of the reservation block. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Output only. [Output Only] Zone in which the reservation block resides. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @count = args[:count] if args.key?(:count) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @health_info = args[:health_info] if args.key?(:health_info) @id = args[:id] if args.key?(:id) @in_use_count = args[:in_use_count] if args.key?(:in_use_count) @in_use_host_count = args[:in_use_host_count] if args.key?(:in_use_host_count) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @physical_topology = args[:physical_topology] if args.key?(:physical_topology) @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance) @reservation_sub_block_count = args[:reservation_sub_block_count] if args.key?(:reservation_sub_block_count) @reservation_sub_block_in_use_count = args[:reservation_sub_block_in_use_count] if args.key?(:reservation_sub_block_in_use_count) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @status = args[:status] if args.key?(:status) @zone = args[:zone] if args.key?(:zone) end end # Health information for the reservation block. class ReservationBlockHealthInfo include Google::Apis::Core::Hashable # The number of subBlocks that are degraded. # Corresponds to the JSON property `degradedSubBlockCount` # @return [Fixnum] attr_accessor :degraded_sub_block_count # The health status of the reservation block. # Corresponds to the JSON property `healthStatus` # @return [String] attr_accessor :health_status # The number of subBlocks that are healthy. # Corresponds to the JSON property `healthySubBlockCount` # @return [Fixnum] attr_accessor :healthy_sub_block_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @degraded_sub_block_count = args[:degraded_sub_block_count] if args.key?(:degraded_sub_block_count) @health_status = args[:health_status] if args.key?(:health_status) @healthy_sub_block_count = args[:healthy_sub_block_count] if args.key?(:healthy_sub_block_count) end end # class ReservationBlockPhysicalTopology include Google::Apis::Core::Hashable # The hash of the capacity block within the cluster. # Corresponds to the JSON property `block` # @return [String] attr_accessor :block # The cluster name of the reservation block. # Corresponds to the JSON property `cluster` # @return [String] attr_accessor :cluster # Output only. The detailed instances information for a given Block # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @block = args[:block] if args.key?(:block) @cluster = args[:cluster] if args.key?(:cluster) @instances = args[:instances] if args.key?(:instances) end end # The instances information for a given Block class ReservationBlockPhysicalTopologyInstance include Google::Apis::Core::Hashable # The InstanceId of the instance # Corresponds to the JSON property `instanceId` # @return [Fixnum] attr_accessor :instance_id # The PhysicalHostTopology of the instance within a Block resource. # Corresponds to the JSON property `physicalHostTopology` # @return [Google::Apis::ComputeV1::ReservationBlockPhysicalTopologyInstancePhysicalHostTopology] attr_accessor :physical_host_topology # Project where the instance lives # Corresponds to the JSON property `projectId` # @return [Fixnum] attr_accessor :project_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_id = args[:instance_id] if args.key?(:instance_id) @physical_host_topology = args[:physical_host_topology] if args.key?(:physical_host_topology) @project_id = args[:project_id] if args.key?(:project_id) end end # The PhysicalHostTopology of the instance within a Block resource. class ReservationBlockPhysicalTopologyInstancePhysicalHostTopology include Google::Apis::Core::Hashable # Host hash for a given instance # Corresponds to the JSON property `host` # @return [String] attr_accessor :host # Sub block hash for a given instance # Corresponds to the JSON property `subBlock` # @return [String] attr_accessor :sub_block def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @host = args[:host] if args.key?(:host) @sub_block = args[:sub_block] if args.key?(:sub_block) end end # class ReservationBlocksGetResponse include Google::Apis::Core::Hashable # Represents a reservation block resource. # Corresponds to the JSON property `resource` # @return [Google::Apis::ComputeV1::ReservationBlock] attr_accessor :resource def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource = args[:resource] if args.key?(:resource) end end # A list of reservation blocks under a single reservation. class ReservationBlocksListResponse include Google::Apis::Core::Hashable # Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of reservation block resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Type of the resource. Alwayscompute#reservationBlock for a list of reservation # blocks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ReservationBlocksListResponse::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class ReservationList include Google::Apis::Core::Hashable # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # [Output Only] A list of Allocation resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource.Always compute#reservationsList # for listsof reservations # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ReservationList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents a reservation slot resource. class ReservationSlot include Google::Apis::Core::Hashable # Output only. [Output Only] The creation timestamp, formatted asRFC3339 text. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Output only. [Output Only] The unique identifier for this resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] The type of resource. Alwayscompute#reservationSlot # for reservation slots. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] The name of the reservation slot. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] The physical topology of the reservation slot. # Corresponds to the JSON property `physicalTopology` # @return [Google::Apis::ComputeV1::ReservationSlotPhysicalTopology] attr_accessor :physical_topology # Output only. [Output Only] A server-defined fully-qualified URL for this # resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] A server-defined URL for this resource with the # resource ID. # Corresponds to the JSON property `selfLinkWithId` # @return [String] attr_accessor :self_link_with_id # The share setting for reservations and sole tenancy node groups. # Corresponds to the JSON property `shareSettings` # @return [Google::Apis::ComputeV1::ShareSettings] attr_accessor :share_settings # Output only. [Output Only] The state of the reservation slot. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Output only. [Output Only] The status of the reservation slot. # Corresponds to the JSON property `status` # @return [Google::Apis::ComputeV1::ReservationSlotStatus] attr_accessor :status # Output only. [Output Only] The zone in which the reservation slot resides. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @physical_topology = args[:physical_topology] if args.key?(:physical_topology) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @share_settings = args[:share_settings] if args.key?(:share_settings) @state = args[:state] if args.key?(:state) @status = args[:status] if args.key?(:status) @zone = args[:zone] if args.key?(:zone) end end # class ReservationSlotPhysicalTopology include Google::Apis::Core::Hashable # The unique identifier of the capacity block within the cluster. # Corresponds to the JSON property `block` # @return [String] attr_accessor :block # The cluster name of the reservation sub-block. # Corresponds to the JSON property `cluster` # @return [String] attr_accessor :cluster # The unique identifier of the capacity host within the capacity sub-block. # Corresponds to the JSON property `host` # @return [String] attr_accessor :host # The unique identifier of the capacity sub-block within the capacity # block. # Corresponds to the JSON property `subBlock` # @return [String] attr_accessor :sub_block def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @block = args[:block] if args.key?(:block) @cluster = args[:cluster] if args.key?(:cluster) @host = args[:host] if args.key?(:host) @sub_block = args[:sub_block] if args.key?(:sub_block) end end # class ReservationSlotStatus include Google::Apis::Core::Hashable # Output only. [Output Only] The physical topology of the reservation sub-block. # Corresponds to the JSON property `physicalTopology` # @return [Google::Apis::ComputeV1::ReservationSlotPhysicalTopology] attr_accessor :physical_topology # Output only. The RDMA IP address of the physical host. # Corresponds to the JSON property `rdmaIpAddresses` # @return [Array] attr_accessor :rdma_ip_addresses # Output only. The URIs of the instances currently running on this slot. # Corresponds to the JSON property `runningInstances` # @return [Array] attr_accessor :running_instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @physical_topology = args[:physical_topology] if args.key?(:physical_topology) @rdma_ip_addresses = args[:rdma_ip_addresses] if args.key?(:rdma_ip_addresses) @running_instances = args[:running_instances] if args.key?(:running_instances) end end # class ReservationSlotsGetResponse include Google::Apis::Core::Hashable # Represents a reservation slot resource. # Corresponds to the JSON property `resource` # @return [Google::Apis::ComputeV1::ReservationSlot] attr_accessor :resource def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource = args[:resource] if args.key?(:resource) end end # A list of reservation slots within a single reservation. class ReservationSlotsListResponse include Google::Apis::Core::Hashable # The unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of reservation slot resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The type of resource. Alwayscompute#reservationSlot for a list of reservation # slots. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # The server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # An informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ReservationSlotsListResponse::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # An informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents a reservation subBlock resource. class ReservationSubBlock include Google::Apis::Core::Hashable # Info for accelerator topologies within a densely packed reservation. # Corresponds to the JSON property `acceleratorTopologiesInfo` # @return [Google::Apis::ComputeV1::AcceleratorTopologiesInfo] attr_accessor :accelerator_topologies_info # Output only. [Output Only] The number of hosts that are allocated in this # reservation subBlock. # Corresponds to the JSON property `count` # @return [Fixnum] attr_accessor :count # Output only. [Output Only] Creation timestamp inRFC3339 text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Health information for the reservation subBlock. # Corresponds to the JSON property `healthInfo` # @return [Google::Apis::ComputeV1::ReservationSubBlockHealthInfo] attr_accessor :health_info # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] The number of instances that are currently in use # on this # reservation subBlock. # Corresponds to the JSON property `inUseCount` # @return [Fixnum] attr_accessor :in_use_count # Output only. Number of hosts currently in use. If there is one or more # Instances running # on the host, it is considered in use. # Corresponds to the JSON property `inUseHostCount` # @return [Fixnum] attr_accessor :in_use_host_count # Output only. [Output Only] Type of the resource. Alwayscompute# # reservationSubBlock for reservation subBlocks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] The name of this reservation subBlock generated by # Google # Compute Engine. The name must be 1-63 characters long, and comply with # RFC1035 @pattern [a-z](?:[-a-z0-9]`0,61`[a-z0-9])? # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] The physical topology of the reservation subBlock. # Corresponds to the JSON property `physicalTopology` # @return [Google::Apis::ComputeV1::ReservationSubBlockPhysicalTopology] attr_accessor :physical_topology # Maintenance Info for ReservationBlocks. # Corresponds to the JSON property `reservationSubBlockMaintenance` # @return [Google::Apis::ComputeV1::GroupMaintenanceInfo] attr_accessor :reservation_sub_block_maintenance # Output only. [Output Only] Server-defined fully-qualified URL for this # resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Server-defined URL for this resource with the # resource id. # Corresponds to the JSON property `selfLinkWithId` # @return [String] attr_accessor :self_link_with_id # Output only. [Output Only] Status of the reservation subBlock. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Output only. [Output Only] Zone in which the reservation subBlock resides. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @accelerator_topologies_info = args[:accelerator_topologies_info] if args.key?(:accelerator_topologies_info) @count = args[:count] if args.key?(:count) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @health_info = args[:health_info] if args.key?(:health_info) @id = args[:id] if args.key?(:id) @in_use_count = args[:in_use_count] if args.key?(:in_use_count) @in_use_host_count = args[:in_use_host_count] if args.key?(:in_use_host_count) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @physical_topology = args[:physical_topology] if args.key?(:physical_topology) @reservation_sub_block_maintenance = args[:reservation_sub_block_maintenance] if args.key?(:reservation_sub_block_maintenance) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @status = args[:status] if args.key?(:status) @zone = args[:zone] if args.key?(:zone) end end # Health information for the reservation subBlock. class ReservationSubBlockHealthInfo include Google::Apis::Core::Hashable # The number of degraded hosts in the reservation subBlock. # Corresponds to the JSON property `degradedHostCount` # @return [Fixnum] attr_accessor :degraded_host_count # The number of degraded infrastructure (e.g NV link domain) in the # reservation subblock. # Corresponds to the JSON property `degradedInfraCount` # @return [Fixnum] attr_accessor :degraded_infra_count # The health status of the reservation subBlock. # Corresponds to the JSON property `healthStatus` # @return [String] attr_accessor :health_status # The number of healthy hosts in the reservation subBlock. # Corresponds to the JSON property `healthyHostCount` # @return [Fixnum] attr_accessor :healthy_host_count # The number of healthy infrastructure (e.g NV link domain) in the # reservation subblock. # Corresponds to the JSON property `healthyInfraCount` # @return [Fixnum] attr_accessor :healthy_infra_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @degraded_host_count = args[:degraded_host_count] if args.key?(:degraded_host_count) @degraded_infra_count = args[:degraded_infra_count] if args.key?(:degraded_infra_count) @health_status = args[:health_status] if args.key?(:health_status) @healthy_host_count = args[:healthy_host_count] if args.key?(:healthy_host_count) @healthy_infra_count = args[:healthy_infra_count] if args.key?(:healthy_infra_count) end end # class ReservationSubBlockPhysicalTopology include Google::Apis::Core::Hashable # The hash of the capacity block within the cluster. # Corresponds to the JSON property `block` # @return [String] attr_accessor :block # The cluster name of the reservation subBlock. # Corresponds to the JSON property `cluster` # @return [String] attr_accessor :cluster # The hash of the capacity sub-block within the capacity block. # Corresponds to the JSON property `subBlock` # @return [String] attr_accessor :sub_block def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @block = args[:block] if args.key?(:block) @cluster = args[:cluster] if args.key?(:cluster) @sub_block = args[:sub_block] if args.key?(:sub_block) end end # class ReservationSubBlocksGetResponse include Google::Apis::Core::Hashable # Represents a reservation subBlock resource. # Corresponds to the JSON property `resource` # @return [Google::Apis::ComputeV1::ReservationSubBlock] attr_accessor :resource def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource = args[:resource] if args.key?(:resource) end end # A list of reservation subBlocks under a single reservation. class ReservationSubBlocksListResponse include Google::Apis::Core::Hashable # Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of reservation subBlock resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Type of the resource. Alwayscompute#reservationSubBlock for a list of # reservation # subBlocks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ReservationSubBlocksListResponse::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class ReservationSubBlocksReportFaultyRequest include Google::Apis::Core::Hashable # The disruption schedule for the subBlock. # Corresponds to the JSON property `disruptionSchedule` # @return [String] attr_accessor :disruption_schedule # The component that experienced the fault. # Corresponds to the JSON property `failureComponent` # @return [String] attr_accessor :failure_component # The reasons for the fault experienced with the subBlock. # Corresponds to the JSON property `faultReasons` # @return [Array] attr_accessor :fault_reasons def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disruption_schedule = args[:disruption_schedule] if args.key?(:disruption_schedule) @failure_component = args[:failure_component] if args.key?(:failure_component) @fault_reasons = args[:fault_reasons] if args.key?(:fault_reasons) end end # The reason for the fault experienced with the subBlock. class ReservationSubBlocksReportFaultyRequestFaultReason include Google::Apis::Core::Hashable # The behavior of the fault experienced with the subBlock. # Corresponds to the JSON property `behavior` # @return [String] attr_accessor :behavior # The description of the fault experienced with the subBlock. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @behavior = args[:behavior] if args.key?(:behavior) @description = args[:description] if args.key?(:description) end end # class ReservationsBlocksPerformMaintenanceRequest include Google::Apis::Core::Hashable # Specifies if all, running or unused hosts are in scope for this request. # Corresponds to the JSON property `maintenanceScope` # @return [String] attr_accessor :maintenance_scope def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @maintenance_scope = args[:maintenance_scope] if args.key?(:maintenance_scope) end end # class ReservationsPerformMaintenanceRequest include Google::Apis::Core::Hashable # Specifies if all, running or unused hosts are in scope for this request. # Corresponds to the JSON property `maintenanceScope` # @return [String] attr_accessor :maintenance_scope def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @maintenance_scope = args[:maintenance_scope] if args.key?(:maintenance_scope) end end # class ReservationsResizeRequest include Google::Apis::Core::Hashable # Number of allocated resources can be resized with minimum = 1 and # maximum = 1000. # Corresponds to the JSON property `specificSkuCount` # @return [Fixnum] attr_accessor :specific_sku_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @specific_sku_count = args[:specific_sku_count] if args.key?(:specific_sku_count) end end # class ReservationsScopedList include Google::Apis::Core::Hashable # A list of reservations contained in this scope. # Corresponds to the JSON property `reservations` # @return [Array] attr_accessor :reservations # Informational warning which replaces the list of reservations when # the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ReservationsScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @reservations = args[:reservations] if args.key?(:reservations) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of reservations when # the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Commitment for a particular hardware resource (a commitment is composed of # one or more of these). class ResourceCommitment include Google::Apis::Core::Hashable # Name of the accelerator type or GPU resource. Specify this field only when # the type of hardware resource is ACCELERATOR. # Corresponds to the JSON property `acceleratorType` # @return [String] attr_accessor :accelerator_type # The quantity of the hardware resource that you want to commit to purchasing # (in a type-dependent unit). # # - For vCPUs, you must specify an integer value. # - For memory, you specify the amount of MB that you want. The value you # specify must be a multiple of 256 MB, with up to 6.5 GB of # memory per every vCPU. # - For GPUs, you must specify an integer value. # - For Local SSD disks, you must specify the amount in GB. The size of a # single Local SSD disk is 375 GB. # Corresponds to the JSON property `amount` # @return [Fixnum] attr_accessor :amount # The type of hardware resource that you want to specify. # You can specify any of the following values: # # - VCPU # - MEMORY # - LOCAL_SSD # - ACCELERATOR # Specify as a separate entry in the list for each # individual resource type. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @accelerator_type = args[:accelerator_type] if args.key?(:accelerator_type) @amount = args[:amount] if args.key?(:amount) @type = args[:type] if args.key?(:type) end end # class ResourceGroupReference include Google::Apis::Core::Hashable # A URI referencing one of the instance groups or network endpoint groups # listed in the backend service. # Corresponds to the JSON property `group` # @return [String] attr_accessor :group def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @group = args[:group] if args.key?(:group) end end # class ResourcePoliciesScopedList include Google::Apis::Core::Hashable # A list of resourcePolicies contained in this scope. # Corresponds to the JSON property `resourcePolicies` # @return [Array] attr_accessor :resource_policies # Informational warning which replaces the list of resourcePolicies when # the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ResourcePoliciesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of resourcePolicies when # the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents a Resource Policy resource. You can use resource policies to # schedule actions for some Compute Engine resources. For example, you can # use them toschedule persistent disk # snapshots. class ResourcePolicy include Google::Apis::Core::Hashable # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Resource policy for disk consistency groups. # Corresponds to the JSON property `diskConsistencyGroupPolicy` # @return [Google::Apis::ComputeV1::ResourcePolicyDiskConsistencyGroupPolicy] attr_accessor :disk_consistency_group_policy # A GroupPlacementPolicy specifies resource placement configuration. # It specifies the failure bucket separation # Corresponds to the JSON property `groupPlacementPolicy` # @return [Google::Apis::ComputeV1::ResourcePolicyGroupPlacementPolicy] attr_accessor :group_placement_policy # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # An InstanceSchedulePolicy specifies when and how frequent certain # operations are performed on the instance. # Corresponds to the JSON property `instanceSchedulePolicy` # @return [Google::Apis::ComputeV1::ResourcePolicyInstanceSchedulePolicy] attr_accessor :instance_schedule_policy # Output only. [Output Only] Type of the resource. Alwayscompute# # resource_policies for resource policies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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 # withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Contains output only fields. # Use this sub-message for all output fields set on ResourcePolicy. # The internal structure of this "status" field should mimic the structure # of ResourcePolicy proto specification. # Corresponds to the JSON property `resourceStatus` # @return [Google::Apis::ComputeV1::ResourcePolicyResourceStatus] attr_accessor :resource_status # Output only. [Output Only] Server-defined fully-qualified URL for this # resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # A snapshot schedule policy specifies when and how frequently snapshots are # to be created for the target disk. Also specifies how many and how long # these scheduled snapshots should be retained. # Corresponds to the JSON property `snapshotSchedulePolicy` # @return [Google::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicy] attr_accessor :snapshot_schedule_policy # Output only. [Output Only] The status of resource policy creation. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Represents the workload policy. # Corresponds to the JSON property `workloadPolicy` # @return [Google::Apis::ComputeV1::ResourcePolicyWorkloadPolicy] attr_accessor :workload_policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @disk_consistency_group_policy = args[:disk_consistency_group_policy] if args.key?(:disk_consistency_group_policy) @group_placement_policy = args[:group_placement_policy] if args.key?(:group_placement_policy) @id = args[:id] if args.key?(:id) @instance_schedule_policy = args[:instance_schedule_policy] if args.key?(:instance_schedule_policy) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @region = args[:region] if args.key?(:region) @resource_status = args[:resource_status] if args.key?(:resource_status) @self_link = args[:self_link] if args.key?(:self_link) @snapshot_schedule_policy = args[:snapshot_schedule_policy] if args.key?(:snapshot_schedule_policy) @status = args[:status] if args.key?(:status) @workload_policy = args[:workload_policy] if args.key?(:workload_policy) end end # Contains a list of resourcePolicies. class ResourcePolicyAggregatedList include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of ResourcePolicy resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ResourcePolicyAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Time window specified for daily operations. class ResourcePolicyDailyCycle include Google::Apis::Core::Hashable # Defines a schedule with units measured in days. The value determines # how many days pass between the start of each cycle. # Corresponds to the JSON property `daysInCycle` # @return [Fixnum] attr_accessor :days_in_cycle # Output only. [Output only] A predetermined duration for the window, # automatically # chosen to be the smallest possible in the given scenario. # Corresponds to the JSON property `duration` # @return [String] attr_accessor :duration # Start time of the window. This must be in UTC format that resolves to one # of 00:00, 04:00, 08:00,12:00, 16:00, or 20:00. For # example, both 13:00-5 and 08:00 are valid. # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @days_in_cycle = args[:days_in_cycle] if args.key?(:days_in_cycle) @duration = args[:duration] if args.key?(:duration) @start_time = args[:start_time] if args.key?(:start_time) end end # Resource policy for disk consistency groups. class ResourcePolicyDiskConsistencyGroupPolicy include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # A GroupPlacementPolicy specifies resource placement configuration. # It specifies the failure bucket separation class ResourcePolicyGroupPlacementPolicy include Google::Apis::Core::Hashable # Specifies the connection mode for the accelerator topology. If not # specified, the default is AUTO_CONNECT. # Corresponds to the JSON property `acceleratorTopologyMode` # @return [String] attr_accessor :accelerator_topology_mode # The number of availability domains to spread instances across. If two # instances are in different availability domain, they are not in the same # low latency network. # Corresponds to the JSON property `availabilityDomainCount` # @return [Fixnum] attr_accessor :availability_domain_count # Specifies network collocation # Corresponds to the JSON property `collocation` # @return [String] attr_accessor :collocation # Specifies the shape of the GPU slice, in slice based GPU families eg. # A4X. # Corresponds to the JSON property `gpuTopology` # @return [String] attr_accessor :gpu_topology # Number of VMs in this placement group. Google does not recommend that you # use this field unless you use a compact policy and you want your policy # to work only if it contains this exact number of VMs. # Corresponds to the JSON property `vmCount` # @return [Fixnum] attr_accessor :vm_count def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @accelerator_topology_mode = args[:accelerator_topology_mode] if args.key?(:accelerator_topology_mode) @availability_domain_count = args[:availability_domain_count] if args.key?(:availability_domain_count) @collocation = args[:collocation] if args.key?(:collocation) @gpu_topology = args[:gpu_topology] if args.key?(:gpu_topology) @vm_count = args[:vm_count] if args.key?(:vm_count) end end # Time window specified for hourly operations. class ResourcePolicyHourlyCycle include Google::Apis::Core::Hashable # Output only. [Output only] Duration of the time window, automatically chosen # to be # smallest possible in the given scenario. # Corresponds to the JSON property `duration` # @return [String] attr_accessor :duration # Defines a schedule with units measured in hours. The value determines # how many hours pass between the start of each cycle. # Corresponds to the JSON property `hoursInCycle` # @return [Fixnum] attr_accessor :hours_in_cycle # Time within the window to start the operations. # It must be in format "HH:MM", where HH : [00-23] and MM : [00-00] GMT. # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @duration = args[:duration] if args.key?(:duration) @hours_in_cycle = args[:hours_in_cycle] if args.key?(:hours_in_cycle) @start_time = args[:start_time] if args.key?(:start_time) end end # An InstanceSchedulePolicy specifies when and how frequent certain # operations are performed on the instance. class ResourcePolicyInstanceSchedulePolicy include Google::Apis::Core::Hashable # The expiration time of the schedule. The timestamp is an RFC3339 string. # Corresponds to the JSON property `expirationTime` # @return [String] attr_accessor :expiration_time # The start time of the schedule. The timestamp is an RFC3339 string. # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time # 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. # Corresponds to the JSON property `timeZone` # @return [String] attr_accessor :time_zone # Schedule for an instance operation. # Corresponds to the JSON property `vmStartSchedule` # @return [Google::Apis::ComputeV1::ResourcePolicyInstanceSchedulePolicySchedule] attr_accessor :vm_start_schedule # Schedule for an instance operation. # Corresponds to the JSON property `vmStopSchedule` # @return [Google::Apis::ComputeV1::ResourcePolicyInstanceSchedulePolicySchedule] attr_accessor :vm_stop_schedule def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @expiration_time = args[:expiration_time] if args.key?(:expiration_time) @start_time = args[:start_time] if args.key?(:start_time) @time_zone = args[:time_zone] if args.key?(:time_zone) @vm_start_schedule = args[:vm_start_schedule] if args.key?(:vm_start_schedule) @vm_stop_schedule = args[:vm_stop_schedule] if args.key?(:vm_stop_schedule) end end # Schedule for an instance operation. class ResourcePolicyInstanceSchedulePolicySchedule include Google::Apis::Core::Hashable # Specifies the frequency for the operation, using the unix-cron format. # Corresponds to the JSON property `schedule` # @return [String] attr_accessor :schedule def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @schedule = args[:schedule] if args.key?(:schedule) end end # class ResourcePolicyList include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # [Output Only] A list of ResourcePolicy resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource.Alwayscompute#resourcePoliciesList # for listsof resourcePolicies # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ResourcePolicyList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains output only fields. # Use this sub-message for all output fields set on ResourcePolicy. # The internal structure of this "status" field should mimic the structure # of ResourcePolicy proto specification. class ResourcePolicyResourceStatus include Google::Apis::Core::Hashable # Output only. [Output Only] Specifies a set of output values reffering to # the instance_schedule_policy system status. # This field should have the same name as corresponding policy field. # Corresponds to the JSON property `instanceSchedulePolicy` # @return [Google::Apis::ComputeV1::ResourcePolicyResourceStatusInstanceSchedulePolicyStatus] attr_accessor :instance_schedule_policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_schedule_policy = args[:instance_schedule_policy] if args.key?(:instance_schedule_policy) end end # class ResourcePolicyResourceStatusInstanceSchedulePolicyStatus include Google::Apis::Core::Hashable # Output only. [Output Only] The last time the schedule successfully ran. # The timestamp is an RFC3339 string. # Corresponds to the JSON property `lastRunStartTime` # @return [String] attr_accessor :last_run_start_time # Output only. [Output Only] The next time the schedule is planned to run. # The actual time might be slightly different. # The timestamp is an RFC3339 string. # Corresponds to the JSON property `nextRunStartTime` # @return [String] attr_accessor :next_run_start_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @last_run_start_time = args[:last_run_start_time] if args.key?(:last_run_start_time) @next_run_start_time = args[:next_run_start_time] if args.key?(:next_run_start_time) end end # A snapshot schedule policy specifies when and how frequently snapshots are # to be created for the target disk. Also specifies how many and how long # these scheduled snapshots should be retained. class ResourcePolicySnapshotSchedulePolicy include Google::Apis::Core::Hashable # Policy for retention of scheduled snapshots. # Corresponds to the JSON property `retentionPolicy` # @return [Google::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicyRetentionPolicy] attr_accessor :retention_policy # A schedule for disks where the schedueled operations are performed. # Corresponds to the JSON property `schedule` # @return [Google::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicySchedule] attr_accessor :schedule # Specified snapshot properties for scheduled snapshots created by this # policy. # Corresponds to the JSON property `snapshotProperties` # @return [Google::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicySnapshotProperties] attr_accessor :snapshot_properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @retention_policy = args[:retention_policy] if args.key?(:retention_policy) @schedule = args[:schedule] if args.key?(:schedule) @snapshot_properties = args[:snapshot_properties] if args.key?(:snapshot_properties) end end # Policy for retention of scheduled snapshots. class ResourcePolicySnapshotSchedulePolicyRetentionPolicy include Google::Apis::Core::Hashable # Maximum age of the snapshot that is allowed to be kept. # Corresponds to the JSON property `maxRetentionDays` # @return [Fixnum] attr_accessor :max_retention_days # Specifies the behavior to apply to scheduled snapshots when # the source disk is deleted. # Corresponds to the JSON property `onSourceDiskDelete` # @return [String] attr_accessor :on_source_disk_delete def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @max_retention_days = args[:max_retention_days] if args.key?(:max_retention_days) @on_source_disk_delete = args[:on_source_disk_delete] if args.key?(:on_source_disk_delete) end end # A schedule for disks where the schedueled operations are performed. class ResourcePolicySnapshotSchedulePolicySchedule include Google::Apis::Core::Hashable # Time window specified for daily operations. # Corresponds to the JSON property `dailySchedule` # @return [Google::Apis::ComputeV1::ResourcePolicyDailyCycle] attr_accessor :daily_schedule # Time window specified for hourly operations. # Corresponds to the JSON property `hourlySchedule` # @return [Google::Apis::ComputeV1::ResourcePolicyHourlyCycle] attr_accessor :hourly_schedule # Time window specified for weekly operations. # Corresponds to the JSON property `weeklySchedule` # @return [Google::Apis::ComputeV1::ResourcePolicyWeeklyCycle] attr_accessor :weekly_schedule def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @daily_schedule = args[:daily_schedule] if args.key?(:daily_schedule) @hourly_schedule = args[:hourly_schedule] if args.key?(:hourly_schedule) @weekly_schedule = args[:weekly_schedule] if args.key?(:weekly_schedule) end end # Specified snapshot properties for scheduled snapshots created by this # policy. class ResourcePolicySnapshotSchedulePolicySnapshotProperties include Google::Apis::Core::Hashable # Chain name that the snapshot is created in. # Corresponds to the JSON property `chainName` # @return [String] attr_accessor :chain_name # Indication to perform a 'guest aware' snapshot. # Corresponds to the JSON property `guestFlush` # @return [Boolean] attr_accessor :guest_flush alias_method :guest_flush?, :guest_flush # Labels to apply to scheduled snapshots. These can be later modified # by the setLabels method. Label values may be empty. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Cloud Storage bucket storage location of the auto snapshot (regional or # multi-regional). # Corresponds to the JSON property `storageLocations` # @return [Array] attr_accessor :storage_locations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @chain_name = args[:chain_name] if args.key?(:chain_name) @guest_flush = args[:guest_flush] if args.key?(:guest_flush) @labels = args[:labels] if args.key?(:labels) @storage_locations = args[:storage_locations] if args.key?(:storage_locations) end end # Time window specified for weekly operations. class ResourcePolicyWeeklyCycle include Google::Apis::Core::Hashable # Up to 7 intervals/windows, one for each day of the week. # Corresponds to the JSON property `dayOfWeeks` # @return [Array] attr_accessor :day_of_weeks def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @day_of_weeks = args[:day_of_weeks] if args.key?(:day_of_weeks) end end # class ResourcePolicyWeeklyCycleDayOfWeek include Google::Apis::Core::Hashable # Defines a schedule that runs on specific days of the week. Specify # one or more days. The following options are available: # MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY. # Corresponds to the JSON property `day` # @return [String] attr_accessor :day # Output only. [Output only] Duration of the time window, automatically chosen # to be # smallest possible in the given scenario. # Corresponds to the JSON property `duration` # @return [String] attr_accessor :duration # Time within the window to start the operations. # It must be in format "HH:MM", where HH : [00-23] and MM : [00-00] GMT. # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @day = args[:day] if args.key?(:day) @duration = args[:duration] if args.key?(:duration) @start_time = args[:start_time] if args.key?(:start_time) end end # Represents the workload policy. class ResourcePolicyWorkloadPolicy include Google::Apis::Core::Hashable # Specifies the topology required to create a partition for VMs that have # interconnected GPUs. # Corresponds to the JSON property `acceleratorTopology` # @return [String] attr_accessor :accelerator_topology # Specifies the maximum distance between instances. # Corresponds to the JSON property `maxTopologyDistance` # @return [String] attr_accessor :max_topology_distance # Specifies the intent of the instance placement in the MIG. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @accelerator_topology = args[:accelerator_topology] if args.key?(:accelerator_topology) @max_topology_distance = args[:max_topology_distance] if args.key?(:max_topology_distance) @type = args[:type] if args.key?(:type) end end # Contains output only fields. # Use this sub-message for actual values set on Instance attributes as compared # to the value requested by the user (intent) in their instance CRUD calls. class ResourceStatus include Google::Apis::Core::Hashable # Effective values of predefined metadata keys for an instance. # Corresponds to the JSON property `effectiveInstanceMetadata` # @return [Google::Apis::ComputeV1::ResourceStatusEffectiveInstanceMetadata] attr_accessor :effective_instance_metadata # Output only. [Output Only] The precise location of your instance within the # zone's data # center, including the block, sub-block, and host. The field is formatted as # follows: blockId/subBlockId/hostId. # Corresponds to the JSON property `physicalHost` # @return [String] attr_accessor :physical_host # Represents the physical host topology of the host on which the VM is # running. # Corresponds to the JSON property `physicalHostTopology` # @return [Google::Apis::ComputeV1::ResourceStatusPhysicalHostTopology] attr_accessor :physical_host_topology # Reservation consumption information that the instance is consuming from. # Corresponds to the JSON property `reservationConsumptionInfo` # @return [Google::Apis::ComputeV1::ResourceStatusReservationConsumptionInfo] attr_accessor :reservation_consumption_info # # Corresponds to the JSON property `scheduling` # @return [Google::Apis::ComputeV1::ResourceStatusScheduling] attr_accessor :scheduling # Upcoming Maintenance notification information. # Corresponds to the JSON property `upcomingMaintenance` # @return [Google::Apis::ComputeV1::UpcomingMaintenance] attr_accessor :upcoming_maintenance def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @effective_instance_metadata = args[:effective_instance_metadata] if args.key?(:effective_instance_metadata) @physical_host = args[:physical_host] if args.key?(:physical_host) @physical_host_topology = args[:physical_host_topology] if args.key?(:physical_host_topology) @reservation_consumption_info = args[:reservation_consumption_info] if args.key?(:reservation_consumption_info) @scheduling = args[:scheduling] if args.key?(:scheduling) @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance) end end # Effective values of predefined metadata keys for an instance. class ResourceStatusEffectiveInstanceMetadata include Google::Apis::Core::Hashable # Effective block-project-ssh-keys value at Instance level. # Corresponds to the JSON property `blockProjectSshKeysMetadataValue` # @return [Boolean] attr_accessor :block_project_ssh_keys_metadata_value alias_method :block_project_ssh_keys_metadata_value?, :block_project_ssh_keys_metadata_value # Effective enable-guest-attributes value at Instance level. # Corresponds to the JSON property `enableGuestAttributesMetadataValue` # @return [Boolean] attr_accessor :enable_guest_attributes_metadata_value alias_method :enable_guest_attributes_metadata_value?, :enable_guest_attributes_metadata_value # Effective enable-os-inventory value at Instance level. # Corresponds to the JSON property `enableOsInventoryMetadataValue` # @return [Boolean] attr_accessor :enable_os_inventory_metadata_value alias_method :enable_os_inventory_metadata_value?, :enable_os_inventory_metadata_value # Effective enable-osconfig value at Instance level. # Corresponds to the JSON property `enableOsconfigMetadataValue` # @return [Boolean] attr_accessor :enable_osconfig_metadata_value alias_method :enable_osconfig_metadata_value?, :enable_osconfig_metadata_value # Effective enable-oslogin value at Instance level. # Corresponds to the JSON property `enableOsloginMetadataValue` # @return [Boolean] attr_accessor :enable_oslogin_metadata_value alias_method :enable_oslogin_metadata_value?, :enable_oslogin_metadata_value # Effective serial-port-enable value at Instance level. # Corresponds to the JSON property `serialPortEnableMetadataValue` # @return [Boolean] attr_accessor :serial_port_enable_metadata_value alias_method :serial_port_enable_metadata_value?, :serial_port_enable_metadata_value # Effective serial-port-logging-enable value at Instance level. # Corresponds to the JSON property `serialPortLoggingEnableMetadataValue` # @return [Boolean] attr_accessor :serial_port_logging_enable_metadata_value alias_method :serial_port_logging_enable_metadata_value?, :serial_port_logging_enable_metadata_value # Effective VM DNS setting at Instance level. # Corresponds to the JSON property `vmDnsSettingMetadataValue` # @return [String] attr_accessor :vm_dns_setting_metadata_value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @block_project_ssh_keys_metadata_value = args[:block_project_ssh_keys_metadata_value] if args.key?(:block_project_ssh_keys_metadata_value) @enable_guest_attributes_metadata_value = args[:enable_guest_attributes_metadata_value] if args.key?(:enable_guest_attributes_metadata_value) @enable_os_inventory_metadata_value = args[:enable_os_inventory_metadata_value] if args.key?(:enable_os_inventory_metadata_value) @enable_osconfig_metadata_value = args[:enable_osconfig_metadata_value] if args.key?(:enable_osconfig_metadata_value) @enable_oslogin_metadata_value = args[:enable_oslogin_metadata_value] if args.key?(:enable_oslogin_metadata_value) @serial_port_enable_metadata_value = args[:serial_port_enable_metadata_value] if args.key?(:serial_port_enable_metadata_value) @serial_port_logging_enable_metadata_value = args[:serial_port_logging_enable_metadata_value] if args.key?(:serial_port_logging_enable_metadata_value) @vm_dns_setting_metadata_value = args[:vm_dns_setting_metadata_value] if args.key?(:vm_dns_setting_metadata_value) end end # Represents the physical host topology of the host on which the VM is # running. class ResourceStatusPhysicalHostTopology include Google::Apis::Core::Hashable # [Output Only] The ID of the block in which the running instance is # located. Instances within the same block experience low network latency. # Corresponds to the JSON property `block` # @return [String] attr_accessor :block # [Output Only] The global name of the Compute Engine cluster where the # running instance is located. # Corresponds to the JSON property `cluster` # @return [String] attr_accessor :cluster # [Output Only] The ID of the host on which the running instance is located. # Instances on the same host experience the lowest possible network # latency. # Corresponds to the JSON property `host` # @return [String] attr_accessor :host # [Output Only] The ID of the sub-block in which the running instance is # located. Instances in the same sub-block experience lower network latency # than instances in the same block. # Corresponds to the JSON property `subblock` # @return [String] attr_accessor :subblock def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @block = args[:block] if args.key?(:block) @cluster = args[:cluster] if args.key?(:cluster) @host = args[:host] if args.key?(:host) @subblock = args[:subblock] if args.key?(:subblock) end end # Reservation consumption information that the instance is consuming from. class ResourceStatusReservationConsumptionInfo include Google::Apis::Core::Hashable # Output only. [Output Only] The full resource name of the reservation that this # instance is consuming from. # Corresponds to the JSON property `consumedReservation` # @return [String] attr_accessor :consumed_reservation def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @consumed_reservation = args[:consumed_reservation] if args.key?(:consumed_reservation) end end # class ResourceStatusScheduling include Google::Apis::Core::Hashable # Specifies the availability domain to place the instance in. The value # must be a number between 1 and the number of availability domains # specified in the spread placement policy attached to the instance. # Corresponds to the JSON property `availabilityDomain` # @return [Fixnum] attr_accessor :availability_domain def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @availability_domain = args[:availability_domain] if args.key?(:availability_domain) end end # Represents a Route resource. # A route defines a path from VM instances in the VPC network to a specific # destination. This destination can be inside or outside the VPC network. # For more information, read theRoutes overview. class Route include Google::Apis::Core::Hashable # Output only. [Output Only] AS path. # Corresponds to the JSON property `asPaths` # @return [Array] attr_accessor :as_paths # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this field when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # 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. # Corresponds to the JSON property `destRange` # @return [String] attr_accessor :dest_range # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of this resource. Always compute#routes for # Route resources. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Fully-qualified URL of the network that this route applies to. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # 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 # Corresponds to the JSON property `nextHopGateway` # @return [String] attr_accessor :next_hop_gateway # Output only. [Output Only] The full resource name of the Network Connectivity # Center hub # that will handle matching packets. # Corresponds to the JSON property `nextHopHub` # @return [String] attr_accessor :next_hop_hub # The URL to a forwarding rule of typeloadBalancingScheme=INTERNAL that should # handle matching # packets or the IP address of the forwarding Rule. # For example, the following are all valid URLs: # # # - https://www.googleapis.com/compute/v1/projects/project/regions/region/ # forwardingRules/forwardingRule # - regions/region/forwardingRules/forwardingRule # If an IP address is provided, must specify an IPv4 address in dot-decimal # notation or an IPv6 address in RFC 4291 format. For example, the following # are all valid IP addresses: # # # - 10.128.0.56 # - 2001:db8::2d9:51:0:0 # - 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. # Corresponds to the JSON property `nextHopIlb` # @return [String] attr_accessor :next_hop_ilb # 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/ # Corresponds to the JSON property `nextHopInstance` # @return [String] attr_accessor :next_hop_instance # Output only. [Output only] Internal fixed region-to-region cost that Google # Cloud # calculates based on factors such as network performance, distance, and # available bandwidth between regions. # Corresponds to the JSON property `nextHopInterRegionCost` # @return [Fixnum] attr_accessor :next_hop_inter_region_cost # Output only. [Output Only] The URL to an InterconnectAttachment which is the # next hop # for the route. # This field will only be populated for dynamic routes generated by # Cloud Router with a linked interconnectAttachment or the static route # generated by each L2 Interconnect Attachment. # Corresponds to the JSON property `nextHopInterconnectAttachment` # @return [String] attr_accessor :next_hop_interconnect_attachment # 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. # Corresponds to the JSON property `nextHopIp` # @return [String] attr_accessor :next_hop_ip # Output only. [Output Only] Multi-Exit Discriminator, a BGP route metric that # indicates # the desirability of a particular route in a network. # Corresponds to the JSON property `nextHopMed` # @return [Fixnum] attr_accessor :next_hop_med # The URL of the local network if it should handle matching packets. # Corresponds to the JSON property `nextHopNetwork` # @return [String] attr_accessor :next_hop_network # Output only. [Output Only] Indicates the origin of the route. Can be IGP # (Interior Gateway Protocol), EGP (Exterior Gateway Protocol), # or INCOMPLETE. # Corresponds to the JSON property `nextHopOrigin` # @return [String] attr_accessor :next_hop_origin # Output only. [Output Only] The network peering name that should handle # matching packets, # which should conform to RFC1035. # Corresponds to the JSON property `nextHopPeering` # @return [String] attr_accessor :next_hop_peering # The URL to a VpnTunnel that should handle matching packets. # Corresponds to the JSON property `nextHopVpnTunnel` # @return [String] attr_accessor :next_hop_vpn_tunnel # Additional route parameters. # Corresponds to the JSON property `params` # @return [Google::Apis::ComputeV1::RouteParams] attr_accessor :params # The priority of this route. Priority is used to break ties in cases # where there is more than one matching route of equal prefix length. In # cases where multiple routes have equal prefix length, the one with the # lowest-numbered priority value wins. The default value is `1000`. The # priority value must be from `0` to `65535`, inclusive. # Corresponds to the JSON property `priority` # @return [Fixnum] attr_accessor :priority # [Output only] The status of the route. This status applies to # dynamic routes learned by Cloud Routers. It is also applicable to routes # undergoing migration. # Corresponds to the JSON property `routeStatus` # @return [String] attr_accessor :route_status # Output only. [Output Only] The type of this route, which can be one of the # following # values: # - 'TRANSIT' for a transit route that this router learned from # another Cloud Router and will readvertise to one of its BGP peers # - 'SUBNET' for a route from a subnet of the VPC # - 'BGP' for a route learned from a BGP peer of this router # - 'STATIC' for a static route # Corresponds to the JSON property `routeType` # @return [String] attr_accessor :route_type # [Output Only] Server-defined fully-qualified URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # A list of instance tags to which this route applies. # Corresponds to the JSON property `tags` # @return [Array] attr_accessor :tags # Output only. [Output Only] If potential misconfigurations are detected for # this # route, this field will be populated with warning messages. # Corresponds to the JSON property `warnings` # @return [Array] attr_accessor :warnings def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @as_paths = args[:as_paths] if args.key?(:as_paths) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @dest_range = args[:dest_range] if args.key?(:dest_range) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @next_hop_gateway = args[:next_hop_gateway] if args.key?(:next_hop_gateway) @next_hop_hub = args[:next_hop_hub] if args.key?(:next_hop_hub) @next_hop_ilb = args[:next_hop_ilb] if args.key?(:next_hop_ilb) @next_hop_instance = args[:next_hop_instance] if args.key?(:next_hop_instance) @next_hop_inter_region_cost = args[:next_hop_inter_region_cost] if args.key?(:next_hop_inter_region_cost) @next_hop_interconnect_attachment = args[:next_hop_interconnect_attachment] if args.key?(:next_hop_interconnect_attachment) @next_hop_ip = args[:next_hop_ip] if args.key?(:next_hop_ip) @next_hop_med = args[:next_hop_med] if args.key?(:next_hop_med) @next_hop_network = args[:next_hop_network] if args.key?(:next_hop_network) @next_hop_origin = args[:next_hop_origin] if args.key?(:next_hop_origin) @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering) @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel) @params = args[:params] if args.key?(:params) @priority = args[:priority] if args.key?(:priority) @route_status = args[:route_status] if args.key?(:route_status) @route_type = args[:route_type] if args.key?(:route_type) @self_link = args[:self_link] if args.key?(:self_link) @tags = args[:tags] if args.key?(:tags) @warnings = args[:warnings] if args.key?(:warnings) end # class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class RouteAsPath include Google::Apis::Core::Hashable # [Output Only] The AS numbers of the AS Path. # Corresponds to the JSON property `asLists` # @return [Array] attr_accessor :as_lists # [Output Only] The type of the AS Path, which can be one of the following # values: # - 'AS_SET': unordered set of autonomous systems that the route # in has traversed # - 'AS_SEQUENCE': ordered set of autonomous # systems that the route has traversed # - 'AS_CONFED_SEQUENCE': # ordered set of Member Autonomous Systems in the local confederation that # the route has traversed # - 'AS_CONFED_SET': unordered set of # Member Autonomous Systems in the local confederation that the route has # traversed # Corresponds to the JSON property `pathSegmentType` # @return [String] attr_accessor :path_segment_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @as_lists = args[:as_lists] if args.key?(:as_lists) @path_segment_type = args[:path_segment_type] if args.key?(:path_segment_type) end end # Contains a list of Route resources. class RouteList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Route resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::RouteList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Additional route parameters. class RouteParams include Google::Apis::Core::Hashable # Tag keys/values directly bound to this resource. # Tag keys and values have the same definition as resource # manager tags. The field is allowed for INSERT # only. The keys/values to set on the resource should be specified in # either ID ` : ` or Namespaced format # ` : `. # For example the following are valid inputs: # * `"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` # * `"123/environment" : "production", "345/abc" : "xyz"` # Note: # * Invalid combinations of ID & namespaced format is not supported. For # instance: `"123/environment" : "tagValues/444"` is invalid. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) end end # class RoutePolicy include Google::Apis::Core::Hashable # An optional description of route policy. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # A fingerprint for the Route Policy being applied to this Router, which is # essentially a hash of the Route Policy used for optimistic locking. # The fingerprint is initially generated by Compute Engine and changes # after every request to modify or update Route Policy. You must always # provide an up-to-date fingerprint hash in order to update or change # labels. # To see the latest fingerprint, make a getRoutePolicy() request # to retrieve a Route Policy. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # Route Policy name, which must be a resource ID segment and unique # within all the router's Route Policies. Name should conform to RFC1035. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # List of terms (the order in the list is not important, they are evaluated # in order of priority). Order of policies is not retained and might change # when getting policy later. # Corresponds to the JSON property `terms` # @return [Array] attr_accessor :terms # # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @name = args[:name] if args.key?(:name) @terms = args[:terms] if args.key?(:terms) @type = args[:type] if args.key?(:type) end end # class RoutePolicyPolicyTerm include Google::Apis::Core::Hashable # CEL expressions to evaluate to modify a route when this term matches. # Corresponds to the JSON property `actions` # @return [Array] attr_accessor :actions # Represents a textual expression in the Common Expression Language (CEL) # syntax. CEL is a C-like expression language. The syntax and semantics of CEL # are documented at https://github.com/google/cel-spec. # Example (Comparison): # title: "Summary size limit" # description: "Determines if a summary is less than 100 chars" # expression: "document.summary.size() < 100" # Example (Equality): # title: "Requestor is owner" # description: "Determines if requestor is the document owner" # expression: "document.owner == request.auth.claims.email" # Example (Logic): # title: "Public documents" # description: "Determine whether the document should be publicly visible" # expression: "document.type != 'private' && document.type != 'internal'" # Example (Data Manipulation): # title: "Notification string" # description: "Create a notification string with a timestamp." # expression: "'New message received at ' + string(document.create_time)" # The exact variables and functions that may be referenced within an expression # are determined by the service that evaluates it. See the service # documentation for additional information. # Corresponds to the JSON property `match` # @return [Google::Apis::ComputeV1::Expr] attr_accessor :match # The evaluation priority for this term, which must be between 0 # (inclusive) and 2^31 (exclusive), and unique within the list. # Corresponds to the JSON property `priority` # @return [Fixnum] attr_accessor :priority def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @actions = args[:actions] if args.key?(:actions) @match = args[:match] if args.key?(:match) @priority = args[:priority] if args.key?(:priority) end end # Represents a Cloud Router resource. # For more information about Cloud Router, read theCloud # Router overview. class Router include Google::Apis::Core::Hashable # BGP information specific to this router. # Corresponds to the JSON property `bgp` # @return [Google::Apis::ComputeV1::RouterBgp] attr_accessor :bgp # BGP information that must be configured into the routing stack to # establish BGP peering. This information must specify the peer ASN and # either the interface name, IP address, or peer IP address. Please refer # toRFC4273. # Corresponds to the JSON property `bgpPeers` # @return [Array] attr_accessor :bgp_peers # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Indicates if a router is dedicated for use with encrypted VLAN # attachments (interconnectAttachments). # Corresponds to the JSON property `encryptedInterconnectRouter` # @return [Boolean] attr_accessor :encrypted_interconnect_router alias_method :encrypted_interconnect_router?, :encrypted_interconnect_router # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # 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. # Corresponds to the JSON property `interfaces` # @return [Array] attr_accessor :interfaces # Output only. [Output Only] Type of resource. Always compute#router for # routers. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Keys used for MD5 authentication. # Corresponds to the JSON property `md5AuthenticationKeys` # @return [Array] attr_accessor :md5_authentication_keys # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # A list of NAT services created in this router. # Corresponds to the JSON property `nats` # @return [Array] attr_accessor :nats # URI of the network to which this router belongs. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # Additional router parameters. # Corresponds to the JSON property `params` # @return [Google::Apis::ComputeV1::RouterParams] attr_accessor :params # [Output Only] URI of the region where the router resides. # You must specify this field as part of the HTTP request URL. It is # not settable as a field in the request body. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bgp = args[:bgp] if args.key?(:bgp) @bgp_peers = args[:bgp_peers] if args.key?(:bgp_peers) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @encrypted_interconnect_router = args[:encrypted_interconnect_router] if args.key?(:encrypted_interconnect_router) @id = args[:id] if args.key?(:id) @interfaces = args[:interfaces] if args.key?(:interfaces) @kind = args[:kind] if args.key?(:kind) @md5_authentication_keys = args[:md5_authentication_keys] if args.key?(:md5_authentication_keys) @name = args[:name] if args.key?(:name) @nats = args[:nats] if args.key?(:nats) @network = args[:network] if args.key?(:network) @params = args[:params] if args.key?(:params) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) end end # Description-tagged IP ranges for the router to advertise. class RouterAdvertisedIpRange include Google::Apis::Core::Hashable # User-specified description for the IP range. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The IP range to advertise. The value must be a CIDR-formatted string. # Corresponds to the JSON property `range` # @return [String] attr_accessor :range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @range = args[:range] if args.key?(:range) end end # Contains a list of routers. class RouterAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Router resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::RouterAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class RouterBgp include Google::Apis::Core::Hashable # User-specified flag to indicate which mode to use for advertisement. # The options are DEFAULT or CUSTOM. # Corresponds to the JSON property `advertiseMode` # @return [String] attr_accessor :advertise_mode # User-specified list of prefix groups to advertise in custom mode. # This field can only be populated if advertise_mode is CUSTOM and # is advertised to all peers of the router. # These groups will be advertised in addition to any specified prefixes. # Leave this field blank to advertise no custom groups. # Corresponds to the JSON property `advertisedGroups` # @return [Array] attr_accessor :advertised_groups # User-specified list of individual IP ranges to advertise in custom mode. # This field can only be populated if advertise_mode is CUSTOM and # is advertised to all peers of the router. # These IP ranges will be advertised in addition to any specified groups. # Leave this field blank to advertise no custom IP ranges. # Corresponds to the JSON property `advertisedIpRanges` # @return [Array] attr_accessor :advertised_ip_ranges # Local BGP Autonomous System Number (ASN). # Must be anRFC6996 private ASN, either 16-bit or 32-bit. The # value will be fixed for this router resource. All VPN tunnels that link # to this router will have the same local ASN. # Corresponds to the JSON property `asn` # @return [Fixnum] attr_accessor :asn # Explicitly specifies a range of valid BGP Identifiers for this Router. It # is provided as a link-local IPv4 range (from 169.254.0.0/16), of size at # least /30, even if the BGP sessions are over IPv6. It must not overlap # with any IPv4 BGP session ranges. # Other vendors commonly call this "router ID". # Corresponds to the JSON property `identifierRange` # @return [String] attr_accessor :identifier_range # The interval in seconds between BGP keepalive messages that are # sent to the peer. # Hold time is three times the interval at which keepalive messages are # sent, and the hold time is the maximum number of seconds allowed to # elapse between successive keepalive messages that BGP receives from a # peer. # BGP will use the smaller of either the local hold time value or the # peer's hold time value as the hold time for the BGP connection between # the two peers. # If set, this value must be between 20 and 60. The default is 20. # Corresponds to the JSON property `keepaliveInterval` # @return [Fixnum] attr_accessor :keepalive_interval def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @advertise_mode = args[:advertise_mode] if args.key?(:advertise_mode) @advertised_groups = args[:advertised_groups] if args.key?(:advertised_groups) @advertised_ip_ranges = args[:advertised_ip_ranges] if args.key?(:advertised_ip_ranges) @asn = args[:asn] if args.key?(:asn) @identifier_range = args[:identifier_range] if args.key?(:identifier_range) @keepalive_interval = args[:keepalive_interval] if args.key?(:keepalive_interval) end end # class RouterBgpPeer include Google::Apis::Core::Hashable # User-specified flag to indicate which mode to use for advertisement. # Corresponds to the JSON property `advertiseMode` # @return [String] attr_accessor :advertise_mode # 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. # Corresponds to the JSON property `advertisedGroups` # @return [Array] attr_accessor :advertised_groups # 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. # Corresponds to the JSON property `advertisedIpRanges` # @return [Array] attr_accessor :advertised_ip_ranges # 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. # Corresponds to the JSON property `advertisedRoutePriority` # @return [Fixnum] attr_accessor :advertised_route_priority # BFD configuration for the BGP peering. # Corresponds to the JSON property `bfd` # @return [Google::Apis::ComputeV1::RouterBgpPeerBfd] attr_accessor :bfd # A list of user-defined custom learned route IP address ranges for a BGP # session. # Corresponds to the JSON property `customLearnedIpRanges` # @return [Array] attr_accessor :custom_learned_ip_ranges # 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. # Corresponds to the JSON property `customLearnedRoutePriority` # @return [Fixnum] attr_accessor :custom_learned_route_priority # 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. # Corresponds to the JSON property `enable` # @return [String] attr_accessor :enable # Enable IPv4 traffic over BGP Peer. It is enabled by default if # the peerIpAddress is version 4. # Corresponds to the JSON property `enableIpv4` # @return [Boolean] attr_accessor :enable_ipv4 alias_method :enable_ipv4?, :enable_ipv4 # Enable IPv6 traffic over BGP Peer. It is enabled by default if the # peerIpAddress is version 6. # Corresponds to the JSON property `enableIpv6` # @return [Boolean] attr_accessor :enable_ipv6 alias_method :enable_ipv6?, :enable_ipv6 # List of export policies applied to this peer, in the order they must be # evaluated. The name must correspond to an existing policy that has # ROUTE_POLICY_TYPE_EXPORT type. # Corresponds to the JSON property `exportPolicies` # @return [Array] attr_accessor :export_policies # List of import policies applied to this peer, in the order they must be # evaluated. The name must correspond to an existing policy that has # ROUTE_POLICY_TYPE_IMPORT type. # Corresponds to the JSON property `importPolicies` # @return [Array] attr_accessor :import_policies # Name of the interface the BGP peer is associated with. # Corresponds to the JSON property `interfaceName` # @return [String] attr_accessor :interface_name # IP address of the interface inside Google Cloud Platform. # Corresponds to the JSON property `ipAddress` # @return [String] attr_accessor :ip_address # IPv4 address of the interface inside Google Cloud Platform. # Corresponds to the JSON property `ipv4NexthopAddress` # @return [String] attr_accessor :ipv4_nexthop_address # IPv6 address of the interface inside Google Cloud Platform. # Corresponds to the JSON property `ipv6NexthopAddress` # @return [String] attr_accessor :ipv6_nexthop_address # Output only. [Output Only] The resource that configures and manages this BGP # peer. # # - MANAGED_BY_USER is the default value and can be managed by you # or other users # - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed # by Cloud Interconnect, specifically by an InterconnectAttachment of type # PARTNER. Google automatically creates, updates, and deletes this type of # BGP peer when the PARTNER InterconnectAttachment is created, updated, # or deleted. # Corresponds to the JSON property `managementType` # @return [String] attr_accessor :management_type # Present if MD5 authentication is enabled for the peering. Must be the # name of one of the entries in the Router.md5_authentication_keys. The # field must comply with RFC1035. # Corresponds to the JSON property `md5AuthenticationKeyName` # @return [String] attr_accessor :md5_authentication_key_name # Name of this BGP peer. # The name must be 1-63 characters long, and comply withRFC1035. 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Peer BGP Autonomous System Number (ASN). Each BGP interface may use # a different value. # Corresponds to the JSON property `peerAsn` # @return [Fixnum] attr_accessor :peer_asn # IP address of the BGP interface outside Google Cloud Platform. # Corresponds to the JSON property `peerIpAddress` # @return [String] attr_accessor :peer_ip_address # IPv4 address of the BGP interface outside Google Cloud Platform. # Corresponds to the JSON property `peerIpv4NexthopAddress` # @return [String] attr_accessor :peer_ipv4_nexthop_address # IPv6 address of the BGP interface outside Google Cloud Platform. # Corresponds to the JSON property `peerIpv6NexthopAddress` # @return [String] attr_accessor :peer_ipv6_nexthop_address # URI of the VM instance that is used as third-party router # appliances such as Next Gen Firewalls, Virtual Routers, or Router # Appliances. The VM instance must be located in zones contained in the # same region as this Cloud Router. # The VM instance is the peer side of the BGP session. # Corresponds to the JSON property `routerApplianceInstance` # @return [String] attr_accessor :router_appliance_instance def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @advertise_mode = args[:advertise_mode] if args.key?(:advertise_mode) @advertised_groups = args[:advertised_groups] if args.key?(:advertised_groups) @advertised_ip_ranges = args[:advertised_ip_ranges] if args.key?(:advertised_ip_ranges) @advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority) @bfd = args[:bfd] if args.key?(:bfd) @custom_learned_ip_ranges = args[:custom_learned_ip_ranges] if args.key?(:custom_learned_ip_ranges) @custom_learned_route_priority = args[:custom_learned_route_priority] if args.key?(:custom_learned_route_priority) @enable = args[:enable] if args.key?(:enable) @enable_ipv4 = args[:enable_ipv4] if args.key?(:enable_ipv4) @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6) @export_policies = args[:export_policies] if args.key?(:export_policies) @import_policies = args[:import_policies] if args.key?(:import_policies) @interface_name = args[:interface_name] if args.key?(:interface_name) @ip_address = args[:ip_address] if args.key?(:ip_address) @ipv4_nexthop_address = args[:ipv4_nexthop_address] if args.key?(:ipv4_nexthop_address) @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address) @management_type = args[:management_type] if args.key?(:management_type) @md5_authentication_key_name = args[:md5_authentication_key_name] if args.key?(:md5_authentication_key_name) @name = args[:name] if args.key?(:name) @peer_asn = args[:peer_asn] if args.key?(:peer_asn) @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address) @peer_ipv4_nexthop_address = args[:peer_ipv4_nexthop_address] if args.key?(:peer_ipv4_nexthop_address) @peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address) @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance) end end # class RouterBgpPeerBfd include Google::Apis::Core::Hashable # The minimum interval, in milliseconds, between BFD control packets # received from the peer router. The actual value is negotiated between # the two routers and is equal to the greater of this value and the # transmit interval of the other router. # If set, this value must be between 1000 and 30000. # The default is 1000. # Corresponds to the JSON property `minReceiveInterval` # @return [Fixnum] attr_accessor :min_receive_interval # The minimum interval, in milliseconds, between BFD control packets # transmitted to the peer router. The actual value is negotiated between # the two routers and is equal to the greater of this value and the # corresponding receive interval of the other router. # If set, this value must be between 1000 and 30000. # The default is 1000. # Corresponds to the JSON property `minTransmitInterval` # @return [Fixnum] attr_accessor :min_transmit_interval # The number of consecutive BFD packets that must be missed # before BFD declares that a peer is unavailable. # If set, the value must be a value between 5 and 16. # The default is 5. # Corresponds to the JSON property `multiplier` # @return [Fixnum] attr_accessor :multiplier # The BFD session initialization mode for this BGP peer. # If set to ACTIVE, the Cloud Router will initiate the BFD session for # this BGP peer. If set to PASSIVE, the Cloud Router will wait for the # peer router to initiate the BFD session for this BGP peer. If set to # DISABLED, BFD is disabled for this BGP peer. The default is DISABLED. # Corresponds to the JSON property `sessionInitializationMode` # @return [String] attr_accessor :session_initialization_mode def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @min_receive_interval = args[:min_receive_interval] if args.key?(:min_receive_interval) @min_transmit_interval = args[:min_transmit_interval] if args.key?(:min_transmit_interval) @multiplier = args[:multiplier] if args.key?(:multiplier) @session_initialization_mode = args[:session_initialization_mode] if args.key?(:session_initialization_mode) end end # class RouterBgpPeerCustomLearnedIpRange include Google::Apis::Core::Hashable # 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`. # Corresponds to the JSON property `range` # @return [String] attr_accessor :range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @range = args[:range] if args.key?(:range) end end # class RouterInterface include Google::Apis::Core::Hashable # IP address and range of the interface. # # - For Internet Protocol version 4 (IPv4), the IP range must be in # theRFC3927 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 IP address, as it represents the IP address of # the interface. # - For Internet Protocol version 6 (IPv6), the value # must be a unique local address (ULA) range from fdff:1::/64 # with a mask length of 126 or less. This value should be a CIDR-formatted # string, for example, fdff:1::1/112. Within the router's # VPC, this IPv6 prefix will be reserved exclusively for this connection # and cannot be used for any other purpose. # Corresponds to the JSON property `ipRange` # @return [String] attr_accessor :ip_range # IP version of this interface. # Corresponds to the JSON property `ipVersion` # @return [String] attr_accessor :ip_version # 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. # Corresponds to the JSON property `linkedInterconnectAttachment` # @return [String] attr_accessor :linked_interconnect_attachment # 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. # Corresponds to the JSON property `linkedVpnTunnel` # @return [String] attr_accessor :linked_vpn_tunnel # Output only. [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. # Corresponds to the JSON property `managementType` # @return [String] attr_accessor :management_type # Name of this interface entry. # The name must be 1-63 characters long, and comply withRFC1035. 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # 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. # Corresponds to the JSON property `privateIpAddress` # @return [String] attr_accessor :private_ip_address # Name of the interface that will be redundant with the current interface # you are creating. The redundantInterface must belong to the same Cloud # Router as the interface here. To establish the BGP session to a Router # Appliance VM, you must create two BGP peers. The two BGP peers must be # attached to two separate interfaces that are redundant with each other. # The redundant_interface must be 1-63 characters long, and comply withRFC1035. # Specifically, the redundant_interface 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. # Corresponds to the JSON property `redundantInterface` # @return [String] attr_accessor :redundant_interface # The URI of the subnetwork resource that this interface belongs to, which # must be in the same region as the Cloud Router. # When you establish a BGP session to a VM instance using this interface, # the VM instance must belong to the same subnetwork as the subnetwork # specified here. # Corresponds to the JSON property `subnetwork` # @return [String] attr_accessor :subnetwork def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ip_range = args[:ip_range] if args.key?(:ip_range) @ip_version = args[:ip_version] if args.key?(:ip_version) @linked_interconnect_attachment = args[:linked_interconnect_attachment] if args.key?(:linked_interconnect_attachment) @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel) @management_type = args[:management_type] if args.key?(:management_type) @name = args[:name] if args.key?(:name) @private_ip_address = args[:private_ip_address] if args.key?(:private_ip_address) @redundant_interface = args[:redundant_interface] if args.key?(:redundant_interface) @subnetwork = args[:subnetwork] if args.key?(:subnetwork) end end # Contains a list of Router resources. class RouterList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Router resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#router for # routers. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::RouterList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class RouterMd5AuthenticationKey include Google::Apis::Core::Hashable # [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. # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # Name used to identify the key. # Must be unique within a router. Must be referenced by exactly # one bgpPeer. Must comply withRFC1035. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @name = args[:name] if args.key?(:name) end end # Represents a Nat resource. It enables the VMs within the specified # subnetworks to access Internet without external IP addresses. It specifies # a list of subnetworks (and the ranges within) that want to use NAT. # Customers can also provide the external IPs that would be used for NAT. GCP # would auto-allocate ephemeral IPs if no external IPs are provided. class RouterNat include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `autoNetworkTier` # @return [String] attr_accessor :auto_network_tier # 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. # Corresponds to the JSON property `drainNatIps` # @return [Array] attr_accessor :drain_nat_ips # 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. # Corresponds to the JSON property `enableDynamicPortAllocation` # @return [Boolean] attr_accessor :enable_dynamic_port_allocation alias_method :enable_dynamic_port_allocation?, :enable_dynamic_port_allocation # # Corresponds to the JSON property `enableEndpointIndependentMapping` # @return [Boolean] attr_accessor :enable_endpoint_independent_mapping alias_method :enable_endpoint_independent_mapping?, :enable_endpoint_independent_mapping # List of NAT-ted endpoint types supported by the Nat Gateway. If the list # is empty, then it will be equivalent to include ENDPOINT_TYPE_VM # Corresponds to the JSON property `endpointTypes` # @return [Array] attr_accessor :endpoint_types # Timeout (in seconds) for ICMP connections. Defaults to 30s if not set. # Corresponds to the JSON property `icmpIdleTimeoutSec` # @return [Fixnum] attr_accessor :icmp_idle_timeout_sec # Configuration of logging on a NAT. # Corresponds to the JSON property `logConfig` # @return [Google::Apis::ComputeV1::RouterNatLogConfig] attr_accessor :log_config # Maximum number of ports allocated to a VM from this NAT config when # Dynamic Port Allocation is enabled. # If Dynamic Port Allocation is not enabled, this field has no effect. # If Dynamic Port Allocation is enabled, and this field is set, it must be # set to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm # is not set. # If Dynamic Port Allocation is enabled and this field is not set, # a maximum of 65536 ports will be allocated to a VM from this NAT # config. # Corresponds to the JSON property `maxPortsPerVm` # @return [Fixnum] attr_accessor :max_ports_per_vm # Minimum number of ports allocated to a VM from this NAT config. If not # set, a default number of ports is allocated to a VM. This is rounded # up to the nearest power of 2. For example, if the value of this field is # 50, at least 64 ports are allocated to a VM. # Corresponds to the JSON property `minPortsPerVm` # @return [Fixnum] attr_accessor :min_ports_per_vm # Unique name of this Nat service. # The name must be 1-63 characters long and comply withRFC1035. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # List of Subnetwork resources whose traffic should be translated by NAT64 # Gateway. It is used only when LIST_OF_IPV6_SUBNETWORKS is # selected for the SubnetworkIpRangeToNat64Option above. # Corresponds to the JSON property `nat64Subnetworks` # @return [Array] attr_accessor :nat64_subnetworks # 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. # Corresponds to the JSON property `natIpAllocateOption` # @return [String] attr_accessor :nat_ip_allocate_option # 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. # Corresponds to the JSON property `natIps` # @return [Array] attr_accessor :nat_ips # A list of rules associated with this NAT. # Corresponds to the JSON property `rules` # @return [Array] attr_accessor :rules # 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. # Corresponds to the JSON property `sourceSubnetworkIpRangesToNat` # @return [String] attr_accessor :source_subnetwork_ip_ranges_to_nat # Specify the Nat option for NAT64, which can take one of the following # values: # # - ALL_IPV6_SUBNETWORKS: All of the IP ranges in # every Subnetwork are allowed to Nat. # - LIST_OF_IPV6_SUBNETWORKS: A list of Subnetworks are allowed to Nat # (specified in the field nat64_subnetwork below) # The default is NAT64_OPTION_UNSPECIFIED. # Note that if this field contains NAT64_ALL_V6_SUBNETWORKS no other # Router.Nat section in this region can also enable NAT64 for any # Subnetworks in this network. Other Router.Nat sections can still be # present to enable NAT44 only. # Corresponds to the JSON property `sourceSubnetworkIpRangesToNat64` # @return [String] attr_accessor :source_subnetwork_ip_ranges_to_nat64 # 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. # Corresponds to the JSON property `subnetworks` # @return [Array] attr_accessor :subnetworks # Timeout (in seconds) for TCP established connections. Defaults to 1200s # if not set. # Corresponds to the JSON property `tcpEstablishedIdleTimeoutSec` # @return [Fixnum] attr_accessor :tcp_established_idle_timeout_sec # Timeout (in seconds) for TCP connections that are in TIME_WAIT state. # Defaults to 120s if not set. # Corresponds to the JSON property `tcpTimeWaitTimeoutSec` # @return [Fixnum] attr_accessor :tcp_time_wait_timeout_sec # Timeout (in seconds) for TCP transitory connections. Defaults to 30s if # not set. # Corresponds to the JSON property `tcpTransitoryIdleTimeoutSec` # @return [Fixnum] attr_accessor :tcp_transitory_idle_timeout_sec # Indicates whether this NAT is used for public or private IP # translation. If unspecified, it defaults to PUBLIC. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # Timeout (in seconds) for UDP connections. Defaults to 30s if not set. # Corresponds to the JSON property `udpIdleTimeoutSec` # @return [Fixnum] attr_accessor :udp_idle_timeout_sec def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @auto_network_tier = args[:auto_network_tier] if args.key?(:auto_network_tier) @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips) @enable_dynamic_port_allocation = args[:enable_dynamic_port_allocation] if args.key?(:enable_dynamic_port_allocation) @enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping) @endpoint_types = args[:endpoint_types] if args.key?(:endpoint_types) @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec) @log_config = args[:log_config] if args.key?(:log_config) @max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm) @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm) @name = args[:name] if args.key?(:name) @nat64_subnetworks = args[:nat64_subnetworks] if args.key?(:nat64_subnetworks) @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option) @nat_ips = args[:nat_ips] if args.key?(:nat_ips) @rules = args[:rules] if args.key?(:rules) @source_subnetwork_ip_ranges_to_nat = args[:source_subnetwork_ip_ranges_to_nat] if args.key?(:source_subnetwork_ip_ranges_to_nat) @source_subnetwork_ip_ranges_to_nat64 = args[:source_subnetwork_ip_ranges_to_nat64] if args.key?(:source_subnetwork_ip_ranges_to_nat64) @subnetworks = args[:subnetworks] if args.key?(:subnetworks) @tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec) @tcp_time_wait_timeout_sec = args[:tcp_time_wait_timeout_sec] if args.key?(:tcp_time_wait_timeout_sec) @tcp_transitory_idle_timeout_sec = args[:tcp_transitory_idle_timeout_sec] if args.key?(:tcp_transitory_idle_timeout_sec) @type = args[:type] if args.key?(:type) @udp_idle_timeout_sec = args[:udp_idle_timeout_sec] if args.key?(:udp_idle_timeout_sec) end end # Configuration of logging on a NAT. class RouterNatLogConfig include Google::Apis::Core::Hashable # Indicates whether or not to export logs. This is false by default. # Corresponds to the JSON property `enable` # @return [Boolean] attr_accessor :enable alias_method :enable?, :enable # Specify the desired filtering of logs on this NAT. If unspecified, # logs are exported for all connections handled by this NAT. # This option can take one of the following values: # # - ERRORS_ONLY: Export logs only for connection failures. # - TRANSLATIONS_ONLY: Export logs only for successful # connections. # - ALL: Export logs for all connections, successful and # unsuccessful. # Corresponds to the JSON property `filter` # @return [String] attr_accessor :filter def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @enable = args[:enable] if args.key?(:enable) @filter = args[:filter] if args.key?(:filter) end end # class RouterNatRule include Google::Apis::Core::Hashable # The action to be enforced for traffic that matches this rule. # Corresponds to the JSON property `action` # @return [Google::Apis::ComputeV1::RouterNatRuleAction] attr_accessor :action # An optional description of this rule. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # 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'` # Corresponds to the JSON property `match` # @return [String] attr_accessor :match # 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. # Corresponds to the JSON property `ruleNumber` # @return [Fixnum] attr_accessor :rule_number def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @action = args[:action] if args.key?(:action) @description = args[:description] if args.key?(:description) @match = args[:match] if args.key?(:match) @rule_number = args[:rule_number] if args.key?(:rule_number) end end # class RouterNatRuleAction include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `sourceNatActiveIps` # @return [Array] attr_accessor :source_nat_active_ips # 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. # Corresponds to the JSON property `sourceNatActiveRanges` # @return [Array] attr_accessor :source_nat_active_ranges # 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. # Corresponds to the JSON property `sourceNatDrainIps` # @return [Array] attr_accessor :source_nat_drain_ips # 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. # Corresponds to the JSON property `sourceNatDrainRanges` # @return [Array] attr_accessor :source_nat_drain_ranges def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @source_nat_active_ips = args[:source_nat_active_ips] if args.key?(:source_nat_active_ips) @source_nat_active_ranges = args[:source_nat_active_ranges] if args.key?(:source_nat_active_ranges) @source_nat_drain_ips = args[:source_nat_drain_ips] if args.key?(:source_nat_drain_ips) @source_nat_drain_ranges = args[:source_nat_drain_ranges] if args.key?(:source_nat_drain_ranges) end end # Defines the IP ranges that want to use NAT for a subnetwork. class RouterNatSubnetworkToNat include Google::Apis::Core::Hashable # URL for the subnetwork resource that will use NAT. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # A list of the secondary ranges of the Subnetwork that are allowed to # use NAT. This can be populated only if "LIST_OF_SECONDARY_IP_RANGES" # is one of the values in source_ip_ranges_to_nat. # Corresponds to the JSON property `secondaryIpRangeNames` # @return [Array] attr_accessor :secondary_ip_range_names # Specify the options for NAT ranges in the Subnetwork. All # options of a single value are valid except # NAT_IP_RANGE_OPTION_UNSPECIFIED. # The only valid option with multiple values is: ["PRIMARY_IP_RANGE", # "LIST_OF_SECONDARY_IP_RANGES"] # Default: [ALL_IP_RANGES] # Corresponds to the JSON property `sourceIpRangesToNat` # @return [Array] attr_accessor :source_ip_ranges_to_nat def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @secondary_ip_range_names = args[:secondary_ip_range_names] if args.key?(:secondary_ip_range_names) @source_ip_ranges_to_nat = args[:source_ip_ranges_to_nat] if args.key?(:source_ip_ranges_to_nat) end end # Specifies a subnetwork to enable NAT64. class RouterNatSubnetworkToNat64 include Google::Apis::Core::Hashable # URL for the subnetwork resource that will use NAT64. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) end end # Additional router parameters. class RouterParams include Google::Apis::Core::Hashable # Tag keys/values directly bound to this resource. # The field is allowed for INSERT # only. The keys/values to set on the resource should be specified in # either ID ` : ` or Namespaced format # ` : `. # For example the following are valid inputs: # * `"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` # * `"123/environment" : "production", "345/abc" : "xyz"` # Note: # * Invalid combinations of ID & namespaced format is not supported. For # instance: `"123/environment" : "tagValues/444"` is invalid. # * Inconsistent format is not supported. For instance: # `"tagKeys/333" : "tagValues/444", "123/env" : "prod"` is invalid. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) end end # class RouterStatus include Google::Apis::Core::Hashable # A list of the best dynamic routes for this Cloud Router's Virtual Private # Cloud (VPC) network in the same region as this Cloud Router. # Lists all of the best routes per prefix that are programmed into this # region's VPC data plane. # When global dynamic routing mode is turned on in the VPC network, this list # can include cross-region dynamic routes from Cloud Routers in other # regions. # Corresponds to the JSON property `bestRoutes` # @return [Array] attr_accessor :best_routes # A list of the best BGP routes learned by this Cloud Router. # It is possible that routes listed might not be programmed into the data # plane, if the Google Cloud control plane finds a more optimal route for a # prefix than a route learned by this Cloud Router. # Corresponds to the JSON property `bestRoutesForRouter` # @return [Array] attr_accessor :best_routes_for_router # # Corresponds to the JSON property `bgpPeerStatus` # @return [Array] attr_accessor :bgp_peer_status # # Corresponds to the JSON property `natStatus` # @return [Array] attr_accessor :nat_status # URI of the network to which this router belongs. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @best_routes = args[:best_routes] if args.key?(:best_routes) @best_routes_for_router = args[:best_routes_for_router] if args.key?(:best_routes_for_router) @bgp_peer_status = args[:bgp_peer_status] if args.key?(:bgp_peer_status) @nat_status = args[:nat_status] if args.key?(:nat_status) @network = args[:network] if args.key?(:network) end end # class RouterStatusBgpPeerStatus include Google::Apis::Core::Hashable # Routes that were advertised to the remote BGP peer # Corresponds to the JSON property `advertisedRoutes` # @return [Array] attr_accessor :advertised_routes # Next free: 15 # Corresponds to the JSON property `bfdStatus` # @return [Google::Apis::ComputeV1::BfdStatus] attr_accessor :bfd_status # Output only. Enable IPv4 traffic over BGP Peer. # It is enabled by default if the peerIpAddress is version 4. # Corresponds to the JSON property `enableIpv4` # @return [Boolean] attr_accessor :enable_ipv4 alias_method :enable_ipv4?, :enable_ipv4 # Output only. Enable IPv6 traffic over BGP Peer. # It is enabled by default if the peerIpAddress is version 6. # Corresponds to the JSON property `enableIpv6` # @return [Boolean] attr_accessor :enable_ipv6 alias_method :enable_ipv6?, :enable_ipv6 # Output only. IP address of the local BGP interface. # Corresponds to the JSON property `ipAddress` # @return [String] attr_accessor :ip_address # Output only. IPv4 address of the local BGP interface. # Corresponds to the JSON property `ipv4NexthopAddress` # @return [String] attr_accessor :ipv4_nexthop_address # Output only. IPv6 address of the local BGP interface. # Corresponds to the JSON property `ipv6NexthopAddress` # @return [String] attr_accessor :ipv6_nexthop_address # Output only. URL of the VPN tunnel that this BGP peer controls. # Corresponds to the JSON property `linkedVpnTunnel` # @return [String] attr_accessor :linked_vpn_tunnel # Informs whether MD5 authentication is enabled on this BGP peer. # Corresponds to the JSON property `md5AuthEnabled` # @return [Boolean] attr_accessor :md5_auth_enabled alias_method :md5_auth_enabled?, :md5_auth_enabled # Output only. Name of this BGP peer. Unique within the Routers resource. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. Number of routes learned from the remote BGP Peer. # Corresponds to the JSON property `numLearnedRoutes` # @return [Fixnum] attr_accessor :num_learned_routes # Output only. IP address of the remote BGP interface. # Corresponds to the JSON property `peerIpAddress` # @return [String] attr_accessor :peer_ip_address # Output only. IPv4 address of the remote BGP interface. # Corresponds to the JSON property `peerIpv4NexthopAddress` # @return [String] attr_accessor :peer_ipv4_nexthop_address # Output only. IPv6 address of the remote BGP interface. # Corresponds to the JSON property `peerIpv6NexthopAddress` # @return [String] attr_accessor :peer_ipv6_nexthop_address # Output only. [Output only] URI of the VM instance that is used as third-party # router # appliances such as Next Gen Firewalls, Virtual Routers, or Router # Appliances. # The VM instance is the peer side of the BGP session. # Corresponds to the JSON property `routerApplianceInstance` # @return [String] attr_accessor :router_appliance_instance # Output only. The state of the BGP session. For a list of possible values for # this # field, seeBGP session states. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Output only. Status of the BGP peer: `UP, DOWN` # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Indicates why particular status was returned. # Corresponds to the JSON property `statusReason` # @return [String] attr_accessor :status_reason # Output only. Time this session has been up. # Format: # 14 years, 51 weeks, 6 days, 23 hours, 59 minutes, 59 seconds # Corresponds to the JSON property `uptime` # @return [String] attr_accessor :uptime # Output only. Time this session has been up, in seconds. # Format: # 145 # Corresponds to the JSON property `uptimeSeconds` # @return [String] attr_accessor :uptime_seconds def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @advertised_routes = args[:advertised_routes] if args.key?(:advertised_routes) @bfd_status = args[:bfd_status] if args.key?(:bfd_status) @enable_ipv4 = args[:enable_ipv4] if args.key?(:enable_ipv4) @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6) @ip_address = args[:ip_address] if args.key?(:ip_address) @ipv4_nexthop_address = args[:ipv4_nexthop_address] if args.key?(:ipv4_nexthop_address) @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address) @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel) @md5_auth_enabled = args[:md5_auth_enabled] if args.key?(:md5_auth_enabled) @name = args[:name] if args.key?(:name) @num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes) @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address) @peer_ipv4_nexthop_address = args[:peer_ipv4_nexthop_address] if args.key?(:peer_ipv4_nexthop_address) @peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address) @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance) @state = args[:state] if args.key?(:state) @status = args[:status] if args.key?(:status) @status_reason = args[:status_reason] if args.key?(:status_reason) @uptime = args[:uptime] if args.key?(:uptime) @uptime_seconds = args[:uptime_seconds] if args.key?(:uptime_seconds) end end # Status of a NAT contained in this router. class RouterStatusNatStatus include Google::Apis::Core::Hashable # Output only. A list of IPs auto-allocated for NAT. Example: ["1.1.1.1", "129.2. # 16.89"] # Corresponds to the JSON property `autoAllocatedNatIps` # @return [Array] attr_accessor :auto_allocated_nat_ips # Output only. A list of IPs auto-allocated for NAT that are in drain mode. # Example: ["1.1.1.1", "179.12.26.133"]. # Corresponds to the JSON property `drainAutoAllocatedNatIps` # @return [Array] attr_accessor :drain_auto_allocated_nat_ips # Output only. A list of IPs user-allocated for NAT that are in drain mode. # Example: ["1.1.1.1", "179.12.26.133"]. # Corresponds to the JSON property `drainUserAllocatedNatIps` # @return [Array] attr_accessor :drain_user_allocated_nat_ips # Output only. The number of extra IPs to allocate. This will be greater than 0 # only if # user-specified IPs are NOT enough to allow all configured VMs to use NAT. # This value is meaningful only when auto-allocation of NAT IPs is *not* # used. # Corresponds to the JSON property `minExtraNatIpsNeeded` # @return [Fixnum] attr_accessor :min_extra_nat_ips_needed # Output only. Unique name of this NAT. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. Number of VM endpoints (i.e., Nics) that can use NAT. # Corresponds to the JSON property `numVmEndpointsWithNatMappings` # @return [Fixnum] attr_accessor :num_vm_endpoints_with_nat_mappings # Status of rules in this NAT. # Corresponds to the JSON property `ruleStatus` # @return [Array] attr_accessor :rule_status # Output only. A list of fully qualified URLs of reserved IP address resources. # Corresponds to the JSON property `userAllocatedNatIpResources` # @return [Array] attr_accessor :user_allocated_nat_ip_resources # Output only. A list of IPs user-allocated for NAT. # They will be raw IP strings like "179.12.26.133". # Corresponds to the JSON property `userAllocatedNatIps` # @return [Array] attr_accessor :user_allocated_nat_ips def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @auto_allocated_nat_ips = args[:auto_allocated_nat_ips] if args.key?(:auto_allocated_nat_ips) @drain_auto_allocated_nat_ips = args[:drain_auto_allocated_nat_ips] if args.key?(:drain_auto_allocated_nat_ips) @drain_user_allocated_nat_ips = args[:drain_user_allocated_nat_ips] if args.key?(:drain_user_allocated_nat_ips) @min_extra_nat_ips_needed = args[:min_extra_nat_ips_needed] if args.key?(:min_extra_nat_ips_needed) @name = args[:name] if args.key?(:name) @num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings) @rule_status = args[:rule_status] if args.key?(:rule_status) @user_allocated_nat_ip_resources = args[:user_allocated_nat_ip_resources] if args.key?(:user_allocated_nat_ip_resources) @user_allocated_nat_ips = args[:user_allocated_nat_ips] if args.key?(:user_allocated_nat_ips) end end # Status of a NAT Rule contained in this NAT. class RouterStatusNatStatusNatRuleStatus include Google::Apis::Core::Hashable # Output only. A list of active IPs for NAT. # Example: ["1.1.1.1", "179.12.26.133"]. # Corresponds to the JSON property `activeNatIps` # @return [Array] attr_accessor :active_nat_ips # Output only. A list of IPs for NAT that are in drain mode. # Example: ["1.1.1.1", "179.12.26.133"]. # Corresponds to the JSON property `drainNatIps` # @return [Array] attr_accessor :drain_nat_ips # Output only. The number of extra IPs to allocate. This will be greater than 0 # only # if the existing IPs in this NAT Rule are NOT enough to allow all # configured VMs to use NAT. # Corresponds to the JSON property `minExtraIpsNeeded` # @return [Fixnum] attr_accessor :min_extra_ips_needed # Output only. Number of VM endpoints (i.e., NICs) that have NAT Mappings from # this # NAT Rule. # Corresponds to the JSON property `numVmEndpointsWithNatMappings` # @return [Fixnum] attr_accessor :num_vm_endpoints_with_nat_mappings # Output only. Rule number of the rule. # Corresponds to the JSON property `ruleNumber` # @return [Fixnum] attr_accessor :rule_number def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @active_nat_ips = args[:active_nat_ips] if args.key?(:active_nat_ips) @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips) @min_extra_ips_needed = args[:min_extra_ips_needed] if args.key?(:min_extra_ips_needed) @num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings) @rule_number = args[:rule_number] if args.key?(:rule_number) end end # class RouterStatusResponse include Google::Apis::Core::Hashable # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # # Corresponds to the JSON property `result` # @return [Google::Apis::ComputeV1::RouterStatus] attr_accessor :result def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kind = args[:kind] if args.key?(:kind) @result = args[:result] if args.key?(:result) end end # class RoutersGetRoutePolicyResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `resource` # @return [Google::Apis::ComputeV1::RoutePolicy] attr_accessor :resource def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource = args[:resource] if args.key?(:resource) end end # class RoutersListBgpRoutes include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Output only. [Output Only] Type of resource. Alwayscompute# # routersListBgpRoutes for lists of bgp routes. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] A list of bgp routes. # Corresponds to the JSON property `result` # @return [Array] attr_accessor :result # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::RoutersListBgpRoutes::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @result = args[:result] if args.key?(:result) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class RoutersListRoutePolicies include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Output only. [Output Only] Type of resource. Alwayscompute# # routersListRoutePolicies for lists of route policies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] A list of route policies. # Corresponds to the JSON property `result` # @return [Array] attr_accessor :result # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::RoutersListRoutePolicies::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @result = args[:result] if args.key?(:result) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class RoutersPreviewResponse include Google::Apis::Core::Hashable # Represents a Cloud Router resource. # For more information about Cloud Router, read theCloud # Router overview. # Corresponds to the JSON property `resource` # @return [Google::Apis::ComputeV1::Router] attr_accessor :resource def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource = args[:resource] if args.key?(:resource) end end # class RoutersScopedList include Google::Apis::Core::Hashable # A list of routers contained in this scope. # Corresponds to the JSON property `routers` # @return [Array] attr_accessor :routers # Informational warning which replaces the list of routers when # the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::RoutersScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @routers = args[:routers] if args.key?(:routers) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of routers when # the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class SslHealthCheck include Google::Apis::Core::Hashable # The TCP port number to which the health check prober sends packets. The # default value is 443. Valid values are 1 through65535. # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port # Not supported. # Corresponds to the JSON property `portName` # @return [String] attr_accessor :port_name # 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 theport 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. # Corresponds to the JSON property `portSpecification` # @return [String] attr_accessor :port_specification # Specifies the type of proxy header to append before sending data to the # backend, either NONE or PROXY_V1. The default # is NONE. # Corresponds to the JSON property `proxyHeader` # @return [String] attr_accessor :proxy_header # 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. # Corresponds to the JSON property `request` # @return [String] attr_accessor :request # 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 # Corresponds to the JSON property `response` # @return [String] attr_accessor :response def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @port = args[:port] if args.key?(:port) @port_name = args[:port_name] if args.key?(:port_name) @port_specification = args[:port_specification] if args.key?(:port_specification) @proxy_header = args[:proxy_header] if args.key?(:proxy_header) @request = args[:request] if args.key?(:request) @response = args[:response] if args.key?(:response) end end # DEPRECATED: Please use compute#savedDisk instead. # An instance-attached disk resource. class SavedAttachedDisk include Google::Apis::Core::Hashable # Specifies whether the disk will be auto-deleted when the instance is # deleted (but not when the disk is detached from the instance). # Corresponds to the JSON property `autoDelete` # @return [Boolean] attr_accessor :auto_delete alias_method :auto_delete?, :auto_delete # Indicates that this is a boot disk. The virtual machine will use the first # partition of the disk for its root filesystem. # Corresponds to the JSON property `boot` # @return [Boolean] attr_accessor :boot alias_method :boot?, :boot # Specifies the name of the disk attached to the source instance. # Corresponds to the JSON property `deviceName` # @return [String] attr_accessor :device_name # The encryption key for the disk. # Corresponds to the JSON property `diskEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :disk_encryption_key # The size of the disk in base-2 GB. # Corresponds to the JSON property `diskSizeGb` # @return [Fixnum] attr_accessor :disk_size_gb # Output only. [Output Only] URL of the disk type resource. For example:projects/ # project/zones/zone/diskTypes/pd-standard or # pd-ssd # Corresponds to the JSON property `diskType` # @return [String] attr_accessor :disk_type # 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. # Corresponds to the JSON property `guestOsFeatures` # @return [Array] attr_accessor :guest_os_features # Output only. Specifies zero-based index of the disk that is attached to the # source # instance. # Corresponds to the JSON property `index` # @return [Fixnum] attr_accessor :index # Specifies the disk interface to use for attaching this disk, which is # either SCSI or NVME. # Corresponds to the JSON property `interface` # @return [String] attr_accessor :interface # Output only. [Output Only] Type of the resource. Alwayscompute#attachedDisk # for attached disks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] Any valid publicly visible licenses. # Corresponds to the JSON property `licenses` # @return [Array] attr_accessor :licenses # The mode in which this disk is attached to the source instance, # eitherREAD_WRITE or READ_ONLY. # Corresponds to the JSON property `mode` # @return [String] attr_accessor :mode # Specifies a URL of the disk attached to the source instance. # Corresponds to the JSON property `source` # @return [String] attr_accessor :source # Output only. [Output Only] A size of the storage used by the disk's snapshot # by this # machine image. # Corresponds to the JSON property `storageBytes` # @return [Fixnum] attr_accessor :storage_bytes # Output only. [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. # Corresponds to the JSON property `storageBytesStatus` # @return [String] attr_accessor :storage_bytes_status # Specifies the type of the attached disk, either SCRATCH orPERSISTENT. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @auto_delete = args[:auto_delete] if args.key?(:auto_delete) @boot = args[:boot] if args.key?(:boot) @device_name = args[:device_name] if args.key?(:device_name) @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key) @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) @disk_type = args[:disk_type] if args.key?(:disk_type) @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features) @index = args[:index] if args.key?(:index) @interface = args[:interface] if args.key?(:interface) @kind = args[:kind] if args.key?(:kind) @licenses = args[:licenses] if args.key?(:licenses) @mode = args[:mode] if args.key?(:mode) @source = args[:source] if args.key?(:source) @storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes) @storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status) @type = args[:type] if args.key?(:type) end end # An instance-attached disk resource. class SavedDisk include Google::Apis::Core::Hashable # Output only. [Output Only] The architecture of the attached disk. # Corresponds to the JSON property `architecture` # @return [String] attr_accessor :architecture # Output only. [Output Only] Type of the resource. Always compute#savedDisk # for attached disks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. Specifies a URL of the disk attached to the source instance. # Corresponds to the JSON property `sourceDisk` # @return [String] attr_accessor :source_disk # Output only. [Output Only] Size of the individual disk snapshot used by this # machine # image. # Corresponds to the JSON property `storageBytes` # @return [Fixnum] attr_accessor :storage_bytes # Output only. [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. # Corresponds to the JSON property `storageBytesStatus` # @return [String] attr_accessor :storage_bytes_status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @architecture = args[:architecture] if args.key?(:architecture) @kind = args[:kind] if args.key?(:kind) @source_disk = args[:source_disk] if args.key?(:source_disk) @storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes) @storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status) end end # class ScalingScheduleStatus include Google::Apis::Core::Hashable # [Output Only] The last time the scaling schedule became active. # Note: this is a timestamp when a schedule actually became active, not when # it was planned to do so. # The timestamp is in RFC3339 # text format. # Corresponds to the JSON property `lastStartTime` # @return [String] attr_accessor :last_start_time # [Output Only] The next time the scaling schedule is to become active. # Note: this is a timestamp when a schedule is planned to run, but the actual # time might be slightly different. # The timestamp is in RFC3339 # text format. # Corresponds to the JSON property `nextStartTime` # @return [String] attr_accessor :next_start_time # [Output Only] The current state of a scaling schedule. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @last_start_time = args[:last_start_time] if args.key?(:last_start_time) @next_start_time = args[:next_start_time] if args.key?(:next_start_time) @state = args[:state] if args.key?(:state) end end # Sets the scheduling options for an Instance. class Scheduling include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `automaticRestart` # @return [Boolean] attr_accessor :automatic_restart alias_method :automatic_restart?, :automatic_restart # Specifies the availability domain to place the instance in. The value # must be a number between 1 and the number of availability domains # specified in the spread placement policy attached to the instance. # Corresponds to the JSON property `availabilityDomain` # @return [Fixnum] attr_accessor :availability_domain # Specify the time in seconds for host error detection, the value must be # within the range of [90, 330] with the increment of 30, if unset, the # default behavior of host error recovery will be used. # Corresponds to the JSON property `hostErrorTimeoutSeconds` # @return [Fixnum] attr_accessor :host_error_timeout_seconds # Specifies the termination action for the instance. # Corresponds to the JSON property `instanceTerminationAction` # @return [String] attr_accessor :instance_termination_action # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `localSsdRecoveryTimeout` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :local_ssd_recovery_timeout # 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. # Corresponds to the JSON property `locationHint` # @return [String] attr_accessor :location_hint # A Duration represents a fixed-length span of time represented # as a count of seconds and fractions of seconds at nanosecond # resolution. It is independent of any calendar and concepts like "day" # or "month". Range is approximately 10,000 years. # Corresponds to the JSON property `maxRunDuration` # @return [Google::Apis::ComputeV1::Duration] attr_accessor :max_run_duration # The minimum number of virtual CPUs this instance will consume when running # on a sole-tenant node. # Corresponds to the JSON property `minNodeCpus` # @return [Fixnum] attr_accessor :min_node_cpus # A set of node affinity and anti-affinity configurations. Refer toConfiguring # node # affinity for more information. # Overrides reservationAffinity. # Corresponds to the JSON property `nodeAffinities` # @return [Array] attr_accessor :node_affinities # Defines the maintenance behavior for this instance. For standard instances, # the default behavior is MIGRATE. Forpreemptible instances, # the default and only possible behavior is TERMINATE. For more # information, see # Set # VM host maintenance policy. # Corresponds to the JSON property `onHostMaintenance` # @return [String] attr_accessor :on_host_maintenance # Defines the behaviour for instances with the instance_termination_actionSTOP. # Corresponds to the JSON property `onInstanceStopAction` # @return [Google::Apis::ComputeV1::SchedulingOnInstanceStopAction] attr_accessor :on_instance_stop_action # Defines whether the instance is preemptible. This can only be set during # instance creation or while the instance isstopped and # therefore, in a `TERMINATED` state. SeeInstance Life # Cycle for more information on the possible instance states. # Corresponds to the JSON property `preemptible` # @return [Boolean] attr_accessor :preemptible alias_method :preemptible?, :preemptible # Specifies the provisioning model of the instance. # Corresponds to the JSON property `provisioningModel` # @return [String] attr_accessor :provisioning_model # Default is false and there will be 120 seconds between GCE ACPI G2 Soft # Off and ACPI G3 Mechanical # Off for Standard VMs and 30 seconds for Spot VMs. # Corresponds to the JSON property `skipGuestOsShutdown` # @return [Boolean] attr_accessor :skip_guest_os_shutdown alias_method :skip_guest_os_shutdown?, :skip_guest_os_shutdown # Specifies the timestamp, when the instance will be terminated, inRFC3339 text # format. If specified, the instance # termination action will be performed at the termination time. # Corresponds to the JSON property `terminationTime` # @return [String] attr_accessor :termination_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart) @availability_domain = args[:availability_domain] if args.key?(:availability_domain) @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds) @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action) @local_ssd_recovery_timeout = args[:local_ssd_recovery_timeout] if args.key?(:local_ssd_recovery_timeout) @location_hint = args[:location_hint] if args.key?(:location_hint) @max_run_duration = args[:max_run_duration] if args.key?(:max_run_duration) @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus) @node_affinities = args[:node_affinities] if args.key?(:node_affinities) @on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance) @on_instance_stop_action = args[:on_instance_stop_action] if args.key?(:on_instance_stop_action) @preemptible = args[:preemptible] if args.key?(:preemptible) @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model) @skip_guest_os_shutdown = args[:skip_guest_os_shutdown] if args.key?(:skip_guest_os_shutdown) @termination_time = args[:termination_time] if args.key?(:termination_time) end end # Node Affinity: the configuration of desired nodes onto which this Instance # could be scheduled. class SchedulingNodeAffinity include Google::Apis::Core::Hashable # Corresponds to the label key of Node resource. # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # Defines the operation of node selection. Valid operators areIN for affinity # and NOT_IN for anti-affinity. # Corresponds to the JSON property `operator` # @return [String] attr_accessor :operator # Corresponds to the label values of Node resource. # Corresponds to the JSON property `values` # @return [Array] attr_accessor :values def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @operator = args[:operator] if args.key?(:operator) @values = args[:values] if args.key?(:values) end end # Defines the behaviour for instances with the instance_termination_actionSTOP. class SchedulingOnInstanceStopAction include Google::Apis::Core::Hashable # If true, the contents of any attached Local SSD disks will be discarded # else, the Local SSD data will be preserved when the instance is stopped # at the end of the run duration/termination time. # Corresponds to the JSON property `discardLocalSsd` # @return [Boolean] attr_accessor :discard_local_ssd alias_method :discard_local_ssd?, :discard_local_ssd def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @discard_local_ssd = args[:discard_local_ssd] if args.key?(:discard_local_ssd) end end # An instance's screenshot. class Screenshot include Google::Apis::Core::Hashable # [Output Only] The Base64-encoded screenshot data. # Corresponds to the JSON property `contents` # @return [String] attr_accessor :contents # Output only. [Output Only] Type of the resource. Always compute#screenshot # for the screenshots. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @contents = args[:contents] if args.key?(:contents) @kind = args[:kind] if args.key?(:kind) end end # class SecurityPoliciesAggregatedList include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of SecurityPoliciesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # securityPolicyAggregatedList for lists of Security # Policies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::SecurityPoliciesAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class SecurityPoliciesListPreconfiguredExpressionSetsResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `preconfiguredExpressionSets` # @return [Google::Apis::ComputeV1::SecurityPoliciesWafConfig] attr_accessor :preconfigured_expression_sets def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @preconfigured_expression_sets = args[:preconfigured_expression_sets] if args.key?(:preconfigured_expression_sets) end end # class SecurityPoliciesScopedList include Google::Apis::Core::Hashable # A list of SecurityPolicies contained in this scope. # Corresponds to the JSON property `securityPolicies` # @return [Array] attr_accessor :security_policies # Informational warning which replaces the list of # security policies when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::SecurityPoliciesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @security_policies = args[:security_policies] if args.key?(:security_policies) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of # security policies when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class SecurityPoliciesWafConfig include Google::Apis::Core::Hashable # # Corresponds to the JSON property `wafRules` # @return [Google::Apis::ComputeV1::PreconfiguredWafSet] attr_accessor :waf_rules def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @waf_rules = args[:waf_rules] if args.key?(:waf_rules) end end # Represents a Google Cloud Armor security policy resource. # Only external backend services that use load balancers can # reference a security policy. For more information, see # Google Cloud Armor security policy overview. class SecurityPolicy include Google::Apis::Core::Hashable # Configuration options for Cloud Armor Adaptive Protection (CAAP). # Corresponds to the JSON property `adaptiveProtectionConfig` # @return [Google::Apis::ComputeV1::SecurityPolicyAdaptiveProtectionConfig] attr_accessor :adaptive_protection_config # # Corresponds to the JSON property `advancedOptionsConfig` # @return [Google::Apis::ComputeV1::SecurityPolicyAdvancedOptionsConfig] attr_accessor :advanced_options_config # A list of associations that belong to this policy. # Corresponds to the JSON property `associations` # @return [Array] attr_accessor :associations # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # # Corresponds to the JSON property `ddosProtectionConfig` # @return [Google::Apis::ComputeV1::SecurityPolicyDdosProtectionConfig] attr_accessor :ddos_protection_config # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # 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 error412 conditionNotMet. # To see the latest fingerprint, make get() request to the # security policy. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output only] Type of the resource. Alwayscompute# # securityPolicyfor security policies # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # Labels for this resource. These can only be added or modified by thesetLabels # method. Each label key/value pair must comply withRFC1035. # Label values may be empty. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] The parent of the security policy. # Corresponds to the JSON property `parent` # @return [String] attr_accessor :parent # # Corresponds to the JSON property `recaptchaOptionsConfig` # @return [Google::Apis::ComputeV1::SecurityPolicyRecaptchaOptionsConfig] attr_accessor :recaptcha_options_config # Output only. [Output Only] URL of the region where the regional security # policy # resides. This field is not applicable to global security policies. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # 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. # Corresponds to the JSON property `rules` # @return [Array] attr_accessor :rules # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # User-provided name of the organization security policy. The name should be # unique in the organization in which the security policy is created. This # should only be used when SecurityPolicyType is CLOUD_ARMOR. # The name must be 1-63 characters long, and comply with # https://www.ietf.org/rfc/rfc1035.txt. 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. # Corresponds to the JSON property `shortName` # @return [String] attr_accessor :short_name # 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 (preview only): 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. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # 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" # Corresponds to the JSON property `userDefinedFields` # @return [Array] attr_accessor :user_defined_fields def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @adaptive_protection_config = args[:adaptive_protection_config] if args.key?(:adaptive_protection_config) @advanced_options_config = args[:advanced_options_config] if args.key?(:advanced_options_config) @associations = args[:associations] if args.key?(:associations) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @ddos_protection_config = args[:ddos_protection_config] if args.key?(:ddos_protection_config) @description = args[:description] if args.key?(:description) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @parent = args[:parent] if args.key?(:parent) @recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config) @region = args[:region] if args.key?(:region) @rules = args[:rules] if args.key?(:rules) @self_link = args[:self_link] if args.key?(:self_link) @short_name = args[:short_name] if args.key?(:short_name) @type = args[:type] if args.key?(:type) @user_defined_fields = args[:user_defined_fields] if args.key?(:user_defined_fields) end end # Configuration options for Cloud Armor Adaptive Protection (CAAP). class SecurityPolicyAdaptiveProtectionConfig include Google::Apis::Core::Hashable # Configuration options for L7 DDoS detection. # This field is only supported in Global Security Policies of type # CLOUD_ARMOR. # Corresponds to the JSON property `layer7DdosDefenseConfig` # @return [Google::Apis::ComputeV1::SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig] attr_accessor :layer7_ddos_defense_config def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @layer7_ddos_defense_config = args[:layer7_ddos_defense_config] if args.key?(:layer7_ddos_defense_config) end end # Configuration options for L7 DDoS detection. # This field is only supported in Global Security Policies of type # CLOUD_ARMOR. class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig include Google::Apis::Core::Hashable # If set to true, enables CAAP for L7 DDoS detection. # This field is only supported in Global Security Policies of type # CLOUD_ARMOR. # Corresponds to the JSON property `enable` # @return [Boolean] attr_accessor :enable alias_method :enable?, :enable # 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. # Corresponds to the JSON property `ruleVisibility` # @return [String] attr_accessor :rule_visibility # Configuration options for layer7 adaptive protection for various # customizable thresholds. # Corresponds to the JSON property `thresholdConfigs` # @return [Array] attr_accessor :threshold_configs def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @enable = args[:enable] if args.key?(:enable) @rule_visibility = args[:rule_visibility] if args.key?(:rule_visibility) @threshold_configs = args[:threshold_configs] if args.key?(:threshold_configs) end end # class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig include Google::Apis::Core::Hashable # # Corresponds to the JSON property `autoDeployConfidenceThreshold` # @return [Float] attr_accessor :auto_deploy_confidence_threshold # # Corresponds to the JSON property `autoDeployExpirationSec` # @return [Fixnum] attr_accessor :auto_deploy_expiration_sec # # Corresponds to the JSON property `autoDeployImpactedBaselineThreshold` # @return [Float] attr_accessor :auto_deploy_impacted_baseline_threshold # # Corresponds to the JSON property `autoDeployLoadThreshold` # @return [Float] attr_accessor :auto_deploy_load_threshold # # Corresponds to the JSON property `detectionAbsoluteQps` # @return [Float] attr_accessor :detection_absolute_qps # # Corresponds to the JSON property `detectionLoadThreshold` # @return [Float] attr_accessor :detection_load_threshold # # Corresponds to the JSON property `detectionRelativeToBaselineQps` # @return [Float] attr_accessor :detection_relative_to_baseline_qps # The name must be 1-63 characters long, and comply withRFC1035. # The name must be unique within the security policy. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Configuration options for enabling Adaptive Protection to operate # on specified granular traffic units. # Corresponds to the JSON property `trafficGranularityConfigs` # @return [Array] attr_accessor :traffic_granularity_configs def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @auto_deploy_confidence_threshold = args[:auto_deploy_confidence_threshold] if args.key?(:auto_deploy_confidence_threshold) @auto_deploy_expiration_sec = args[:auto_deploy_expiration_sec] if args.key?(:auto_deploy_expiration_sec) @auto_deploy_impacted_baseline_threshold = args[:auto_deploy_impacted_baseline_threshold] if args.key?(:auto_deploy_impacted_baseline_threshold) @auto_deploy_load_threshold = args[:auto_deploy_load_threshold] if args.key?(:auto_deploy_load_threshold) @detection_absolute_qps = args[:detection_absolute_qps] if args.key?(:detection_absolute_qps) @detection_load_threshold = args[:detection_load_threshold] if args.key?(:detection_load_threshold) @detection_relative_to_baseline_qps = args[:detection_relative_to_baseline_qps] if args.key?(:detection_relative_to_baseline_qps) @name = args[:name] if args.key?(:name) @traffic_granularity_configs = args[:traffic_granularity_configs] if args.key?(:traffic_granularity_configs) end end # Configurations to specifc granular traffic units processed by # Adaptive Protection. class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig include Google::Apis::Core::Hashable # If enabled, traffic matching each unique value for the specified # type constitutes a separate traffic unit. # It can only be set to true if `value` is empty. # Corresponds to the JSON property `enableEachUniqueValue` # @return [Boolean] attr_accessor :enable_each_unique_value alias_method :enable_each_unique_value?, :enable_each_unique_value # Type of this configuration. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # Requests that match this value constitute a granular traffic unit. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @enable_each_unique_value = args[:enable_each_unique_value] if args.key?(:enable_each_unique_value) @type = args[:type] if args.key?(:type) @value = args[:value] if args.key?(:value) end end # class SecurityPolicyAdvancedOptionsConfig include Google::Apis::Core::Hashable # Custom configuration to apply the JSON parsing. Only applicable when # json_parsing is set to STANDARD. # Corresponds to the JSON property `jsonCustomConfig` # @return [Google::Apis::ComputeV1::SecurityPolicyAdvancedOptionsConfigJsonCustomConfig] attr_accessor :json_custom_config # # Corresponds to the JSON property `jsonParsing` # @return [String] attr_accessor :json_parsing # # Corresponds to the JSON property `logLevel` # @return [String] attr_accessor :log_level # The maximum request size chosen by the customer with Waf enabled. # Values supported are "8KB", "16KB, "32KB", "48KB" and "64KB". # Values are case insensitive. # Corresponds to the JSON property `requestBodyInspectionSize` # @return [String] attr_accessor :request_body_inspection_size # An optional list of case-insensitive request header names to use for # resolving the callers client IP address. # Corresponds to the JSON property `userIpRequestHeaders` # @return [Array] attr_accessor :user_ip_request_headers def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @json_custom_config = args[:json_custom_config] if args.key?(:json_custom_config) @json_parsing = args[:json_parsing] if args.key?(:json_parsing) @log_level = args[:log_level] if args.key?(:log_level) @request_body_inspection_size = args[:request_body_inspection_size] if args.key?(:request_body_inspection_size) @user_ip_request_headers = args[:user_ip_request_headers] if args.key?(:user_ip_request_headers) end end # class SecurityPolicyAdvancedOptionsConfigJsonCustomConfig include Google::Apis::Core::Hashable # A list of custom Content-Type header values to apply the JSON parsing. # As per RFC 1341, a Content-Type header value has the following format: # Content-Type := type "/" subtype *[";" parameter] # When configuring a custom Content-Type header value, only the # type/subtype needs to be specified, and the parameters should be # excluded. # Corresponds to the JSON property `contentTypes` # @return [Array] attr_accessor :content_types def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content_types = args[:content_types] if args.key?(:content_types) end end # class SecurityPolicyAssociation include Google::Apis::Core::Hashable # The resource that the security policy is attached to. # Corresponds to the JSON property `attachmentId` # @return [String] attr_accessor :attachment_id # Output only. [Output Only] The display name of the security policy of the # association. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # A list of folders to exclude from the security policy. # Corresponds to the JSON property `excludedFolders` # @return [Array] attr_accessor :excluded_folders # A list of projects to exclude from the security policy. # Corresponds to the JSON property `excludedProjects` # @return [Array] attr_accessor :excluded_projects # The name for an association. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] The security policy ID of the association. # Corresponds to the JSON property `securityPolicyId` # @return [String] attr_accessor :security_policy_id # Output only. [Output Only] The short name of the security policy of the # association. # Corresponds to the JSON property `shortName` # @return [String] attr_accessor :short_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @attachment_id = args[:attachment_id] if args.key?(:attachment_id) @display_name = args[:display_name] if args.key?(:display_name) @excluded_folders = args[:excluded_folders] if args.key?(:excluded_folders) @excluded_projects = args[:excluded_projects] if args.key?(:excluded_projects) @name = args[:name] if args.key?(:name) @security_policy_id = args[:security_policy_id] if args.key?(:security_policy_id) @short_name = args[:short_name] if args.key?(:short_name) end end # class SecurityPolicyDdosProtectionConfig include Google::Apis::Core::Hashable # # Corresponds to the JSON property `ddosProtection` # @return [String] attr_accessor :ddos_protection def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ddos_protection = args[:ddos_protection] if args.key?(:ddos_protection) end end # class SecurityPolicyList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of SecurityPolicy resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute#securityPolicyList # for listsof securityPolicies # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::SecurityPolicyList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class SecurityPolicyRecaptchaOptionsConfig include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `redirectSiteKey` # @return [String] attr_accessor :redirect_site_key def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @redirect_site_key = args[:redirect_site_key] if args.key?(:redirect_site_key) end end # class SecurityPolicyReference include Google::Apis::Core::Hashable # # Corresponds to the JSON property `securityPolicy` # @return [String] attr_accessor :security_policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @security_policy = args[:security_policy] if args.key?(:security_policy) end end # Represents a rule that describes one or more match conditions along with # the action to be taken when traffic matches this condition (allow or deny). class SecurityPolicyRule include Google::Apis::Core::Hashable # 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. # - fairshare (preview only): when traffic reaches the # threshold limit, requests from the clients matching this rule begin to be # rate-limited using the Fair Share algorithm. This action is only allowed # in security policies of type `CLOUD_ARMOR_INTERNAL_SERVICE`. # Corresponds to the JSON property `action` # @return [String] attr_accessor :action # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Optional, additional actions that are performed on headers. # This field is only supported in Global Security Policies of type # CLOUD_ARMOR. # Corresponds to the JSON property `headerAction` # @return [Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderAction] attr_accessor :header_action # Output only. [Output only] Type of the resource. Alwayscompute# # securityPolicyRule for security policy rules # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Represents a match condition that incoming traffic is evaluated against. # Exactly one field must be specified. # Corresponds to the JSON property `match` # @return [Google::Apis::ComputeV1::SecurityPolicyRuleMatcher] attr_accessor :match # Represents a match condition that incoming network traffic is evaluated # against. # Corresponds to the JSON property `networkMatch` # @return [Google::Apis::ComputeV1::SecurityPolicyRuleNetworkMatcher] attr_accessor :network_match # 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. # Corresponds to the JSON property `preconfiguredWafConfig` # @return [Google::Apis::ComputeV1::SecurityPolicyRulePreconfiguredWafConfig] attr_accessor :preconfigured_waf_config # If set to true, the specified action is not enforced. # Corresponds to the JSON property `preview` # @return [Boolean] attr_accessor :preview alias_method :preview?, :preview # 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. # Corresponds to the JSON property `priority` # @return [Fixnum] attr_accessor :priority # Must be specified if the action is "rate_based_ban" or "throttle" or # "fairshare". Cannot be specified for any other actions. # Corresponds to the JSON property `rateLimitOptions` # @return [Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptions] attr_accessor :rate_limit_options # 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. # Corresponds to the JSON property `redirectOptions` # @return [Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions] attr_accessor :redirect_options def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @action = args[:action] if args.key?(:action) @description = args[:description] if args.key?(:description) @header_action = args[:header_action] if args.key?(:header_action) @kind = args[:kind] if args.key?(:kind) @match = args[:match] if args.key?(:match) @network_match = args[:network_match] if args.key?(:network_match) @preconfigured_waf_config = args[:preconfigured_waf_config] if args.key?(:preconfigured_waf_config) @preview = args[:preview] if args.key?(:preview) @priority = args[:priority] if args.key?(:priority) @rate_limit_options = args[:rate_limit_options] if args.key?(:rate_limit_options) @redirect_options = args[:redirect_options] if args.key?(:redirect_options) end end # class SecurityPolicyRuleHttpHeaderAction include Google::Apis::Core::Hashable # The list of request headers to add or overwrite if they're already # present. # Corresponds to the JSON property `requestHeadersToAdds` # @return [Array] attr_accessor :request_headers_to_adds def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @request_headers_to_adds = args[:request_headers_to_adds] if args.key?(:request_headers_to_adds) end end # class SecurityPolicyRuleHttpHeaderActionHttpHeaderOption include Google::Apis::Core::Hashable # The name of the header to set. # Corresponds to the JSON property `headerName` # @return [String] attr_accessor :header_name # The value to set the named header to. # Corresponds to the JSON property `headerValue` # @return [String] attr_accessor :header_value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @header_name = args[:header_name] if args.key?(:header_name) @header_value = args[:header_value] if args.key?(:header_value) end end # Represents a match condition that incoming traffic is evaluated against. # Exactly one field must be specified. class SecurityPolicyRuleMatcher include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `config` # @return [Google::Apis::ComputeV1::SecurityPolicyRuleMatcherConfig] attr_accessor :config # Represents a textual expression in the Common Expression Language (CEL) # syntax. CEL is a C-like expression language. The syntax and semantics of CEL # are documented at https://github.com/google/cel-spec. # Example (Comparison): # title: "Summary size limit" # description: "Determines if a summary is less than 100 chars" # expression: "document.summary.size() < 100" # Example (Equality): # title: "Requestor is owner" # description: "Determines if requestor is the document owner" # expression: "document.owner == request.auth.claims.email" # Example (Logic): # title: "Public documents" # description: "Determine whether the document should be publicly visible" # expression: "document.type != 'private' && document.type != 'internal'" # Example (Data Manipulation): # title: "Notification string" # description: "Create a notification string with a timestamp." # expression: "'New message received at ' + string(document.create_time)" # The exact variables and functions that may be referenced within an expression # are determined by the service that evaluates it. See the service # documentation for additional information. # Corresponds to the JSON property `expr` # @return [Google::Apis::ComputeV1::Expr] attr_accessor :expr # The configuration options available when specifying a user defined # CEVAL expression (i.e., 'expr'). # Corresponds to the JSON property `exprOptions` # @return [Google::Apis::ComputeV1::SecurityPolicyRuleMatcherExprOptions] attr_accessor :expr_options # 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. # Corresponds to the JSON property `versionedExpr` # @return [String] attr_accessor :versioned_expr def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @config = args[:config] if args.key?(:config) @expr = args[:expr] if args.key?(:expr) @expr_options = args[:expr_options] if args.key?(:expr_options) @versioned_expr = args[:versioned_expr] if args.key?(:versioned_expr) end end # class SecurityPolicyRuleMatcherConfig include Google::Apis::Core::Hashable # CIDR IP address range. # Maximum number of src_ip_ranges allowed is 10. # Corresponds to the JSON property `srcIpRanges` # @return [Array] attr_accessor :src_ip_ranges def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges) end end # class SecurityPolicyRuleMatcherExprOptions include Google::Apis::Core::Hashable # reCAPTCHA configuration options to be applied for the rule. If the # rule does not evaluate reCAPTCHA tokens, this field has no effect. # Corresponds to the JSON property `recaptchaOptions` # @return [Google::Apis::ComputeV1::SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions] attr_accessor :recaptcha_options def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @recaptcha_options = args[:recaptcha_options] if args.key?(:recaptcha_options) end end # class SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `actionTokenSiteKeys` # @return [Array] attr_accessor :action_token_site_keys # 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. # Corresponds to the JSON property `sessionTokenSiteKeys` # @return [Array] attr_accessor :session_token_site_keys def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @action_token_site_keys = args[:action_token_site_keys] if args.key?(:action_token_site_keys) @session_token_site_keys = args[:session_token_site_keys] if args.key?(:session_token_site_keys) end end # Represents a match condition that incoming network traffic is evaluated # against. class SecurityPolicyRuleNetworkMatcher include Google::Apis::Core::Hashable # Destination IPv4/IPv6 addresses or CIDR prefixes, in standard text # format. # Corresponds to the JSON property `destIpRanges` # @return [Array] attr_accessor :dest_ip_ranges # 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"). # Corresponds to the JSON property `destPorts` # @return [Array] attr_accessor :dest_ports # 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". # Corresponds to the JSON property `ipProtocols` # @return [Array] attr_accessor :ip_protocols # BGP Autonomous System Number associated with the source IP address. # Corresponds to the JSON property `srcAsns` # @return [Array] attr_accessor :src_asns # Source IPv4/IPv6 addresses or CIDR prefixes, in standard text format. # Corresponds to the JSON property `srcIpRanges` # @return [Array] attr_accessor :src_ip_ranges # 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"). # Corresponds to the JSON property `srcPorts` # @return [Array] attr_accessor :src_ports # Two-letter ISO 3166-1 alpha-2 country code associated with the source # IP address. # Corresponds to the JSON property `srcRegionCodes` # @return [Array] attr_accessor :src_region_codes # User-defined fields. Each element names a defined field and lists the # matching values for that field. # Corresponds to the JSON property `userDefinedFields` # @return [Array] attr_accessor :user_defined_fields def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges) @dest_ports = args[:dest_ports] if args.key?(:dest_ports) @ip_protocols = args[:ip_protocols] if args.key?(:ip_protocols) @src_asns = args[:src_asns] if args.key?(:src_asns) @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges) @src_ports = args[:src_ports] if args.key?(:src_ports) @src_region_codes = args[:src_region_codes] if args.key?(:src_region_codes) @user_defined_fields = args[:user_defined_fields] if args.key?(:user_defined_fields) end end # class SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch include Google::Apis::Core::Hashable # Name of the user-defined field, as given in the definition. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # 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"). # Corresponds to the JSON property `values` # @return [Array] attr_accessor :values def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @values = args[:values] if args.key?(:values) end end # class SecurityPolicyRulePreconfiguredWafConfig include Google::Apis::Core::Hashable # A list of exclusions to apply during preconfigured WAF evaluation. # Corresponds to the JSON property `exclusions` # @return [Array] attr_accessor :exclusions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @exclusions = args[:exclusions] if args.key?(:exclusions) end end # class SecurityPolicyRulePreconfiguredWafConfigExclusion include Google::Apis::Core::Hashable # A list of request cookie names whose value will be excluded from # inspection during preconfigured WAF evaluation. # Corresponds to the JSON property `requestCookiesToExclude` # @return [Array] attr_accessor :request_cookies_to_exclude # A list of request header names whose value will be excluded from # inspection during preconfigured WAF evaluation. # Corresponds to the JSON property `requestHeadersToExclude` # @return [Array] attr_accessor :request_headers_to_exclude # 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. # Corresponds to the JSON property `requestQueryParamsToExclude` # @return [Array] attr_accessor :request_query_params_to_exclude # 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. # Corresponds to the JSON property `requestUrisToExclude` # @return [Array] attr_accessor :request_uris_to_exclude # 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. # Corresponds to the JSON property `targetRuleIds` # @return [Array] attr_accessor :target_rule_ids # Target WAF rule set to apply the preconfigured WAF exclusion. # Corresponds to the JSON property `targetRuleSet` # @return [String] attr_accessor :target_rule_set def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @request_cookies_to_exclude = args[:request_cookies_to_exclude] if args.key?(:request_cookies_to_exclude) @request_headers_to_exclude = args[:request_headers_to_exclude] if args.key?(:request_headers_to_exclude) @request_query_params_to_exclude = args[:request_query_params_to_exclude] if args.key?(:request_query_params_to_exclude) @request_uris_to_exclude = args[:request_uris_to_exclude] if args.key?(:request_uris_to_exclude) @target_rule_ids = args[:target_rule_ids] if args.key?(:target_rule_ids) @target_rule_set = args[:target_rule_set] if args.key?(:target_rule_set) end end # class SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams include Google::Apis::Core::Hashable # The match operator for the field. # Corresponds to the JSON property `op` # @return [String] attr_accessor :op # The value of the field. # Corresponds to the JSON property `val` # @return [String] attr_accessor :val def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @op = args[:op] if args.key?(:op) @val = args[:val] if args.key?(:val) end end # class SecurityPolicyRuleRateLimitOptions include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `banDurationSec` # @return [Fixnum] attr_accessor :ban_duration_sec # 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'. # Corresponds to the JSON property `banThreshold` # @return [Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptionsThreshold] attr_accessor :ban_threshold # Action to take for requests that are under the configured rate limit # threshold. Valid option is "allow" only. # Corresponds to the JSON property `conformAction` # @return [String] attr_accessor :conform_action # 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 toALL. # - 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 toALL. # - 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 toIP. # - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the # client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the # key type defaults to ALL. # For "fairshare" action, this value is limited to ALL i.e. a single rate # limit threshold is enforced for all the requests matching the rule. # Corresponds to the JSON property `enforceOnKey` # @return [String] attr_accessor :enforce_on_key # 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. # Corresponds to the JSON property `enforceOnKeyConfigs` # @return [Array] attr_accessor :enforce_on_key_configs # 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. # Corresponds to the JSON property `enforceOnKeyName` # @return [String] attr_accessor :enforce_on_key_name # 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. # Corresponds to the JSON property `exceedAction` # @return [String] attr_accessor :exceed_action # 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. # Corresponds to the JSON property `exceedRedirectOptions` # @return [Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions] attr_accessor :exceed_redirect_options # Threshold at which to begin ratelimiting. # Corresponds to the JSON property `rateLimitThreshold` # @return [Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptionsThreshold] attr_accessor :rate_limit_threshold def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ban_duration_sec = args[:ban_duration_sec] if args.key?(:ban_duration_sec) @ban_threshold = args[:ban_threshold] if args.key?(:ban_threshold) @conform_action = args[:conform_action] if args.key?(:conform_action) @enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key) @enforce_on_key_configs = args[:enforce_on_key_configs] if args.key?(:enforce_on_key_configs) @enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name) @exceed_action = args[:exceed_action] if args.key?(:exceed_action) @exceed_redirect_options = args[:exceed_redirect_options] if args.key?(:exceed_redirect_options) @rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold) end end # class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `enforceOnKeyName` # @return [String] attr_accessor :enforce_on_key_name # 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 toALL. # - 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 toALL. # - 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 toIP. # - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the # client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the # key type defaults to ALL. # Corresponds to the JSON property `enforceOnKeyType` # @return [String] attr_accessor :enforce_on_key_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name) @enforce_on_key_type = args[:enforce_on_key_type] if args.key?(:enforce_on_key_type) end end # class SecurityPolicyRuleRateLimitOptionsThreshold include Google::Apis::Core::Hashable # Number of HTTP(S) requests for calculating the threshold. # Corresponds to the JSON property `count` # @return [Fixnum] attr_accessor :count # Interval over which the threshold is computed. # Corresponds to the JSON property `intervalSec` # @return [Fixnum] attr_accessor :interval_sec def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @count = args[:count] if args.key?(:count) @interval_sec = args[:interval_sec] if args.key?(:interval_sec) end end # class SecurityPolicyRuleRedirectOptions include Google::Apis::Core::Hashable # Target for the redirect action. This is required if the type is # EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA. # Corresponds to the JSON property `target` # @return [String] attr_accessor :target # Type of the redirect action. Possible values are: # # - GOOGLE_RECAPTCHA: redirect to reCAPTCHA for manual # challenge assessment. # - EXTERNAL_302: redirect to a different URL via a 302 # response. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @target = args[:target] if args.key?(:target) @type = args[:type] if args.key?(:type) end end # class SecurityPolicyUserDefinedField include Google::Apis::Core::Hashable # 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 # Corresponds to the JSON property `base` # @return [String] attr_accessor :base # 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. # Corresponds to the JSON property `mask` # @return [String] attr_accessor :mask # The name of this field. Must be unique within the policy. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Offset of the first byte of the field (in network byte order) relative to # 'base'. # Corresponds to the JSON property `offset` # @return [Fixnum] attr_accessor :offset # Size of the field in bytes. Valid values: 1-4. # Corresponds to the JSON property `size` # @return [Fixnum] attr_accessor :size def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @base = args[:base] if args.key?(:base) @mask = args[:mask] if args.key?(:mask) @name = args[:name] if args.key?(:name) @offset = args[:offset] if args.key?(:offset) @size = args[:size] if args.key?(:size) end end # The authentication and authorization settings for a BackendService. class SecuritySettings include Google::Apis::Core::Hashable # 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'. # Corresponds to the JSON property `awsV4Authentication` # @return [Google::Apis::ComputeV1::Awsv4Signature] attr_accessor :aws_v4_authentication # 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 globalBackendService with the # loadBalancingScheme set # to INTERNAL_SELF_MANAGED. # If left blank, communications are not encrypted. # Corresponds to the JSON property `clientTlsPolicy` # @return [String] attr_accessor :client_tls_policy # Optional. A list of Subject Alternative Names (SANs) that the client # verifies during a mutual TLS handshake with an server/endpoint for # thisBackendService. When the server presents its X.509 certificate # to the client, the client inspects the certificate'ssubjectAltName 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 withloadBalancingScheme set to # INTERNAL_SELF_MANAGED. # Only applies when BackendService has an attachedclientTlsPolicy with # clientCertificate (mTLS # mode). # Corresponds to the JSON property `subjectAltNames` # @return [Array] attr_accessor :subject_alt_names def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @aws_v4_authentication = args[:aws_v4_authentication] if args.key?(:aws_v4_authentication) @client_tls_policy = args[:client_tls_policy] if args.key?(:client_tls_policy) @subject_alt_names = args[:subject_alt_names] if args.key?(:subject_alt_names) end end # An instance serial console output. class SerialPortOutput include Google::Apis::Core::Hashable # [Output Only] The contents of the console output. # Corresponds to the JSON property `contents` # @return [String] attr_accessor :contents # Output only. [Output Only] Type of the resource. Alwayscompute# # serialPortOutput for serial port output. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] The position of the next byte of content, regardless of # whether the content exists, following the output returned in the `contents` # property. Use this value in the next request as the start # parameter. # Corresponds to the JSON property `next` # @return [Fixnum] attr_accessor :next # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # The starting byte position of the output that was returned. # This should match the start parameter sent with the request. # If the serial console output exceeds the size of the buffer (1 MB), older # output is overwritten by newer content. The output start value will # indicate the byte position of the output that was returned, which might be # different than the `start` value that was specified in the request. # Corresponds to the JSON property `start` # @return [Fixnum] attr_accessor :start def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @contents = args[:contents] if args.key?(:contents) @kind = args[:kind] if args.key?(:kind) @next = args[:next] if args.key?(:next) @self_link = args[:self_link] if args.key?(:self_link) @start = args[:start] if args.key?(:start) end end # class ServerBinding include Google::Apis::Core::Hashable # # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @type = args[:type] if args.key?(:type) end end # A service account. class ServiceAccount include Google::Apis::Core::Hashable # Email address of the service account. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # The list of scopes to be made available for this service account. # Corresponds to the JSON property `scopes` # @return [Array] attr_accessor :scopes def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @email = args[:email] if args.key?(:email) @scopes = args[:scopes] if args.key?(:scopes) end end # 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. class ServiceAttachment include Google::Apis::Core::Hashable # Output only. [Output Only] An array of connections for all the consumers # connected to # this service attachment. # Corresponds to the JSON property `connectedEndpoints` # @return [Array] attr_accessor :connected_endpoints # The connection preference of service attachment. The value can be set # to ACCEPT_AUTOMATIC. An ACCEPT_AUTOMATIC # service attachment is one that always accepts the connection from consumer # forwarding rules. # Corresponds to the JSON property `connectionPreference` # @return [String] attr_accessor :connection_preference # Specifies which consumer projects or networks are allowed to connect to the # service attachment. Each project or network has a connection limit. A given # service attachment can manage connections at either the project or network # level. Therefore, both the accept and reject lists for a given service # attachment must contain either only projects or only networks or only # endpoints. # Corresponds to the JSON property `consumerAcceptLists` # @return [Array] attr_accessor :consumer_accept_lists # Specifies a list of projects or networks that are not allowed to connect to # this service attachment. The project can be specified using its project ID # or project number and the network can be specified using its URL. A given # service attachment can manage connections at either the project or network # level. Therefore, both the reject and accept lists for a given service # attachment must contain either only projects or only networks. # Corresponds to the JSON property `consumerRejectLists` # @return [Array] attr_accessor :consumer_reject_lists # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # If specified, the domain name will be used during the integration between # the PSC connected endpoints and the Cloud DNS. For example, this is a valid # domain name: "p.mycompany.com.". Current max number of domain names # supported is 1. # Corresponds to the JSON property `domainNames` # @return [Array] attr_accessor :domain_names # If true, enable the proxy protocol which is for supplying client TCP/IP # address data in TCP connections that traverse proxies on their way to # destination servers. # Corresponds to the JSON property `enableProxyProtocol` # @return [Boolean] attr_accessor :enable_proxy_protocol alias_method :enable_proxy_protocol?, :enable_proxy_protocol # 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 ServiceAttachment. An up-to-date fingerprint must # be provided in order to patch/update the ServiceAttachment; otherwise, the # request will fail with error 412 conditionNotMet. To see the # latest fingerprint, make a get() request to retrieve the # ServiceAttachment. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # Output only. [Output Only] The unique identifier for the resource type. The # server # generates this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute# # serviceAttachment for service attachments. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Metadata of the service attachment. # Corresponds to the JSON property `metadata` # @return [Hash] attr_accessor :metadata # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # 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. # Corresponds to the JSON property `natSubnets` # @return [Array] attr_accessor :nat_subnets # The URL of a forwarding rule with loadBalancingScheme INTERNAL* that is # serving the endpoint identified by this service attachment. # Corresponds to the JSON property `producerForwardingRule` # @return [String] attr_accessor :producer_forwarding_rule # The number of consumer spokes that connected Private Service Connect # endpoints can be propagated to through Network Connectivity Center. This # limit lets the service producer limit how many propagated Private Service # Connect connections can be established to this service attachment from a # single consumer. # If the connection preference of the service attachment is ACCEPT_MANUAL, # the limit applies to each project or network that is listed in the consumer # accept list. If the connection preference of the service attachment is # ACCEPT_AUTOMATIC, the limit applies to each project that contains a # connected endpoint. # If unspecified, the default propagated connection limit is 250. # Corresponds to the JSON property `propagatedConnectionLimit` # @return [Fixnum] attr_accessor :propagated_connection_limit # Output only. [Output Only] An 128-bit global unique ID of the PSC service # attachment. # Corresponds to the JSON property `pscServiceAttachmentId` # @return [Google::Apis::ComputeV1::Uint128] attr_accessor :psc_service_attachment_id # 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. # Corresponds to the JSON property `reconcileConnections` # @return [Boolean] attr_accessor :reconcile_connections alias_method :reconcile_connections?, :reconcile_connections # Output only. [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. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # The URL of a service serving the endpoint identified by this service # attachment. # Corresponds to the JSON property `targetService` # @return [String] attr_accessor :target_service def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @connected_endpoints = args[:connected_endpoints] if args.key?(:connected_endpoints) @connection_preference = args[:connection_preference] if args.key?(:connection_preference) @consumer_accept_lists = args[:consumer_accept_lists] if args.key?(:consumer_accept_lists) @consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @domain_names = args[:domain_names] if args.key?(:domain_names) @enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @metadata = args[:metadata] if args.key?(:metadata) @name = args[:name] if args.key?(:name) @nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets) @producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule) @propagated_connection_limit = args[:propagated_connection_limit] if args.key?(:propagated_connection_limit) @psc_service_attachment_id = args[:psc_service_attachment_id] if args.key?(:psc_service_attachment_id) @reconcile_connections = args[:reconcile_connections] if args.key?(:reconcile_connections) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @target_service = args[:target_service] if args.key?(:target_service) end end # Contains a list of ServiceAttachmentsScopedList. class ServiceAttachmentAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of ServiceAttachmentsScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ServiceAttachmentAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # [Output Only] A connection connected to this service attachment. class ServiceAttachmentConnectedEndpoint include Google::Apis::Core::Hashable # The url of the consumer network. # Corresponds to the JSON property `consumerNetwork` # @return [String] attr_accessor :consumer_network # The url of a connected endpoint. # Corresponds to the JSON property `endpoint` # @return [String] attr_accessor :endpoint # NAT IPs of the connected PSC endpoint and those of other endpoints # propagated from it. # Corresponds to the JSON property `natIps` # @return [Array] attr_accessor :nat_ips # The number of consumer Network Connectivity Center spokes that the # connected Private Service Connect endpoint has propagated to. # Corresponds to the JSON property `propagatedConnectionCount` # @return [Fixnum] attr_accessor :propagated_connection_count # The PSC connection id of the connected endpoint. # Corresponds to the JSON property `pscConnectionId` # @return [Fixnum] attr_accessor :psc_connection_id # The status of a connected endpoint to this service attachment. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @consumer_network = args[:consumer_network] if args.key?(:consumer_network) @endpoint = args[:endpoint] if args.key?(:endpoint) @nat_ips = args[:nat_ips] if args.key?(:nat_ips) @propagated_connection_count = args[:propagated_connection_count] if args.key?(:propagated_connection_count) @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id) @status = args[:status] if args.key?(:status) end end # class ServiceAttachmentConsumerProjectLimit include Google::Apis::Core::Hashable # The value of the limit to set. For endpoint_url, the limit should be no # more than 1. # Corresponds to the JSON property `connectionLimit` # @return [Fixnum] attr_accessor :connection_limit # The network URL for the network to set the limit for. # Corresponds to the JSON property `networkUrl` # @return [String] attr_accessor :network_url # The project id or number for the project to set the limit for. # Corresponds to the JSON property `projectIdOrNum` # @return [String] attr_accessor :project_id_or_num def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @connection_limit = args[:connection_limit] if args.key?(:connection_limit) @network_url = args[:network_url] if args.key?(:network_url) @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num) end end # class ServiceAttachmentList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of ServiceAttachment resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of the resource. Alwayscompute# # serviceAttachment for service attachments. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ServiceAttachmentList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class ServiceAttachmentsScopedList include Google::Apis::Core::Hashable # A list of ServiceAttachments contained in this scope. # Corresponds to the JSON property `serviceAttachments` # @return [Array] attr_accessor :service_attachments # Informational warning which replaces the list of # service attachments when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ServiceAttachmentsScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @service_attachments = args[:service_attachments] if args.key?(:service_attachments) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of # service attachments when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class SetCommonInstanceMetadataOperationMetadata include Google::Apis::Core::Hashable # [Output Only] The client operation id. # Corresponds to the JSON property `clientOperationId` # @return [String] attr_accessor :client_operation_id # [Output Only] Status information per location (location name is key). # Example key: zones/us-central1-a # Corresponds to the JSON property `perLocationOperations` # @return [Hash] attr_accessor :per_location_operations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @client_operation_id = args[:client_operation_id] if args.key?(:client_operation_id) @per_location_operations = args[:per_location_operations] if args.key?(:per_location_operations) end end # class SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo include Google::Apis::Core::Hashable # 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). # Corresponds to the JSON property `error` # @return [Google::Apis::ComputeV1::Status] attr_accessor :error # [Output Only] Status of the action, which can be one of the following: # `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @error = args[:error] if args.key?(:error) @state = args[:state] if args.key?(:state) end end # The share setting for reservations and sole tenancy node groups. class ShareSettings include Google::Apis::Core::Hashable # A map of project id and project config. This is only valid when # share_type's value is SPECIFIC_PROJECTS. # Corresponds to the JSON property `projectMap` # @return [Hash] attr_accessor :project_map # Type of sharing for this shared-reservation # Corresponds to the JSON property `shareType` # @return [String] attr_accessor :share_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @project_map = args[:project_map] if args.key?(:project_map) @share_type = args[:share_type] if args.key?(:share_type) end end # Config for each project in the share settings. class ShareSettingsProjectConfig include Google::Apis::Core::Hashable # The project ID, should be same as the key of this project config in the # parent map. # Corresponds to the JSON property `projectId` # @return [String] attr_accessor :project_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @project_id = args[:project_id] if args.key?(:project_id) end end # A set of Shielded Instance options. class ShieldedInstanceConfig include Google::Apis::Core::Hashable # Defines whether the instance has integrity monitoring enabled.Enabled by # default. # Corresponds to the JSON property `enableIntegrityMonitoring` # @return [Boolean] attr_accessor :enable_integrity_monitoring alias_method :enable_integrity_monitoring?, :enable_integrity_monitoring # Defines whether the instance has Secure Boot enabled.Disabled by # default. # Corresponds to the JSON property `enableSecureBoot` # @return [Boolean] attr_accessor :enable_secure_boot alias_method :enable_secure_boot?, :enable_secure_boot # Defines whether the instance has the vTPM enabled.Enabled by # default. # Corresponds to the JSON property `enableVtpm` # @return [Boolean] attr_accessor :enable_vtpm alias_method :enable_vtpm?, :enable_vtpm def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @enable_integrity_monitoring = args[:enable_integrity_monitoring] if args.key?(:enable_integrity_monitoring) @enable_secure_boot = args[:enable_secure_boot] if args.key?(:enable_secure_boot) @enable_vtpm = args[:enable_vtpm] if args.key?(:enable_vtpm) end end # A Shielded Instance Identity. class ShieldedInstanceIdentity include Google::Apis::Core::Hashable # A Shielded Instance Identity Entry. # Corresponds to the JSON property `eccP256EncryptionKey` # @return [Google::Apis::ComputeV1::ShieldedInstanceIdentityEntry] attr_accessor :ecc_p256_encryption_key # A Shielded Instance Identity Entry. # Corresponds to the JSON property `eccP256SigningKey` # @return [Google::Apis::ComputeV1::ShieldedInstanceIdentityEntry] attr_accessor :ecc_p256_signing_key # A Shielded Instance Identity Entry. # Corresponds to the JSON property `encryptionKey` # @return [Google::Apis::ComputeV1::ShieldedInstanceIdentityEntry] attr_accessor :encryption_key # Output only. [Output Only] Type of the resource. Alwayscompute# # shieldedInstanceIdentity for shielded Instance # identity entry. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # A Shielded Instance Identity Entry. # Corresponds to the JSON property `signingKey` # @return [Google::Apis::ComputeV1::ShieldedInstanceIdentityEntry] attr_accessor :signing_key def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ecc_p256_encryption_key = args[:ecc_p256_encryption_key] if args.key?(:ecc_p256_encryption_key) @ecc_p256_signing_key = args[:ecc_p256_signing_key] if args.key?(:ecc_p256_signing_key) @encryption_key = args[:encryption_key] if args.key?(:encryption_key) @kind = args[:kind] if args.key?(:kind) @signing_key = args[:signing_key] if args.key?(:signing_key) end end # A Shielded Instance Identity Entry. class ShieldedInstanceIdentityEntry include Google::Apis::Core::Hashable # A PEM-encoded X.509 certificate. This field can be empty. # Corresponds to the JSON property `ekCert` # @return [String] attr_accessor :ek_cert # A PEM-encoded public key. # Corresponds to the JSON property `ekPub` # @return [String] attr_accessor :ek_pub def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ek_cert = args[:ek_cert] if args.key?(:ek_cert) @ek_pub = args[:ek_pub] if args.key?(:ek_pub) end end # The policy describes the baseline against which # Instance boot integrity is measured. class ShieldedInstanceIntegrityPolicy include Google::Apis::Core::Hashable # Updates the integrity policy baseline using the # measurements from the VM instance's most recent boot. # Corresponds to the JSON property `updateAutoLearnPolicy` # @return [Boolean] attr_accessor :update_auto_learn_policy alias_method :update_auto_learn_policy?, :update_auto_learn_policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @update_auto_learn_policy = args[:update_auto_learn_policy] if args.key?(:update_auto_learn_policy) end end # Represents a customer-supplied Signing Key used by Cloud CDN Signed URLs class SignedUrlKey include Google::Apis::Core::Hashable # Name of the key. The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `keyName` # @return [String] attr_accessor :key_name # 128-bit key value used for signing the URL. The key value must be a validRFC # 4648 Section 5 base64url encoded string. # Corresponds to the JSON property `keyValue` # @return [String] attr_accessor :key_value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key_name = args[:key_name] if args.key?(:key_name) @key_value = args[:key_value] if args.key?(:key_value) end end # Represents a Persistent Disk Snapshot resource. # You can use snapshots to back up data on a regular interval. For more # information, read Creating # persistent disk snapshots. class Snapshot include Google::Apis::Core::Hashable # Output only. [Output Only] The architecture of the snapshot. Valid values are # ARM64 or X86_64. # Corresponds to the JSON property `architecture` # @return [String] attr_accessor :architecture # Output only. [Output Only] Set to true if snapshots are automatically created # by # applying resource policy on the target disk. # Corresponds to the JSON property `autoCreated` # @return [Boolean] attr_accessor :auto_created alias_method :auto_created?, :auto_created # 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. # Corresponds to the JSON property `chainName` # @return [String] attr_accessor :chain_name # Output only. [Output Only] Size in bytes of the snapshot at creation time. # Corresponds to the JSON property `creationSizeBytes` # @return [Fixnum] attr_accessor :creation_size_bytes # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] Size of the source disk, specified in GB. # Corresponds to the JSON property `diskSizeGb` # @return [Fixnum] attr_accessor :disk_size_gb # Output only. [Output Only] Number of bytes downloaded to restore a snapshot to # a disk. # Corresponds to the JSON property `downloadBytes` # @return [Fixnum] attr_accessor :download_bytes # Output only. Whether this snapshot is created from a confidential compute mode # disk. # [Output Only]: This field is not set by user, but from source disk. # Corresponds to the JSON property `enableConfidentialCompute` # @return [Boolean] attr_accessor :enable_confidential_compute alias_method :enable_confidential_compute?, :enable_confidential_compute # [Input Only] Whether to attempt an application consistent snapshot by # informing the OS to prepare for the snapshot process. # Corresponds to the JSON property `guestFlush` # @return [Boolean] attr_accessor :guest_flush alias_method :guest_flush?, :guest_flush # Output only. [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. # Corresponds to the JSON property `guestOsFeatures` # @return [Array] attr_accessor :guest_os_features # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Always compute#snapshot # for Snapshot resources. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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 error412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve a snapshot. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # Labels to apply to this snapshot. These can be later modified by # the setLabels method. # Label values may be empty. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Output only. [Output Only] Integer license codes indicating which licenses are # attached # to this snapshot. # Corresponds to the JSON property `licenseCodes` # @return [Array] attr_accessor :license_codes # Output only. [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). # Corresponds to the JSON property `licenses` # @return [Array] attr_accessor :licenses # 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. # Corresponds to the JSON property `locationHint` # @return [String] attr_accessor :location_hint # Name of the resource; provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Additional snapshot params. # Corresponds to the JSON property `params` # @return [Google::Apis::ComputeV1::SnapshotParams] attr_accessor :params # Output only. Reserved for future use. # Corresponds to the JSON property `satisfiesPzi` # @return [Boolean] attr_accessor :satisfies_pzi alias_method :satisfies_pzi?, :satisfies_pzi # Output only. [Output Only] Reserved for future use. # Corresponds to the JSON property `satisfiesPzs` # @return [Boolean] attr_accessor :satisfies_pzs alias_method :satisfies_pzs?, :satisfies_pzs # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Encrypts the snapshot using acustomer-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. # Corresponds to the JSON property `snapshotEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :snapshot_encryption_key # Indicates the type of the snapshot. # Corresponds to the JSON property `snapshotType` # @return [String] attr_accessor :snapshot_type # The source disk used to create this snapshot. # Corresponds to the JSON property `sourceDisk` # @return [String] attr_accessor :source_disk # The customer-supplied # encryption key of the source disk. Required if the source disk is # protected by a customer-supplied encryption key. # Corresponds to the JSON property `sourceDiskEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :source_disk_encryption_key # The source disk whose recovery checkpoint will be used to create this # snapshot. # Corresponds to the JSON property `sourceDiskForRecoveryCheckpoint` # @return [String] attr_accessor :source_disk_for_recovery_checkpoint # Output only. [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. # Corresponds to the JSON property `sourceDiskId` # @return [String] attr_accessor :source_disk_id # 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 # Corresponds to the JSON property `sourceInstantSnapshot` # @return [String] attr_accessor :source_instant_snapshot # Customer provided encryption key when creating Snapshot from Instant # Snapshot. # Corresponds to the JSON property `sourceInstantSnapshotEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :source_instant_snapshot_encryption_key # Output only. [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 snapshot. For example, if you created the snapshot 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. # Corresponds to the JSON property `sourceInstantSnapshotId` # @return [String] attr_accessor :source_instant_snapshot_id # Output only. [Output Only] URL of the resource policy which created this # scheduled snapshot. # Corresponds to the JSON property `sourceSnapshotSchedulePolicy` # @return [String] attr_accessor :source_snapshot_schedule_policy # Output only. [Output Only] ID of the resource policy which created this # scheduled snapshot. # Corresponds to the JSON property `sourceSnapshotSchedulePolicyId` # @return [String] attr_accessor :source_snapshot_schedule_policy_id # Output only. [Output Only] The status of the snapshot. This can beCREATING, # DELETING, FAILED,READY, or UPLOADING. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Output only. [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. # Corresponds to the JSON property `storageBytes` # @return [Fixnum] attr_accessor :storage_bytes # Output only. [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. # Corresponds to the JSON property `storageBytesStatus` # @return [String] attr_accessor :storage_bytes_status # Cloud Storage bucket storage location of the snapshot (regional or # multi-regional). # Corresponds to the JSON property `storageLocations` # @return [Array] attr_accessor :storage_locations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @architecture = args[:architecture] if args.key?(:architecture) @auto_created = args[:auto_created] if args.key?(:auto_created) @chain_name = args[:chain_name] if args.key?(:chain_name) @creation_size_bytes = args[:creation_size_bytes] if args.key?(:creation_size_bytes) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb) @download_bytes = args[:download_bytes] if args.key?(:download_bytes) @enable_confidential_compute = args[:enable_confidential_compute] if args.key?(:enable_confidential_compute) @guest_flush = args[:guest_flush] if args.key?(:guest_flush) @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @license_codes = args[:license_codes] if args.key?(:license_codes) @licenses = args[:licenses] if args.key?(:licenses) @location_hint = args[:location_hint] if args.key?(:location_hint) @name = args[:name] if args.key?(:name) @params = args[:params] if args.key?(:params) @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @self_link = args[:self_link] if args.key?(:self_link) @snapshot_encryption_key = args[:snapshot_encryption_key] if args.key?(:snapshot_encryption_key) @snapshot_type = args[:snapshot_type] if args.key?(:snapshot_type) @source_disk = args[:source_disk] if args.key?(:source_disk) @source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key) @source_disk_for_recovery_checkpoint = args[:source_disk_for_recovery_checkpoint] if args.key?(:source_disk_for_recovery_checkpoint) @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id) @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot) @source_instant_snapshot_encryption_key = args[:source_instant_snapshot_encryption_key] if args.key?(:source_instant_snapshot_encryption_key) @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id) @source_snapshot_schedule_policy = args[:source_snapshot_schedule_policy] if args.key?(:source_snapshot_schedule_policy) @source_snapshot_schedule_policy_id = args[:source_snapshot_schedule_policy_id] if args.key?(:source_snapshot_schedule_policy_id) @status = args[:status] if args.key?(:status) @storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes) @storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status) @storage_locations = args[:storage_locations] if args.key?(:storage_locations) end end # Contains a list of Snapshot resources. class SnapshotList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Snapshot resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::SnapshotList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Additional snapshot params. class SnapshotParams include Google::Apis::Core::Hashable # Resource manager tags to be bound to the snapshot. Tag keys and values have # the same definition as resource # manager tags. Keys and values can be either in numeric format, # such as `tagKeys/`tag_key_id`` and `tagValues/456` or in namespaced # format such as ``org_id|project_id`/`tag_key_short_name`` and # ``tag_value_short_name``. The field is ignored (both PUT & # PATCH) when empty. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) end end # class SnapshotSettings include Google::Apis::Core::Hashable # Policy of which storage location is going to be resolved, and additional # data that particularizes how the policy is going to be carried out. # Corresponds to the JSON property `storageLocation` # @return [Google::Apis::ComputeV1::SnapshotSettingsStorageLocationSettings] attr_accessor :storage_location def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @storage_location = args[:storage_location] if args.key?(:storage_location) end end # class SnapshotSettingsStorageLocationSettings include Google::Apis::Core::Hashable # When the policy is SPECIFIC_LOCATIONS, snapshots will be stored # in the locations listed in this field. Keys are Cloud Storage bucket # locations. Only one location can be specified. # Corresponds to the JSON property `locations` # @return [Hash] attr_accessor :locations # The chosen location policy. # Corresponds to the JSON property `policy` # @return [String] attr_accessor :policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @locations = args[:locations] if args.key?(:locations) @policy = args[:policy] if args.key?(:policy) end end # A structure for specifying storage locations. class SnapshotSettingsStorageLocationSettingsStorageLocationPreference include Google::Apis::Core::Hashable # Name of the location. It should be one of the Cloud Storage buckets. # Only one location can be specified. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) end end # class SourceDiskEncryptionKey include Google::Apis::Core::Hashable # Thecustomer-supplied # encryption key of the source disk. Required if the source disk is # protected by a customer-supplied encryption key. # Corresponds to the JSON property `diskEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :disk_encryption_key # URL of the disk attached to the source instance. 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 # - projects/project/zones/zone/disks/disk # - zones/zone/disks/disk # Corresponds to the JSON property `sourceDisk` # @return [String] attr_accessor :source_disk def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key) @source_disk = args[:source_disk] if args.key?(:source_disk) end end # A specification of the parameters to use when creating the instance template # from a source instance. class SourceInstanceParams include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `diskConfigs` # @return [Array] attr_accessor :disk_configs def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disk_configs = args[:disk_configs] if args.key?(:disk_configs) end end # DEPRECATED: Please use compute#instanceProperties instead. # New properties will not be added to this field. class SourceInstanceProperties include Google::Apis::Core::Hashable # Enables instances created based on this machine image to send packets with # source IP addresses other than their own and receive packets with # destination IP addresses other than their own. If these instances will be # used as an IP gateway or it will be set as the next-hop in a Route # resource, specify true. If unsure, leave this set tofalse. See theEnable IP # forwarding # documentation for more information. # Corresponds to the JSON property `canIpForward` # @return [Boolean] attr_accessor :can_ip_forward alias_method :can_ip_forward?, :can_ip_forward # Whether the instance created from this machine image should be protected # against deletion. # Corresponds to the JSON property `deletionProtection` # @return [Boolean] attr_accessor :deletion_protection alias_method :deletion_protection?, :deletion_protection # An optional text description for the instances that are created from this # machine image. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # An array of disks that are associated with the instances that are created # from this machine image. # Corresponds to the JSON property `disks` # @return [Array] attr_accessor :disks # A list of guest accelerator cards' type and count to use for instances # created from this machine image. # Corresponds to the JSON property `guestAccelerators` # @return [Array] attr_accessor :guest_accelerators # KeyRevocationActionType of the instance. Supported options are "STOP" and # "NONE". The default value is "NONE" if it is not specified. # Corresponds to the JSON property `keyRevocationActionType` # @return [String] attr_accessor :key_revocation_action_type # Labels to apply to instances that are created from this machine image. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # The machine type to use for instances that are created from this machine # image. # Corresponds to the JSON property `machineType` # @return [String] attr_accessor :machine_type # A metadata key/value entry. # Corresponds to the JSON property `metadata` # @return [Google::Apis::ComputeV1::Metadata] attr_accessor :metadata # Minimum cpu/platform to be used by instances created from this machine # image. The instance may be scheduled on the specified or newer # cpu/platform. Applicable values are the friendly names of CPU platforms, # such as minCpuPlatform: "Intel Haswell" orminCpuPlatform: "Intel Sandy Bridge". # For more # information, read Specifying a # Minimum CPU Platform. # Corresponds to the JSON property `minCpuPlatform` # @return [String] attr_accessor :min_cpu_platform # An array of network access configurations for this interface. # Corresponds to the JSON property `networkInterfaces` # @return [Array] attr_accessor :network_interfaces # PostKeyRevocationActionType of the instance. # Corresponds to the JSON property `postKeyRevocationActionType` # @return [String] attr_accessor :post_key_revocation_action_type # Sets the scheduling options for an Instance. # Corresponds to the JSON property `scheduling` # @return [Google::Apis::ComputeV1::Scheduling] attr_accessor :scheduling # A list of service accounts with specified scopes. Access tokens for these # service accounts are available to the instances that are created from this # machine image. Use metadata queries to obtain the access tokens for these # instances. # Corresponds to the JSON property `serviceAccounts` # @return [Array] attr_accessor :service_accounts # A set of instance tags. # Corresponds to the JSON property `tags` # @return [Google::Apis::ComputeV1::Tags] attr_accessor :tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward) @deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection) @description = args[:description] if args.key?(:description) @disks = args[:disks] if args.key?(:disks) @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators) @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type) @labels = args[:labels] if args.key?(:labels) @machine_type = args[:machine_type] if args.key?(:machine_type) @metadata = args[:metadata] if args.key?(:metadata) @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform) @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces) @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type) @scheduling = args[:scheduling] if args.key?(:scheduling) @service_accounts = args[:service_accounts] if args.key?(:service_accounts) @tags = args[:tags] if args.key?(:tags) end end # 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. class SslCertificate include Google::Apis::Core::Hashable # A value read into memory from a certificate file. The certificate file must # be in PEM format. The certificate chain must be no greater than 5 certs # long. The chain must include at least one intermediate cert. # Corresponds to the JSON property `certificate` # @return [String] attr_accessor :certificate # [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] Expire time of the certificate. RFC3339 # Corresponds to the JSON property `expireTime` # @return [String] attr_accessor :expire_time # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute#sslCertificate # for SSL certificates. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Configuration and status of a managed SSL certificate. # Corresponds to the JSON property `managed` # @return [Google::Apis::ComputeV1::SslCertificateManagedSslCertificate] attr_accessor :managed # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # A value read into memory from a write-only private key file. The private # key file must be in PEM format. For security, only insert # requests include this field. # Corresponds to the JSON property `privateKey` # @return [String] attr_accessor :private_key # Output only. [Output Only] URL of the region where the regional SSL # Certificate # resides. This field is not applicable to global SSL Certificate. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [Output only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Configuration and status of a self-managed SSL certificate. # Corresponds to the JSON property `selfManaged` # @return [Google::Apis::ComputeV1::SslCertificateSelfManagedSslCertificate] attr_accessor :self_managed # Output only. [Output Only] Domains associated with the certificate via Subject # Alternative Name. # Corresponds to the JSON property `subjectAlternativeNames` # @return [Array] attr_accessor :subject_alternative_names # (Optional) Specifies the type of SSL certificate, either "SELF_MANAGED" or # "MANAGED". If not specified, the certificate is self-managed and the # fieldscertificate and private_key are used. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @certificate = args[:certificate] if args.key?(:certificate) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @expire_time = args[:expire_time] if args.key?(:expire_time) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @managed = args[:managed] if args.key?(:managed) @name = args[:name] if args.key?(:name) @private_key = args[:private_key] if args.key?(:private_key) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @self_managed = args[:self_managed] if args.key?(:self_managed) @subject_alternative_names = args[:subject_alternative_names] if args.key?(:subject_alternative_names) @type = args[:type] if args.key?(:type) end end # class SslCertificateAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of SslCertificatesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # sslCertificateAggregatedList for lists of SSL # Certificates. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::SslCertificateAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of SslCertificate resources. class SslCertificateList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of SslCertificate resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::SslCertificateList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Configuration and status of a managed SSL certificate. class SslCertificateManagedSslCertificate include Google::Apis::Core::Hashable # Output only. [Output only] Detailed statuses of the domains specified for # managed # certificate resource. # Corresponds to the JSON property `domainStatus` # @return [Hash] attr_accessor :domain_status # The domains for which a managed SSL certificate will be generated. Each # Google-managed SSL certificate supports up to the [maximum number of # domains per Google-managed SSL # certificate](/load-balancing/docs/quotas#ssl_certificates). # Corresponds to the JSON property `domains` # @return [Array] attr_accessor :domains # Output only. [Output only] Status of the managed certificate resource. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @domain_status = args[:domain_status] if args.key?(:domain_status) @domains = args[:domains] if args.key?(:domains) @status = args[:status] if args.key?(:status) end end # Configuration and status of a self-managed SSL certificate. class SslCertificateSelfManagedSslCertificate include Google::Apis::Core::Hashable # A local certificate file. The certificate must be in # PEM format. The certificate chain must be no greater than 5 certs # long. The chain must include at least one intermediate cert. # Corresponds to the JSON property `certificate` # @return [String] attr_accessor :certificate # A write-only private key in PEM format. Only insert # requests will include this field. # Corresponds to the JSON property `privateKey` # @return [String] attr_accessor :private_key def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @certificate = args[:certificate] if args.key?(:certificate) @private_key = args[:private_key] if args.key?(:private_key) end end # class SslCertificatesScopedList include Google::Apis::Core::Hashable # List of SslCertificates contained in this scope. # Corresponds to the JSON property `sslCertificates` # @return [Array] attr_accessor :ssl_certificates # Informational warning which replaces the list of # backend services when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::SslCertificatesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of # backend services when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class SslPoliciesAggregatedList include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of SslPoliciesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # sslPolicyAggregatedList for lists of SSL Policies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::SslPoliciesAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class SslPoliciesList include Google::Apis::Core::Hashable # Output only. [Output Only] Unique identifier for the resource; defined by the # server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Output only. A list of SslPolicy resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of the resource. Alwayscompute#sslPoliciesList # for lists of sslPolicies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::SslPoliciesList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class SslPoliciesListAvailableFeaturesResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `features` # @return [Array] attr_accessor :features def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @features = args[:features] if args.key?(:features) end end # class SslPoliciesScopedList include Google::Apis::Core::Hashable # A list of SslPolicies contained in this scope. # Corresponds to the JSON property `sslPolicies` # @return [Array] attr_accessor :ssl_policies # Informational warning which replaces the list of # SSL policies when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::SslPoliciesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ssl_policies = args[:ssl_policies] if args.key?(:ssl_policies) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of # SSL policies when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # 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. class SslPolicy include Google::Apis::Core::Hashable # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # A list of features enabled when the selected profile is CUSTOM. The # method returns the set of features that can be # specified in this list. This field must be empty if the profile is notCUSTOM. # Corresponds to the JSON property `customFeatures` # @return [Array] attr_accessor :custom_features # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Output only. [Output Only] The list of features enabled in the SSL policy. # Corresponds to the JSON property `enabledFeatures` # @return [Array] attr_accessor :enabled_features # 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 SslPolicy. An up-to-date fingerprint must be # provided in order to update the SslPolicy, otherwise the # request will fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve an SslPolicy. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output only] Type of the resource. Alwayscompute#sslPolicyfor # SSL policies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The minimum version of SSL protocol that can be used by the clients to # establish a connection with the load balancer. This can be one ofTLS_1_0, # TLS_1_1, TLS_1_2,TLS_1_3. When set to TLS_1_3, the profile field # must be set to RESTRICTED. # Corresponds to the JSON property `minTlsVersion` # @return [String] attr_accessor :min_tls_version # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Profile specifies the set of SSL features that can be used by the load # balancer when negotiating SSL with clients. This can be one ofCOMPATIBLE, # MODERN, RESTRICTED, orCUSTOM. If using CUSTOM, the set of SSL features # to enable must be specified in the customFeatures field. # Corresponds to the JSON property `profile` # @return [String] attr_accessor :profile # Output only. [Output Only] URL of the region where the regional SSL policy # resides. This field is not applicable to global SSL policies. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] If potential misconfigurations are detected for # this # SSL policy, this field will be populated with warning messages. # Corresponds to the JSON property `warnings` # @return [Array] attr_accessor :warnings def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @custom_features = args[:custom_features] if args.key?(:custom_features) @description = args[:description] if args.key?(:description) @enabled_features = args[:enabled_features] if args.key?(:enabled_features) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @min_tls_version = args[:min_tls_version] if args.key?(:min_tls_version) @name = args[:name] if args.key?(:name) @profile = args[:profile] if args.key?(:profile) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @warnings = args[:warnings] if args.key?(:warnings) end # class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class SslPolicyReference include Google::Apis::Core::Hashable # URL of the SSL policy resource. Set this to empty string to clear any # existing SSL policy associated with the target proxy resource. # Corresponds to the JSON property `sslPolicy` # @return [String] attr_accessor :ssl_policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ssl_policy = args[:ssl_policy] if args.key?(:ssl_policy) end end # class StatefulPolicy include Google::Apis::Core::Hashable # Configuration of preserved resources. # Corresponds to the JSON property `preservedState` # @return [Google::Apis::ComputeV1::StatefulPolicyPreservedState] attr_accessor :preserved_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @preserved_state = args[:preserved_state] if args.key?(:preserved_state) end end # Configuration of preserved resources. class StatefulPolicyPreservedState include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `disks` # @return [Hash] attr_accessor :disks # 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. # Corresponds to the JSON property `externalIPs` # @return [Hash] attr_accessor :external_i_ps # 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. # Corresponds to the JSON property `internalIPs` # @return [Hash] attr_accessor :internal_i_ps def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disks = args[:disks] if args.key?(:disks) @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps) @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps) end end # class StatefulPolicyPreservedStateDiskDevice include Google::Apis::Core::Hashable # These stateful disks will never be deleted during autohealing, # update or VM instance recreate operations. # This flag is used to configure if the disk should be deleted after it # is no longer used by the group, e.g. when the given instance or # the whole group is deleted. Note: disks attached inREAD_ONLY mode cannot be # auto-deleted. # Corresponds to the JSON property `autoDelete` # @return [String] attr_accessor :auto_delete def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @auto_delete = args[:auto_delete] if args.key?(:auto_delete) end end # class StatefulPolicyPreservedStateNetworkIp include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `autoDelete` # @return [String] attr_accessor :auto_delete def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @auto_delete = args[:auto_delete] if args.key?(:auto_delete) end end # 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). class Status include Google::Apis::Core::Hashable # The status code, which should be an enum value of google.rpc.Code. # Corresponds to the JSON property `code` # @return [Fixnum] attr_accessor :code # A list of messages that carry the error details. There is a common set of # message types for APIs to use. # Corresponds to the JSON property `details` # @return [Array>] attr_accessor :details # 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. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @details = args[:details] if args.key?(:details) @message = args[:message] if args.key?(:message) end end # Represents a zonal storage pool resource. class StoragePool include Google::Apis::Core::Hashable # Provisioning type of the byte capacity of the pool. # Corresponds to the JSON property `capacityProvisioningType` # @return [String] attr_accessor :capacity_provisioning_type # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Exapool provisioned capacities for each SKU type # Corresponds to the JSON property `exapoolProvisionedCapacityGb` # @return [Google::Apis::ComputeV1::StoragePoolExapoolProvisionedCapacityGb] attr_accessor :exapool_provisioned_capacity_gb # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Always compute#storagePool # for storage pools. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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 error412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve a storage pool. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # Labels to apply to this storage pool. These can be later modified by # the setLabels method. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Additional storage pool params. # Corresponds to the JSON property `params` # @return [Google::Apis::ComputeV1::StoragePoolParams] attr_accessor :params # Provisioning type of the performance-related parameters of the pool, # such as throughput and IOPS. # Corresponds to the JSON property `performanceProvisioningType` # @return [String] attr_accessor :performance_provisioning_type # Size of the storage pool in GiB. For more information about the size # limits, see https://cloud.google.com/compute/docs/disks/storage-pools. # Corresponds to the JSON property `poolProvisionedCapacityGb` # @return [Fixnum] attr_accessor :pool_provisioned_capacity_gb # Provisioned IOPS of the storage pool. Only relevant if the storage pool # type is hyperdisk-balanced. # Corresponds to the JSON property `poolProvisionedIops` # @return [Fixnum] attr_accessor :pool_provisioned_iops # Provisioned throughput of the storage pool in MiB/s. Only relevant if the # storage pool type is hyperdisk-balanced or hyperdisk-throughput. # Corresponds to the JSON property `poolProvisionedThroughput` # @return [Fixnum] attr_accessor :pool_provisioned_throughput # [Output Only] Contains output only fields. # Corresponds to the JSON property `resourceStatus` # @return [Google::Apis::ComputeV1::StoragePoolResourceStatus] attr_accessor :resource_status # Output only. [Output Only] Server-defined fully-qualified URL for this # resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Server-defined URL for this resource's resource id. # Corresponds to the JSON property `selfLinkWithId` # @return [String] attr_accessor :self_link_with_id # Output only. [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. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # [Output Only] Contains output only fields. # Corresponds to the JSON property `status` # @return [Google::Apis::ComputeV1::StoragePoolResourceStatus] attr_accessor :status # Type of the storage pool. # Corresponds to the JSON property `storagePoolType` # @return [String] attr_accessor :storage_pool_type # Output only. [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. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @capacity_provisioning_type = args[:capacity_provisioning_type] if args.key?(:capacity_provisioning_type) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @exapool_provisioned_capacity_gb = args[:exapool_provisioned_capacity_gb] if args.key?(:exapool_provisioned_capacity_gb) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @params = args[:params] if args.key?(:params) @performance_provisioning_type = args[:performance_provisioning_type] if args.key?(:performance_provisioning_type) @pool_provisioned_capacity_gb = args[:pool_provisioned_capacity_gb] if args.key?(:pool_provisioned_capacity_gb) @pool_provisioned_iops = args[:pool_provisioned_iops] if args.key?(:pool_provisioned_iops) @pool_provisioned_throughput = args[:pool_provisioned_throughput] if args.key?(:pool_provisioned_throughput) @resource_status = args[:resource_status] if args.key?(:resource_status) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @state = args[:state] if args.key?(:state) @status = args[:status] if args.key?(:status) @storage_pool_type = args[:storage_pool_type] if args.key?(:storage_pool_type) @zone = args[:zone] if args.key?(:zone) end end # class StoragePoolAggregatedList include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of StoragePoolsScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # storagePoolAggregatedList for aggregated lists of # storage pools. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::StoragePoolAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class StoragePoolDisk include Google::Apis::Core::Hashable # Output only. [Output Only] Instances this disk is attached to. # Corresponds to the JSON property `attachedInstances` # @return [Array] attr_accessor :attached_instances # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Output only. [Output Only] The URL of the disk. # Corresponds to the JSON property `disk` # @return [String] attr_accessor :disk # Output only. [Output Only] The name of the disk. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] The number of IOPS provisioned for the disk. # Corresponds to the JSON property `provisionedIops` # @return [Fixnum] attr_accessor :provisioned_iops # Output only. [Output Only] The throughput provisioned for the disk. # Corresponds to the JSON property `provisionedThroughput` # @return [Fixnum] attr_accessor :provisioned_throughput # Output only. [Output Only] Resource policies applied to disk for automatic # snapshot # creations. # Corresponds to the JSON property `resourcePolicies` # @return [Array] attr_accessor :resource_policies # Output only. [Output Only] The disk size, in GB. # Corresponds to the JSON property `sizeGb` # @return [Fixnum] attr_accessor :size_gb # Output only. [Output Only] The disk status. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Output only. [Output Only] The disk type. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # Output only. [Output Only] Amount of disk space used. # Corresponds to the JSON property `usedBytes` # @return [Fixnum] attr_accessor :used_bytes def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @attached_instances = args[:attached_instances] if args.key?(:attached_instances) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @disk = args[:disk] if args.key?(:disk) @name = args[:name] if args.key?(:name) @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops) @provisioned_throughput = args[:provisioned_throughput] if args.key?(:provisioned_throughput) @resource_policies = args[:resource_policies] if args.key?(:resource_policies) @size_gb = args[:size_gb] if args.key?(:size_gb) @status = args[:status] if args.key?(:status) @type = args[:type] if args.key?(:type) @used_bytes = args[:used_bytes] if args.key?(:used_bytes) end end # Exapool provisioned capacities for each SKU type class StoragePoolExapoolProvisionedCapacityGb include Google::Apis::Core::Hashable # Size, in GiB, of provisioned capacity-optimized capacity for this Exapool # Corresponds to the JSON property `capacityOptimized` # @return [Fixnum] attr_accessor :capacity_optimized # Size, in GiB, of provisioned read-optimized capacity for this Exapool # Corresponds to the JSON property `readOptimized` # @return [Fixnum] attr_accessor :read_optimized # Size, in GiB, of provisioned write-optimized capacity for this Exapool # Corresponds to the JSON property `writeOptimized` # @return [Fixnum] attr_accessor :write_optimized def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @capacity_optimized = args[:capacity_optimized] if args.key?(:capacity_optimized) @read_optimized = args[:read_optimized] if args.key?(:read_optimized) @write_optimized = args[:write_optimized] if args.key?(:write_optimized) end end # A list of StoragePool resources. class StoragePoolList include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of StoragePool resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#storagePoolList # for lists of storagePools. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # end_interface: MixerListResponseWithEtagBuilder # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::StoragePoolList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class StoragePoolListDisks include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # Output only. [Output Only] Unique identifier for the resource; defined by the # server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of StoragePoolDisk resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # storagePoolListDisks for lists of disks in a # storagePool. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Output only. [Output Only] This token allows you to get the next page of # results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # end_interface: MixerListResponseWithEtagBuilder # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # Output only. [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::StoragePoolListDisks::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # Output only. [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Additional storage pool params. class StoragePoolParams include Google::Apis::Core::Hashable # Input only. Resource manager tags to be bound to the storage pool. Tag keys # and values # have the same definition as resource # manager tags. Keys and values can be either in numeric format, # such as `tagKeys/`tag_key_id`` and `tagValues/456` or in namespaced # format such as ``org_id|project_id`/`tag_key_short_name`` and # ``tag_value_short_name``. The field is ignored (both PUT & # PATCH) when empty. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) end end # [Output Only] Contains output only fields. class StoragePoolResourceStatus include Google::Apis::Core::Hashable # [Output Only] Number of disks used. # Corresponds to the JSON property `diskCount` # @return [Fixnum] attr_accessor :disk_count # Output only. [Output Only] Maximum allowed read IOPS for this Exapool. # Corresponds to the JSON property `exapoolMaxReadIops` # @return [Fixnum] attr_accessor :exapool_max_read_iops # Output only. [Output Only] Maximum allowed read throughput in MiB/s for # this Exapool. # Corresponds to the JSON property `exapoolMaxReadThroughput` # @return [Fixnum] attr_accessor :exapool_max_read_throughput # Output only. [Output Only] Maximum allowed write IOPS for this Exapool. # Corresponds to the JSON property `exapoolMaxWriteIops` # @return [Fixnum] attr_accessor :exapool_max_write_iops # Output only. [Output Only] Maximum allowed write throughput in MiB/s # for this Exapool. # Corresponds to the JSON property `exapoolMaxWriteThroughput` # @return [Fixnum] attr_accessor :exapool_max_write_throughput # Output only. [Output Only] Timestamp of the last successful resize inRFC3339 # text format. # Corresponds to the JSON property `lastResizeTimestamp` # @return [String] attr_accessor :last_resize_timestamp # [Output Only] Maximum allowed aggregate disk size in GiB. # Corresponds to the JSON property `maxTotalProvisionedDiskCapacityGb` # @return [Fixnum] attr_accessor :max_total_provisioned_disk_capacity_gb # [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. # Corresponds to the JSON property `poolUsedCapacityBytes` # @return [Fixnum] attr_accessor :pool_used_capacity_bytes # [Output Only] Sum of all the disks' provisioned IOPS, minus some amount # that is allowed per disk that is not counted towards pool's IOPS # capacity. For more information, see # https://cloud.google.com/compute/docs/disks/storage-pools. # Corresponds to the JSON property `poolUsedIops` # @return [Fixnum] attr_accessor :pool_used_iops # [Output Only] Sum of all the disks' provisioned throughput in MiB/s. # Corresponds to the JSON property `poolUsedThroughput` # @return [Fixnum] attr_accessor :pool_used_throughput # [Output Only] Amount of data written into the pool, before it is # compacted. # Corresponds to the JSON property `poolUserWrittenBytes` # @return [Fixnum] attr_accessor :pool_user_written_bytes # [Output Only] Sum of all the disks' provisioned capacity (in GiB) in # this storage pool. A disk's provisioned capacity is the same as its total # capacity. # Corresponds to the JSON property `totalProvisionedDiskCapacityGb` # @return [Fixnum] attr_accessor :total_provisioned_disk_capacity_gb # [Output Only] Sum of all the disks' provisioned IOPS. # Corresponds to the JSON property `totalProvisionedDiskIops` # @return [Fixnum] attr_accessor :total_provisioned_disk_iops # [Output Only] Sum of all the disks' provisioned throughput in MiB/s, # minus some amount that is allowed per disk that is not counted towards # pool's throughput capacity. # Corresponds to the JSON property `totalProvisionedDiskThroughput` # @return [Fixnum] attr_accessor :total_provisioned_disk_throughput def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disk_count = args[:disk_count] if args.key?(:disk_count) @exapool_max_read_iops = args[:exapool_max_read_iops] if args.key?(:exapool_max_read_iops) @exapool_max_read_throughput = args[:exapool_max_read_throughput] if args.key?(:exapool_max_read_throughput) @exapool_max_write_iops = args[:exapool_max_write_iops] if args.key?(:exapool_max_write_iops) @exapool_max_write_throughput = args[:exapool_max_write_throughput] if args.key?(:exapool_max_write_throughput) @last_resize_timestamp = args[:last_resize_timestamp] if args.key?(:last_resize_timestamp) @max_total_provisioned_disk_capacity_gb = args[:max_total_provisioned_disk_capacity_gb] if args.key?(:max_total_provisioned_disk_capacity_gb) @pool_used_capacity_bytes = args[:pool_used_capacity_bytes] if args.key?(:pool_used_capacity_bytes) @pool_used_iops = args[:pool_used_iops] if args.key?(:pool_used_iops) @pool_used_throughput = args[:pool_used_throughput] if args.key?(:pool_used_throughput) @pool_user_written_bytes = args[:pool_user_written_bytes] if args.key?(:pool_user_written_bytes) @total_provisioned_disk_capacity_gb = args[:total_provisioned_disk_capacity_gb] if args.key?(:total_provisioned_disk_capacity_gb) @total_provisioned_disk_iops = args[:total_provisioned_disk_iops] if args.key?(:total_provisioned_disk_iops) @total_provisioned_disk_throughput = args[:total_provisioned_disk_throughput] if args.key?(:total_provisioned_disk_throughput) end end # class StoragePoolType include Google::Apis::Core::Hashable # [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Deprecation status for a public resource. # Corresponds to the JSON property `deprecated` # @return [Google::Apis::ComputeV1::DeprecationStatus] attr_accessor :deprecated # [Output Only] An optional description of this resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute#storagePoolType # for storage pool types. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] Maximum storage pool size in GB. # Corresponds to the JSON property `maxPoolProvisionedCapacityGb` # @return [Fixnum] attr_accessor :max_pool_provisioned_capacity_gb # [Output Only] Maximum provisioned IOPS. # Corresponds to the JSON property `maxPoolProvisionedIops` # @return [Fixnum] attr_accessor :max_pool_provisioned_iops # [Output Only] Maximum provisioned throughput. # Corresponds to the JSON property `maxPoolProvisionedThroughput` # @return [Fixnum] attr_accessor :max_pool_provisioned_throughput # [Output Only] Minimum storage pool size in GB. # Corresponds to the JSON property `minPoolProvisionedCapacityGb` # @return [Fixnum] attr_accessor :min_pool_provisioned_capacity_gb # [Output Only] Minimum provisioned IOPS. # Corresponds to the JSON property `minPoolProvisionedIops` # @return [Fixnum] attr_accessor :min_pool_provisioned_iops # [Output Only] Minimum provisioned throughput. # Corresponds to the JSON property `minPoolProvisionedThroughput` # @return [Fixnum] attr_accessor :min_pool_provisioned_throughput # [Deprecated] This field is deprecated. Use minPoolProvisionedCapacityGb # instead. # Corresponds to the JSON property `minSizeGb` # @return [Fixnum] attr_accessor :min_size_gb # [Output Only] Name of the resource. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Server-defined URL for this resource with the # resource id. # Corresponds to the JSON property `selfLinkWithId` # @return [String] attr_accessor :self_link_with_id # [Output Only] The list of disk types supported in this storage pool type. # Corresponds to the JSON property `supportedDiskTypes` # @return [Array] attr_accessor :supported_disk_types # [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. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @deprecated = args[:deprecated] if args.key?(:deprecated) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @max_pool_provisioned_capacity_gb = args[:max_pool_provisioned_capacity_gb] if args.key?(:max_pool_provisioned_capacity_gb) @max_pool_provisioned_iops = args[:max_pool_provisioned_iops] if args.key?(:max_pool_provisioned_iops) @max_pool_provisioned_throughput = args[:max_pool_provisioned_throughput] if args.key?(:max_pool_provisioned_throughput) @min_pool_provisioned_capacity_gb = args[:min_pool_provisioned_capacity_gb] if args.key?(:min_pool_provisioned_capacity_gb) @min_pool_provisioned_iops = args[:min_pool_provisioned_iops] if args.key?(:min_pool_provisioned_iops) @min_pool_provisioned_throughput = args[:min_pool_provisioned_throughput] if args.key?(:min_pool_provisioned_throughput) @min_size_gb = args[:min_size_gb] if args.key?(:min_size_gb) @name = args[:name] if args.key?(:name) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @supported_disk_types = args[:supported_disk_types] if args.key?(:supported_disk_types) @zone = args[:zone] if args.key?(:zone) end end # class StoragePoolTypeAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of StoragePoolTypesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # storagePoolTypeAggregatedList. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::StoragePoolTypeAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of storage pool types. class StoragePoolTypeList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of StoragePoolType resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute#storagePoolTypeList # for storage pool types. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::StoragePoolTypeList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class StoragePoolTypesScopedList include Google::Apis::Core::Hashable # [Output Only] A list of storage pool types contained in this scope. # Corresponds to the JSON property `storagePoolTypes` # @return [Array] attr_accessor :storage_pool_types # [Output Only] Informational warning which replaces the list of storage pool # types when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::StoragePoolTypesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @storage_pool_types = args[:storage_pool_types] if args.key?(:storage_pool_types) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning which replaces the list of storage pool # types when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class StoragePoolsScopedList include Google::Apis::Core::Hashable # [Output Only] A list of storage pool contained in this scope. # Corresponds to the JSON property `storagePools` # @return [Array] attr_accessor :storage_pools # [Output Only] Informational warning which replaces the list of storage pool # when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::StoragePoolsScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @storage_pools = args[:storage_pools] if args.key?(:storage_pools) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning which replaces the list of storage pool # when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents a Subnetwork resource. # A subnetwork (also known as a subnet) is a logical partition of a Virtual # Private Cloud network with one primary IP range and zero or more secondary # IP ranges. For more information, read # Virtual Private Cloud (VPC) Network. class Subnetwork include Google::Apis::Core::Hashable # Whether this subnetwork's ranges can conflict with existing custom routes. # Setting this to true allows this subnetwork's primary and secondary ranges # to overlap with (and contain) custom routes that have already been # configured on the corresponding network. # For example if a static route has range 10.1.0.0/16, a subnet # range 10.0.0.0/8 could only be created if allow_conflicting_routes=true. # Overlapping is only allowed on subnetwork operations; routes # whose ranges conflict with this subnetwork's ranges won't be allowed unless # route.allow_conflicting_subnetworks is set to true. # Typically packets destined to IPs within the subnetwork (which may contain # private/sensitive data) are prevented from leaving the virtual network. # Setting this field to true will disable this feature. # The default value is false and applies to all existing subnetworks and # automatically created subnetworks. # Corresponds to the JSON property `allowSubnetCidrRoutesOverlap` # @return [Boolean] attr_accessor :allow_subnet_cidr_routes_overlap alias_method :allow_subnet_cidr_routes_overlap?, :allow_subnet_cidr_routes_overlap # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. This field can be set only at resource creation time. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # 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 toREGIONAL_MANAGED_PROXY. It is # recommended to uselogConfig.enable field instead. # Corresponds to the JSON property `enableFlowLogs` # @return [Boolean] attr_accessor :enable_flow_logs alias_method :enable_flow_logs?, :enable_flow_logs # The external IPv6 address range that is owned by this # subnetwork. # Corresponds to the JSON property `externalIpv6Prefix` # @return [String] attr_accessor :external_ipv6_prefix # 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. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # Output only. [Output Only] The gateway address for default routes to reach # destination # addresses outside this subnetwork. # Corresponds to the JSON property `gatewayAddress` # @return [String] attr_accessor :gateway_address # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # The internal IPv6 address range that is owned by this # subnetwork. # Corresponds to the JSON property `internalIpv6Prefix` # @return [String] attr_accessor :internal_ipv6_prefix # The range of internal addresses that are owned by this subnetwork. # Provide this property when you create the subnetwork. For example,10.0.0.0/8 # or 100.64.0.0/10. Ranges must # be unique and non-overlapping within a network. Only IPv4 is supported. # This field is set at resource creation time. The range can be any range # listed in theValid # ranges list. The range can be expanded after creation usingexpandIpCidrRange. # Corresponds to the JSON property `ipCidrRange` # @return [String] attr_accessor :ip_cidr_range # Reference to the source of IP, like a PublicDelegatedPrefix # (PDP) for BYOIP. The PDP must be a sub-PDP in # EXTERNAL_IPV6_SUBNETWORK_CREATION or INTERNAL_IPV6_SUBNETWORK_CREATION # mode. # Use one of the following formats to specify a sub-PDP when creating a dual # stack or IPv6-only subnetwork with external access using BYOIP: # # - # Full resource URL, as inhttps://www.googleapis.com/compute/v1/projects/ # projectId/regions/region/publicDelegatedPrefixes/sub-pdp-name # - # Partial URL, as in # # # - projects/projectId/regions/region/publicDelegatedPrefixes/sub-pdp- # name # - regions/region/publicDelegatedPrefixes/sub-pdp-name # Corresponds to the JSON property `ipCollection` # @return [String] attr_accessor :ip_collection # 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. # Corresponds to the JSON property `ipv6AccessType` # @return [String] attr_accessor :ipv6_access_type # Output only. [Output Only] This field is for internal use. # Corresponds to the JSON property `ipv6CidrRange` # @return [String] attr_accessor :ipv6_cidr_range # Output only. [Output Only] Possible endpoints of this subnetwork. It can be # one of the # following: # # - VM_ONLY: The subnetwork can be used for creating instances and # IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6 # ranges from a public delegated prefix and cannot be used to create NetLb. # - VM_AND_FR: The subnetwork can be used for creating both VM # instances and Forwarding Rules. It can also be used to reserve IPv6 # addresses with both VM and FR endpoint types. Such a subnetwork gets its # IPv6 range from Google IP Pool directly. # Corresponds to the JSON property `ipv6GceEndpoint` # @return [String] attr_accessor :ipv6_gce_endpoint # Output only. [Output Only] Type of the resource. Always compute#subnetwork # for Subnetwork resources. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The available logging options for this subnetwork. # Corresponds to the JSON property `logConfig` # @return [Google::Apis::ComputeV1::SubnetworkLogConfig] attr_accessor :log_config # The name of the resource, provided by the client when initially creating # the resource. The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # 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. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # Additional subnetwork parameters. # Corresponds to the JSON property `params` # @return [Google::Apis::ComputeV1::SubnetworkParams] attr_accessor :params # 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. # Corresponds to the JSON property `privateIpGoogleAccess` # @return [Boolean] attr_accessor :private_ip_google_access alias_method :private_ip_google_access?, :private_ip_google_access # This field is for internal use. # This field can be both set at resource creation time and updated usingpatch. # Corresponds to the JSON property `privateIpv6GoogleAccess` # @return [String] attr_accessor :private_ipv6_google_access # # Corresponds to the JSON property `purpose` # @return [String] attr_accessor :purpose # URL of the region where the Subnetwork resides. This # field can be set only at resource creation time. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # The URL of the reserved internal range. # Corresponds to the JSON property `reservedInternalRange` # @return [String] attr_accessor :reserved_internal_range # Configures subnet mask resolution for this subnetwork. # Corresponds to the JSON property `resolveSubnetMask` # @return [String] attr_accessor :resolve_subnet_mask # The role of subnetwork. Currently, this field is only used when # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can # be set toACTIVE 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. # Corresponds to the JSON property `role` # @return [String] attr_accessor :role # 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 apatch request. # Supports both IPv4 and IPv6 ranges. # Corresponds to the JSON property `secondaryIpRanges` # @return [Array] attr_accessor :secondary_ip_ranges # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # The stack type for the subnet. If set to IPV4_ONLY, new VMs # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch. # Corresponds to the JSON property `stackType` # @return [String] attr_accessor :stack_type # Output only. [Output Only] The state of the subnetwork, which can be one of # the # following values:READY: Subnetwork is created and ready to useDRAINING: only # applicable to subnetworks that have the # purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that # connections to the load balancer are being drained. A subnetwork that is # draining cannot be used or modified until it reaches a status ofREADY # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Output only. [Output Only] The array of external IPv6 network ranges reserved # from # the subnetwork's external IPv6 range for system use. # Corresponds to the JSON property `systemReservedExternalIpv6Ranges` # @return [Array] attr_accessor :system_reserved_external_ipv6_ranges # Output only. [Output Only] The array of internal IPv6 network ranges reserved # from # the subnetwork's internal IPv6 range for system use. # Corresponds to the JSON property `systemReservedInternalIpv6Ranges` # @return [Array] attr_accessor :system_reserved_internal_ipv6_ranges # The current IP utilization of all subnetwork ranges. Contains the total # number of allocated and free IPs in each range. # Corresponds to the JSON property `utilizationDetails` # @return [Google::Apis::ComputeV1::SubnetworkUtilizationDetails] attr_accessor :utilization_details def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @allow_subnet_cidr_routes_overlap = args[:allow_subnet_cidr_routes_overlap] if args.key?(:allow_subnet_cidr_routes_overlap) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @enable_flow_logs = args[:enable_flow_logs] if args.key?(:enable_flow_logs) @external_ipv6_prefix = args[:external_ipv6_prefix] if args.key?(:external_ipv6_prefix) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @gateway_address = args[:gateway_address] if args.key?(:gateway_address) @id = args[:id] if args.key?(:id) @internal_ipv6_prefix = args[:internal_ipv6_prefix] if args.key?(:internal_ipv6_prefix) @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range) @ip_collection = args[:ip_collection] if args.key?(:ip_collection) @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type) @ipv6_cidr_range = args[:ipv6_cidr_range] if args.key?(:ipv6_cidr_range) @ipv6_gce_endpoint = args[:ipv6_gce_endpoint] if args.key?(:ipv6_gce_endpoint) @kind = args[:kind] if args.key?(:kind) @log_config = args[:log_config] if args.key?(:log_config) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @params = args[:params] if args.key?(:params) @private_ip_google_access = args[:private_ip_google_access] if args.key?(:private_ip_google_access) @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access) @purpose = args[:purpose] if args.key?(:purpose) @region = args[:region] if args.key?(:region) @reserved_internal_range = args[:reserved_internal_range] if args.key?(:reserved_internal_range) @resolve_subnet_mask = args[:resolve_subnet_mask] if args.key?(:resolve_subnet_mask) @role = args[:role] if args.key?(:role) @secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges) @self_link = args[:self_link] if args.key?(:self_link) @stack_type = args[:stack_type] if args.key?(:stack_type) @state = args[:state] if args.key?(:state) @system_reserved_external_ipv6_ranges = args[:system_reserved_external_ipv6_ranges] if args.key?(:system_reserved_external_ipv6_ranges) @system_reserved_internal_ipv6_ranges = args[:system_reserved_internal_ipv6_ranges] if args.key?(:system_reserved_internal_ipv6_ranges) @utilization_details = args[:utilization_details] if args.key?(:utilization_details) end end # class SubnetworkAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of SubnetworksScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # subnetworkAggregatedList for aggregated lists of # subnetworks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::SubnetworkAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of Subnetwork resources. class SubnetworkList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Subnetwork resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#subnetworkList # for lists of subnetworks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::SubnetworkList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # The available logging options for this subnetwork. class SubnetworkLogConfig include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `aggregationInterval` # @return [String] attr_accessor :aggregation_interval # 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. # Corresponds to the JSON property `enable` # @return [Boolean] attr_accessor :enable alias_method :enable?, :enable # 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. # Corresponds to the JSON property `filterExpr` # @return [String] attr_accessor :filter_expr # 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. # Corresponds to the JSON property `flowSampling` # @return [Float] attr_accessor :flow_sampling # 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 isEXCLUDE_ALL_METADATA. # Corresponds to the JSON property `metadata` # @return [String] attr_accessor :metadata # Can only be specified if VPC flow logs for this subnetwork is enabled and # "metadata" was set to CUSTOM_METADATA. # Corresponds to the JSON property `metadataFields` # @return [Array] attr_accessor :metadata_fields def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @aggregation_interval = args[:aggregation_interval] if args.key?(:aggregation_interval) @enable = args[:enable] if args.key?(:enable) @filter_expr = args[:filter_expr] if args.key?(:filter_expr) @flow_sampling = args[:flow_sampling] if args.key?(:flow_sampling) @metadata = args[:metadata] if args.key?(:metadata) @metadata_fields = args[:metadata_fields] if args.key?(:metadata_fields) end end # Additional subnetwork parameters. class SubnetworkParams include Google::Apis::Core::Hashable # Tag keys/values directly bound to this resource. # Tag keys and values have the same definition as resource # manager tags. The field is allowed for INSERT # only. The keys/values to set on the resource should be specified in # either ID ` : ` or Namespaced format # ` : `. # For example the following are valid inputs: # * `"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` # * `"123/environment" : "production", "345/abc" : "xyz"` # Note: # * Invalid combinations of ID & namespaced format is not supported. For # instance: `"123/environment" : "tagValues/444"` is invalid. # Corresponds to the JSON property `resourceManagerTags` # @return [Hash] attr_accessor :resource_manager_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags) end end # Represents a secondary IP range of a subnetwork. class SubnetworkSecondaryRange include Google::Apis::Core::Hashable # 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. Both IPv4 and IPv6 ranges are supported. For IPv4, # the range can be any range listed in theValid # ranges list. # For IPv6: # The range must have a /64 prefix length. # The range must be omitted, for auto-allocation from Google-defined ULA # IPv6 range. # For BYOGUA internal IPv6 secondary range, the range may be specified # along with the `ipCollection` field. # If an `ipCollection` is specified, the requested ip_cidr_range must lie # within the range of the PDP referenced by the `ipCollection` field for # allocation. # If `ipCollection` field is specified, but ip_cidr_range is not, # the range is auto-allocated from the PDP referenced by the `ipCollection` # field. # Corresponds to the JSON property `ipCidrRange` # @return [String] attr_accessor :ip_cidr_range # The name associated with this subnetwork secondary range, used when adding # an alias IP/IPv6 range to a VM instance. # The name must be 1-63 characters long, and comply withRFC1035. # The name must be unique within the subnetwork. # Corresponds to the JSON property `rangeName` # @return [String] attr_accessor :range_name # The URL of the reserved internal range. Only IPv4 is supported. # Corresponds to the JSON property `reservedInternalRange` # @return [String] attr_accessor :reserved_internal_range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range) @range_name = args[:range_name] if args.key?(:range_name) @reserved_internal_range = args[:reserved_internal_range] if args.key?(:reserved_internal_range) end end # The current IP utilization of all subnetwork ranges. Contains the total # number of allocated and free IPs in each range. class SubnetworkUtilizationDetails include Google::Apis::Core::Hashable # The IPV6 utilization of a single IP range. # Corresponds to the JSON property `externalIpv6InstanceUtilization` # @return [Google::Apis::ComputeV1::SubnetworkUtilizationDetailsIpv6Utilization] attr_accessor :external_ipv6_instance_utilization # The IPV6 utilization of a single IP range. # Corresponds to the JSON property `externalIpv6LbUtilization` # @return [Google::Apis::ComputeV1::SubnetworkUtilizationDetailsIpv6Utilization] attr_accessor :external_ipv6_lb_utilization # The IPV6 utilization of a single IP range. # Corresponds to the JSON property `internalIpv6Utilization` # @return [Google::Apis::ComputeV1::SubnetworkUtilizationDetailsIpv6Utilization] attr_accessor :internal_ipv6_utilization # Utilizations of all IPV4 IP ranges. For primary ranges, the range name # will be empty. # Corresponds to the JSON property `ipv4Utilizations` # @return [Array] attr_accessor :ipv4_utilizations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @external_ipv6_instance_utilization = args[:external_ipv6_instance_utilization] if args.key?(:external_ipv6_instance_utilization) @external_ipv6_lb_utilization = args[:external_ipv6_lb_utilization] if args.key?(:external_ipv6_lb_utilization) @internal_ipv6_utilization = args[:internal_ipv6_utilization] if args.key?(:internal_ipv6_utilization) @ipv4_utilizations = args[:ipv4_utilizations] if args.key?(:ipv4_utilizations) end end # The IPV4 utilization of a single IP range. class SubnetworkUtilizationDetailsIpv4Utilization include Google::Apis::Core::Hashable # Will be set for secondary range. Empty for primary IPv4 range. # Corresponds to the JSON property `rangeName` # @return [String] attr_accessor :range_name # # Corresponds to the JSON property `totalAllocatedIp` # @return [Fixnum] attr_accessor :total_allocated_ip # # Corresponds to the JSON property `totalFreeIp` # @return [Fixnum] attr_accessor :total_free_ip def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @range_name = args[:range_name] if args.key?(:range_name) @total_allocated_ip = args[:total_allocated_ip] if args.key?(:total_allocated_ip) @total_free_ip = args[:total_free_ip] if args.key?(:total_free_ip) end end # The IPV6 utilization of a single IP range. class SubnetworkUtilizationDetailsIpv6Utilization include Google::Apis::Core::Hashable # # Corresponds to the JSON property `totalAllocatedIp` # @return [Google::Apis::ComputeV1::Uint128] attr_accessor :total_allocated_ip # # Corresponds to the JSON property `totalFreeIp` # @return [Google::Apis::ComputeV1::Uint128] attr_accessor :total_free_ip def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @total_allocated_ip = args[:total_allocated_ip] if args.key?(:total_allocated_ip) @total_free_ip = args[:total_free_ip] if args.key?(:total_free_ip) end end # class SubnetworksExpandIpCidrRangeRequest include Google::Apis::Core::Hashable # The IP (in CIDR format or netmask) of internal addresses that are legal on # this Subnetwork. This range should be disjoint from other subnetworks # within this network. This range can only be larger than (i.e. a superset # of) the range previously defined before the update. # Corresponds to the JSON property `ipCidrRange` # @return [String] attr_accessor :ip_cidr_range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range) end end # class SubnetworksScopedList include Google::Apis::Core::Hashable # A list of subnetworks contained in this scope. # Corresponds to the JSON property `subnetworks` # @return [Array] attr_accessor :subnetworks # An informational warning that appears when the list of addresses # is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::SubnetworksScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @subnetworks = args[:subnetworks] if args.key?(:subnetworks) @warning = args[:warning] if args.key?(:warning) end # An informational warning that appears when the list of addresses # is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class SubnetworksScopedWarning include Google::Apis::Core::Hashable # Name of the scope containing this set of Subnetworks. # Corresponds to the JSON property `scopeName` # @return [String] attr_accessor :scope_name # An informational warning about unreachable scope # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::SubnetworksScopedWarning::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @scope_name = args[:scope_name] if args.key?(:scope_name) @warning = args[:warning] if args.key?(:warning) end # An informational warning about unreachable scope class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class SubnetworksSetPrivateIpGoogleAccessRequest include Google::Apis::Core::Hashable # # Corresponds to the JSON property `privateIpGoogleAccess` # @return [Boolean] attr_accessor :private_ip_google_access alias_method :private_ip_google_access?, :private_ip_google_access def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @private_ip_google_access = args[:private_ip_google_access] if args.key?(:private_ip_google_access) end end # Subsetting configuration for this BackendService. # Currently this is applicable only for Internal TCP/UDP load balancing, # Internal HTTP(S) load balancing and Traffic Director. class Subsetting include Google::Apis::Core::Hashable # # Corresponds to the JSON property `policy` # @return [String] attr_accessor :policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @policy = args[:policy] if args.key?(:policy) end end # class TcpHealthCheck include Google::Apis::Core::Hashable # The TCP port number to which the health check prober sends packets. The # default value is 80. Valid values are 1 through65535. # Corresponds to the JSON property `port` # @return [Fixnum] attr_accessor :port # Not supported. # Corresponds to the JSON property `portName` # @return [String] attr_accessor :port_name # 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 theport 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. # Corresponds to the JSON property `portSpecification` # @return [String] attr_accessor :port_specification # Specifies the type of proxy header to append before sending data to the # backend, either NONE or PROXY_V1. The default # is NONE. # Corresponds to the JSON property `proxyHeader` # @return [String] attr_accessor :proxy_header # Instructs the health check prober to send this exact ASCII string, up to # 1024 bytes in length, after establishing the TCP connection. # Corresponds to the JSON property `request` # @return [String] attr_accessor :request # 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 # Corresponds to the JSON property `response` # @return [String] attr_accessor :response def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @port = args[:port] if args.key?(:port) @port_name = args[:port_name] if args.key?(:port_name) @port_specification = args[:port_specification] if args.key?(:port_specification) @proxy_header = args[:proxy_header] if args.key?(:proxy_header) @request = args[:request] if args.key?(:request) @response = args[:response] if args.key?(:response) end end # A set of instance tags. class Tags include Google::Apis::Core::Hashable # Specifies a fingerprint for this request, which is essentially a hash of # the tags' contents and used for optimistic locking. The # fingerprint is initially generated by Compute Engine and changes after # every request to modify or update tags. You must always provide an # up-to-date fingerprint hash in order to update or change tags. # To see the latest fingerprint, make get() request to the # instance. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # An array of tags. Each tag must be 1-63 characters long, and comply # with RFC1035. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @items = args[:items] if args.key?(:items) end end # Represents a Target gRPC Proxy resource. # A target gRPC proxy is a component of load balancers intended for # load balancing gRPC traffic. Only global forwarding rules with load balancing # scheme INTERNAL_SELF_MANAGED can reference a target gRPC proxy. The target # gRPC Proxy references a URL map that specifies how traffic is routed to # gRPC backend services. class TargetGrpcProxy include Google::Apis::Core::Hashable # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # 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 TargetGrpcProxy. An up-to-date fingerprint must # be provided in order to patch/update the TargetGrpcProxy; otherwise, the # request will fail with error 412 conditionNotMet. To see the # latest fingerprint, make a get() request to retrieve the # TargetGrpcProxy. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # Output only. [Output Only] The unique identifier for the resource type. The # server # generates this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute#targetGrpcProxy # for target grpc proxies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Server-defined URL with id for the resource. # Corresponds to the JSON property `selfLinkWithId` # @return [String] attr_accessor :self_link_with_id # URL to the UrlMap resource that defines the mapping from URL to the # BackendService. The protocol field in the BackendService must be set to # GRPC. # Corresponds to the JSON property `urlMap` # @return [String] attr_accessor :url_map # If true, indicates that the BackendServices referenced by the urlMap may be # accessed by gRPC applications without using a sidecar proxy. This will # enable configuration checks on urlMap and its referenced BackendServices to # not allow unsupported features. A gRPC application must use # "xds:///" scheme in the target URI of the service it is # connecting to. # If false, indicates that the BackendServices referenced by the urlMap will # be accessed by gRPC applications via a sidecar proxy. In this case, a gRPC # application must not use "xds:///" scheme in the target URI of # the service it is connecting to # Corresponds to the JSON property `validateForProxyless` # @return [Boolean] attr_accessor :validate_for_proxyless alias_method :validate_for_proxyless?, :validate_for_proxyless def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @url_map = args[:url_map] if args.key?(:url_map) @validate_for_proxyless = args[:validate_for_proxyless] if args.key?(:validate_for_proxyless) end end # class TargetGrpcProxyList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of TargetGrpcProxy resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of the resource. Alwayscompute#targetGrpcProxy # for target grpc proxies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetGrpcProxyList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class TargetHttpProxiesScopedList include Google::Apis::Core::Hashable # A list of TargetHttpProxies contained in this scope. # Corresponds to the JSON property `targetHttpProxies` # @return [Array] attr_accessor :target_http_proxies # Informational warning which replaces the list of # backend services when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetHttpProxiesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @target_http_proxies = args[:target_http_proxies] if args.key?(:target_http_proxies) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of # backend services when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # 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, readUsing Target Proxies # and # Forwarding rule concepts. class TargetHttpProxy include Google::Apis::Core::Hashable # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # 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. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # 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. # Corresponds to the JSON property `httpKeepAliveTimeoutSec` # @return [Fixnum] attr_accessor :http_keep_alive_timeout_sec # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of resource. Always compute#targetHttpProxy # for target HTTP proxies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # This field only applies when the forwarding rule that references this # target proxy has a loadBalancingScheme set toINTERNAL_SELF_MANAGED. # When this field is set to true, Envoy proxies set up inbound # traffic interception and bind to the IP address and port specified in the # forwarding rule. This is generally useful when using Traffic Director to # configure Envoy as a gateway or middle proxy (in other words, not a # sidecar proxy). The Envoy proxy listens for inbound requests and handles # requests when it receives them. # The default is false. # Corresponds to the JSON property `proxyBind` # @return [Boolean] attr_accessor :proxy_bind alias_method :proxy_bind?, :proxy_bind # Output only. [Output Only] URL of the region where the regional Target HTTP # Proxy # resides. This field is not applicable to global Target HTTP Proxies. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # URL to the UrlMap resource that defines the mapping from URL to # the BackendService. # Corresponds to the JSON property `urlMap` # @return [String] attr_accessor :url_map def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @http_keep_alive_timeout_sec = args[:http_keep_alive_timeout_sec] if args.key?(:http_keep_alive_timeout_sec) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @proxy_bind = args[:proxy_bind] if args.key?(:proxy_bind) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @url_map = args[:url_map] if args.key?(:url_map) end end # class TargetHttpProxyAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of TargetHttpProxiesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # targetHttpProxyAggregatedList for lists of Target HTTP # Proxies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) end end # A list of TargetHttpProxy resources. class TargetHttpProxyList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of TargetHttpProxy resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. Always compute#targetHttpProxyList for lists # of target HTTP proxies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetHttpProxyList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class TargetHttpsProxiesScopedList include Google::Apis::Core::Hashable # A list of TargetHttpsProxies contained in this scope. # Corresponds to the JSON property `targetHttpsProxies` # @return [Array] attr_accessor :target_https_proxies # Informational warning which replaces the list of # backend services when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetHttpsProxiesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @target_https_proxies = args[:target_https_proxies] if args.key?(:target_https_proxies) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of # backend services when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class TargetHttpsProxiesSetCertificateMapRequest include Google::Apis::Core::Hashable # URL of the Certificate Map to associate with this TargetHttpsProxy. # Accepted format is//certificatemanager.googleapis.com/projects/`project`/ # locations/`location`/certificateMaps/`resourceName`. # Corresponds to the JSON property `certificateMap` # @return [String] attr_accessor :certificate_map def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @certificate_map = args[:certificate_map] if args.key?(:certificate_map) end end # class TargetHttpsProxiesSetQuicOverrideRequest include Google::Apis::Core::Hashable # QUIC policy for the TargetHttpsProxy resource. # Corresponds to the JSON property `quicOverride` # @return [String] attr_accessor :quic_override def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @quic_override = args[:quic_override] if args.key?(:quic_override) end end # class TargetHttpsProxiesSetSslCertificatesRequest include Google::Apis::Core::Hashable # New set of SslCertificate resources to associate # with this TargetHttpsProxy resource. At least one SSL # certificate must be specified. Currently, you may specify up to 15 SSL # certificates. # Corresponds to the JSON property `sslCertificates` # @return [Array] attr_accessor :ssl_certificates def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates) end end # 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 Google Cloud HTTPS load balancers. # * targetHttpsProxies are used by global external Application Load Balancers, # classic Application Load Balancers, cross-region internal Application Load # Balancers, and Traffic Director. # * regionTargetHttpsProxies 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, readUsing Target Proxies # and # Forwarding rule concepts. class TargetHttpsProxy include Google::Apis::Core::Hashable # 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 globalTargetHttpsProxy attached # toglobalForwardingRules with theloadBalancingScheme set to # INTERNAL_SELF_MANAGED. # Note: This field currently has no impact. # Corresponds to the JSON property `authorizationPolicy` # @return [String] attr_accessor :authorization_policy # URL of a certificate map that identifies a certificate map associated with # the given target proxy. # This field can only be set for Global external Application Load Balancer or # Classic Application Load Balancer. For other products use Certificate # Manager Certificates instead. # If set, sslCertificates will be ignored. # Accepted format is//certificatemanager.googleapis.com/projects/`project`/ # locations/`location`/certificateMaps/`resourceName`. # Corresponds to the JSON property `certificateMap` # @return [String] attr_accessor :certificate_map # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # 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. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # 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. # Corresponds to the JSON property `httpKeepAliveTimeoutSec` # @return [Fixnum] attr_accessor :http_keep_alive_timeout_sec # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of resource. Alwayscompute#targetHttpsProxy # for target HTTPS proxies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # This field only applies when the forwarding rule that references this # target proxy has a loadBalancingScheme set toINTERNAL_SELF_MANAGED. # When this field is set to true, Envoy proxies set up inbound # traffic interception and bind to the IP address and port specified in the # forwarding rule. This is generally useful when using Traffic Director to # configure Envoy as a gateway or middle proxy (in other words, not a # sidecar proxy). The Envoy proxy listens for inbound requests and handles # requests when it receives them. # The default is false. # Corresponds to the JSON property `proxyBind` # @return [Boolean] attr_accessor :proxy_bind alias_method :proxy_bind?, :proxy_bind # 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, orDISABLE. # # - 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. # Corresponds to the JSON property `quicOverride` # @return [String] attr_accessor :quic_override # Output only. [Output Only] URL of the region where the regional # TargetHttpsProxy # resides. This field is not applicable to global TargetHttpsProxies. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Optional. A URL referring to a networksecurity.ServerTlsPolicy resource # that describes how the proxy should authenticate inbound traffic. # serverTlsPolicy only applies to a globalTargetHttpsProxy attached # toglobalForwardingRules with theloadBalancingScheme set to # INTERNAL_SELF_MANAGED # or EXTERNAL orEXTERNAL_MANAGED or INTERNAL_MANAGED. # It also applies to a regional TargetHttpsProxy attached to # regional forwardingRules with theloadBalancingScheme set to EXTERNAL_MANAGED # orINTERNAL_MANAGED. For details whichServerTlsPolicy resources are accepted # withINTERNAL_SELF_MANAGED and which with EXTERNAL,INTERNAL_MANAGED, # EXTERNAL_MANAGEDloadBalancingScheme consult ServerTlsPolicy # documentation. # If left blank, communications are not encrypted. # Corresponds to the JSON property `serverTlsPolicy` # @return [String] attr_accessor :server_tls_policy # URLs to SslCertificate resources that are used to authenticate # connections between users and the load balancer. At least one SSL # certificate must be specified. SslCertificates do not apply when the load # balancing scheme is set to INTERNAL_SELF_MANAGED. # The URLs should refer to a SSL Certificate resource or Certificate Manager # Certificate resource. Mixing Classic Certificates and Certificate Manager # Certificates is not allowed. Certificate Manager Certificates must include # the certificatemanager API namespace. Using Certificate Manager # Certificates in this field is not supported by Global external Application # Load Balancer or Classic Application Load Balancer, use certificate_map # instead. # Currently, you may specify up to 15 Classic SSL Certificates or up to 100 # Certificate Manager Certificates. # Certificate Manager Certificates accepted formats are: # # - //certificatemanager.googleapis.com/projects/`project`/locations/` # location`/certificates/`resourceName`. # - https://certificatemanager.googleapis.com/v1alpha1/projects/`project`/ # locations/`location`/certificates/`resourceName`. # Corresponds to the JSON property `sslCertificates` # @return [Array] attr_accessor :ssl_certificates # URL of SslPolicy resource that will be associated with the TargetHttpsProxy # resource. If not set, the TargetHttpsProxy resource has no # SSL policy configured. # Corresponds to the JSON property `sslPolicy` # @return [String] attr_accessor :ssl_policy # Specifies whether TLS 1.3 0-RTT Data ("Early Data") should be accepted # for this service. Early Data allows a TLS resumption handshake to include # the initial application payload (a HTTP request) alongside the handshake, # reducing the effective round trips to "zero". This applies to TLS 1.3 # connections over TCP (HTTP/2) as well as over UDP (QUIC/h3). # This can improve application performance, especially on networks where # interruptions may be common, such as on mobile. # Requests with Early Data will have the "Early-Data" HTTP header set on # the request, with a value of "1", to allow the backend to determine whether # Early Data was included. # Note: TLS Early Data may allow requests to be replayed, as the data is # sent to the backend before the handshake has fully completed. Applications # that allow idempotent HTTP methods to make non-idempotent changes, such as # a GET request updating a database, should not accept Early Data on those # requests, and reject requests with the "Early-Data: 1" HTTP header by # returning a HTTP 425 (Too Early) status code, in order to remain RFC # compliant. # The default value is DISABLED. # Corresponds to the JSON property `tlsEarlyData` # @return [String] attr_accessor :tls_early_data # 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 # Corresponds to the JSON property `urlMap` # @return [String] attr_accessor :url_map def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @authorization_policy = args[:authorization_policy] if args.key?(:authorization_policy) @certificate_map = args[:certificate_map] if args.key?(:certificate_map) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @http_keep_alive_timeout_sec = args[:http_keep_alive_timeout_sec] if args.key?(:http_keep_alive_timeout_sec) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @proxy_bind = args[:proxy_bind] if args.key?(:proxy_bind) @quic_override = args[:quic_override] if args.key?(:quic_override) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @server_tls_policy = args[:server_tls_policy] if args.key?(:server_tls_policy) @ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates) @ssl_policy = args[:ssl_policy] if args.key?(:ssl_policy) @tls_early_data = args[:tls_early_data] if args.key?(:tls_early_data) @url_map = args[:url_map] if args.key?(:url_map) end end # class TargetHttpsProxyAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of TargetHttpsProxiesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # targetHttpsProxyAggregatedList for lists of Target # HTTP Proxies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetHttpsProxyAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of TargetHttpsProxy resources. class TargetHttpsProxyList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of TargetHttpsProxy resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. Always compute#targetHttpsProxyList for # lists of target HTTPS proxies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetHttpsProxyList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents a Target Instance resource. # You can use a target instance to handle traffic for one or more forwarding # rules, which is ideal for forwarding protocol traffic that is managed by a # single source. For example, ESP, AH, TCP, or UDP. # For more information, readTarget # instances. class TargetInstance include Google::Apis::Core::Hashable # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # A URL to the virtual machine instance that handles traffic for this target # instance. When creating a target instance, you can provide the # fully-qualified URL or a valid partial URL to the desired virtual machine. # For example, the following are all valid URLs: # # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/ # instances/instance # - projects/project/zones/zone/instances/instance # - zones/zone/instances/instance # Corresponds to the JSON property `instance` # @return [String] attr_accessor :instance # Output only. [Output Only] The type of the resource. Alwayscompute# # targetInstance for target instances. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # 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. # Corresponds to the JSON property `natPolicy` # @return [String] attr_accessor :nat_policy # 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. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # [Output Only] The resource URL for the security policy associated with this # target instance. # Corresponds to the JSON property `securityPolicy` # @return [String] attr_accessor :security_policy # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [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. # Corresponds to the JSON property `zone` # @return [String] attr_accessor :zone def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @instance = args[:instance] if args.key?(:instance) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @nat_policy = args[:nat_policy] if args.key?(:nat_policy) @network = args[:network] if args.key?(:network) @security_policy = args[:security_policy] if args.key?(:security_policy) @self_link = args[:self_link] if args.key?(:self_link) @zone = args[:zone] if args.key?(:zone) end end # class TargetInstanceAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of TargetInstance resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetInstanceAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of TargetInstance resources. class TargetInstanceList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of TargetInstance resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetInstanceList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class TargetInstancesScopedList include Google::Apis::Core::Hashable # A list of target instances contained in this scope. # Corresponds to the JSON property `targetInstances` # @return [Array] attr_accessor :target_instances # Informational warning which replaces the list of addresses when # the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetInstancesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @target_instances = args[:target_instances] if args.key?(:target_instances) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of addresses when # the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # 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, readUsing target pools. class TargetPool include Google::Apis::Core::Hashable # The server-defined URL for the resource. This field is applicable only when # the containing target pool is serving a forwarding rule as the primary # pool, and its failoverRatio field is properly set to a value # between [0, 1].backupPool and failoverRatio together define # the fallback behavior of the primary target pool: if the ratio of the # healthy instances in the primary pool is at or belowfailoverRatio, traffic # arriving at the load-balanced # IP will be directed to the backup pool. # In case where failoverRatio and backupPool # are not set, or all the instances in the backup pool are unhealthy, # the traffic will be directed back to the primary pool in the "force" # mode, where traffic will be spread to the healthy instances with the # best effort, or to all instances when no instance is healthy. # Corresponds to the JSON property `backupPool` # @return [String] attr_accessor :backup_pool # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # This field is applicable only when the containing target pool is serving a # forwarding rule as the primary pool (i.e., not as a backup pool to some # other target pool). The value of the field must be in [0, 1]. # If set, backupPool must also be set. They together define # the fallback behavior of the primary target pool: if the ratio of the # healthy instances in the primary pool is at or below this number, # traffic arriving at the load-balanced IP will be directed to the # backup pool. # In case where failoverRatio is not set or all the # instances in the backup pool are unhealthy, the traffic will be # directed back to the primary pool in the "force" mode, where traffic # will be spread to the healthy instances with the # best effort, or to all instances when no instance is healthy. # Corresponds to the JSON property `failoverRatio` # @return [Float] attr_accessor :failover_ratio # The URL of the HttpHealthCheck resource. A member instance in this # pool is considered healthy if and only if the health checks pass. # Only legacy HttpHealthChecks are supported. Only one health check may be # specified. # Corresponds to the JSON property `healthChecks` # @return [Array] attr_accessor :health_checks # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # A list of resource URLs to the virtual machine instances serving this pool. # They must live in zones contained in the same region as this pool. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances # Output only. [Output Only] Type of the resource. Always compute#targetPool # for target pools. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] URL of the region where the target pool resides. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [Output Only] The resource URL for the security policy associated with this # target pool. # Corresponds to the JSON property `securityPolicy` # @return [String] attr_accessor :security_policy # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # 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. # Corresponds to the JSON property `sessionAffinity` # @return [String] attr_accessor :session_affinity def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @backup_pool = args[:backup_pool] if args.key?(:backup_pool) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @failover_ratio = args[:failover_ratio] if args.key?(:failover_ratio) @health_checks = args[:health_checks] if args.key?(:health_checks) @id = args[:id] if args.key?(:id) @instances = args[:instances] if args.key?(:instances) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @region = args[:region] if args.key?(:region) @security_policy = args[:security_policy] if args.key?(:security_policy) @self_link = args[:self_link] if args.key?(:self_link) @session_affinity = args[:session_affinity] if args.key?(:session_affinity) end end # class TargetPoolAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of TargetPool resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # targetPoolAggregatedList for aggregated lists of # target pools. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetPoolAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class TargetPoolInstanceHealth include Google::Apis::Core::Hashable # # Corresponds to the JSON property `healthStatus` # @return [Array] attr_accessor :health_status # Output only. [Output Only] Type of resource. Alwayscompute# # targetPoolInstanceHealth when checking the health of # an instance. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @health_status = args[:health_status] if args.key?(:health_status) @kind = args[:kind] if args.key?(:kind) end end # Contains a list of TargetPool resources. class TargetPoolList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of TargetPool resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#targetPoolList # for lists of target pools. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetPoolList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class AddTargetPoolsHealthCheckRequest include Google::Apis::Core::Hashable # The HttpHealthCheck to add to the target pool. # Corresponds to the JSON property `healthChecks` # @return [Array] attr_accessor :health_checks def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @health_checks = args[:health_checks] if args.key?(:health_checks) end end # class AddTargetPoolsInstanceRequest include Google::Apis::Core::Hashable # A full or partial URL to an instance to add to this target pool. This can # be a full or partial URL. For example, the following are valid URLs: # # - https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/ # instances/instance-name # - projects/project-id/zones/zone/instances/instance-name # - zones/zone/instances/instance-name # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) end end # class RemoveTargetPoolsHealthCheckRequest include Google::Apis::Core::Hashable # Health check URL to be removed. This can be a full or valid partial URL. # For example, the following are valid URLs: # # - https://www.googleapis.com/compute/beta/projects/project/global/ # httpHealthChecks/health-check # - projects/project/global/httpHealthChecks/health-check # - global/httpHealthChecks/health-check # Corresponds to the JSON property `healthChecks` # @return [Array] attr_accessor :health_checks def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @health_checks = args[:health_checks] if args.key?(:health_checks) end end # class RemoveTargetPoolsInstanceRequest include Google::Apis::Core::Hashable # URLs of the instances to be removed from target pool. # Corresponds to the JSON property `instances` # @return [Array] attr_accessor :instances def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instances = args[:instances] if args.key?(:instances) end end # class TargetPoolsScopedList include Google::Apis::Core::Hashable # A list of target pools contained in this scope. # Corresponds to the JSON property `targetPools` # @return [Array] attr_accessor :target_pools # Informational warning which replaces the list of addresses when # the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetPoolsScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @target_pools = args[:target_pools] if args.key?(:target_pools) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of addresses when # the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class TargetReference include Google::Apis::Core::Hashable # # Corresponds to the JSON property `target` # @return [String] attr_accessor :target def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @target = args[:target] if args.key?(:target) end end # class TargetSslProxiesSetBackendServiceRequest include Google::Apis::Core::Hashable # The URL of the new BackendService resource for the targetSslProxy. # Corresponds to the JSON property `service` # @return [String] attr_accessor :service def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @service = args[:service] if args.key?(:service) end end # class TargetSslProxiesSetCertificateMapRequest include Google::Apis::Core::Hashable # URL of the Certificate Map to associate with this TargetSslProxy. # Accepted format is//certificatemanager.googleapis.com/projects/`project`/ # locations/`location`/certificateMaps/`resourceName`. # Corresponds to the JSON property `certificateMap` # @return [String] attr_accessor :certificate_map def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @certificate_map = args[:certificate_map] if args.key?(:certificate_map) end end # class TargetSslProxiesSetProxyHeaderRequest include Google::Apis::Core::Hashable # The new type of proxy header to append before sending data to the # backend. NONE or PROXY_V1 are allowed. # Corresponds to the JSON property `proxyHeader` # @return [String] attr_accessor :proxy_header def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @proxy_header = args[:proxy_header] if args.key?(:proxy_header) end end # class TargetSslProxiesSetSslCertificatesRequest include Google::Apis::Core::Hashable # New set of URLs to SslCertificate resources to associate with this # TargetSslProxy. At least one SSL certificate must be specified. # Currently, you may specify up to 15 SSL certificates. # Corresponds to the JSON property `sslCertificates` # @return [Array] attr_accessor :ssl_certificates def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates) end end # 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, readProxy Network # Load Balancer overview. class TargetSslProxy include Google::Apis::Core::Hashable # 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`. # Corresponds to the JSON property `certificateMap` # @return [String] attr_accessor :certificate_map # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute#targetSslProxy # for target SSL proxies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Specifies the type of proxy header to append before sending data to the # backend, either NONE or PROXY_V1. The default # is NONE. # Corresponds to the JSON property `proxyHeader` # @return [String] attr_accessor :proxy_header # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # URL to the BackendService resource. # Corresponds to the JSON property `service` # @return [String] attr_accessor :service # URLs to SslCertificate resources that are used to # authenticate connections to Backends. 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. # Corresponds to the JSON property `sslCertificates` # @return [Array] attr_accessor :ssl_certificates # URL of SslPolicy resource that will be associated with the TargetSslProxy # resource. If not set, the TargetSslProxy resource will not have any # SSL policy configured. # Corresponds to the JSON property `sslPolicy` # @return [String] attr_accessor :ssl_policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @certificate_map = args[:certificate_map] if args.key?(:certificate_map) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @proxy_header = args[:proxy_header] if args.key?(:proxy_header) @self_link = args[:self_link] if args.key?(:self_link) @service = args[:service] if args.key?(:service) @ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates) @ssl_policy = args[:ssl_policy] if args.key?(:ssl_policy) end end # Contains a list of TargetSslProxy resources. class TargetSslProxyList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of TargetSslProxy resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetSslProxyList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class TargetTcpProxiesScopedList include Google::Apis::Core::Hashable # A list of TargetTcpProxies contained in this scope. # Corresponds to the JSON property `targetTcpProxies` # @return [Array] attr_accessor :target_tcp_proxies # Informational warning which replaces the list of # backend services when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetTcpProxiesScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @target_tcp_proxies = args[:target_tcp_proxies] if args.key?(:target_tcp_proxies) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of # backend services when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class TargetTcpProxiesSetBackendServiceRequest include Google::Apis::Core::Hashable # The URL of the new BackendService resource for the targetTcpProxy. # Corresponds to the JSON property `service` # @return [String] attr_accessor :service def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @service = args[:service] if args.key?(:service) end end # class TargetTcpProxiesSetProxyHeaderRequest include Google::Apis::Core::Hashable # The new type of proxy header to append before sending data to the # backend. NONE or PROXY_V1 are allowed. # Corresponds to the JSON property `proxyHeader` # @return [String] attr_accessor :proxy_header def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @proxy_header = args[:proxy_header] if args.key?(:proxy_header) end end # 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, readProxy Network # Load Balancer overview. class TargetTcpProxy include Google::Apis::Core::Hashable # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute#targetTcpProxy # for target TCP proxies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # This field only applies when the forwarding rule that references this # target proxy has a loadBalancingScheme set toINTERNAL_SELF_MANAGED. # When this field is set to true, Envoy proxies set up inbound # traffic interception and bind to the IP address and port specified in the # forwarding rule. This is generally useful when using Traffic Director to # configure Envoy as a gateway or middle proxy (in other words, not a # sidecar proxy). The Envoy proxy listens for inbound requests and handles # requests when it receives them. # The default is false. # Corresponds to the JSON property `proxyBind` # @return [Boolean] attr_accessor :proxy_bind alias_method :proxy_bind?, :proxy_bind # Specifies the type of proxy header to append before sending data to the # backend, either NONE or PROXY_V1. The default # is NONE. # Corresponds to the JSON property `proxyHeader` # @return [String] attr_accessor :proxy_header # Output only. [Output Only] URL of the region where the regional TCP proxy # resides. # This field is not applicable to global TCP proxy. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # URL to the BackendService resource. # Corresponds to the JSON property `service` # @return [String] attr_accessor :service def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @proxy_bind = args[:proxy_bind] if args.key?(:proxy_bind) @proxy_header = args[:proxy_header] if args.key?(:proxy_header) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @service = args[:service] if args.key?(:service) end end # class TargetTcpProxyAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of TargetTcpProxiesScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # targetTcpProxyAggregatedList for lists of Target # TCP Proxies. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetTcpProxyAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of TargetTcpProxy resources. class TargetTcpProxyList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of TargetTcpProxy resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetTcpProxyList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents a Target VPN Gateway resource. # The target VPN gateway resource represents a Classic Cloud VPN gateway. # For more information, read thethe # Cloud VPN Overview. class TargetVpnGateway include Google::Apis::Core::Hashable # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Output Only] A list of URLs to the ForwardingRule resources. # ForwardingRules are created usingcompute.forwardingRules.insert and associated # with a VPN # gateway. # Corresponds to the JSON property `forwardingRules` # @return [Array] attr_accessor :forwarding_rules # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of resource. Alwayscompute#targetVpnGateway # for target VPN gateways. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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 error412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve a TargetVpnGateway. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # Labels for this resource. These can only be added or modified by thesetLabels # method. Each label key/value pair must comply withRFC1035. # Label values may be empty. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # URL of the network to which this VPN gateway is attached. Provided by the # client when the VPN gateway is created. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # [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. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] The status of the VPN gateway, # which can be one of the following: CREATING, READY, FAILED, or DELETING. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # [Output Only] A list of URLs to VpnTunnel resources. VpnTunnels are # created using the compute.vpntunnels.insert method and # associated with a VPN gateway. # Corresponds to the JSON property `tunnels` # @return [Array] attr_accessor :tunnels def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @status = args[:status] if args.key?(:status) @tunnels = args[:tunnels] if args.key?(:tunnels) end end # class TargetVpnGatewayAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of TargetVpnGateway resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute#targetVpnGateway # for target VPN gateways. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetVpnGatewayAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of TargetVpnGateway resources. class TargetVpnGatewayList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of TargetVpnGateway resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute#targetVpnGateway # for target VPN gateways. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetVpnGatewayList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class TargetVpnGatewaysScopedList include Google::Apis::Core::Hashable # [Output Only] A list of target VPN gateways contained in this scope. # Corresponds to the JSON property `targetVpnGateways` # @return [Array] attr_accessor :target_vpn_gateways # [Output Only] Informational warning which replaces the list of addresses # when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::TargetVpnGatewaysScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @target_vpn_gateways = args[:target_vpn_gateways] if args.key?(:target_vpn_gateways) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning which replaces the list of addresses # when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class TestFailure include Google::Apis::Core::Hashable # The actual output URL evaluated by a load balancer containing the scheme, # host, path and query parameters. # Corresponds to the JSON property `actualOutputUrl` # @return [String] attr_accessor :actual_output_url # Actual HTTP status code for rule with `urlRedirect` # calculated by load balancer # Corresponds to the JSON property `actualRedirectResponseCode` # @return [Fixnum] attr_accessor :actual_redirect_response_code # BackendService or BackendBucket returned by load # balancer. # Corresponds to the JSON property `actualService` # @return [String] attr_accessor :actual_service # The expected output URL evaluated by a load balancer containing the scheme, # host, path and query parameters. # Corresponds to the JSON property `expectedOutputUrl` # @return [String] attr_accessor :expected_output_url # Expected HTTP status code for rule with `urlRedirect` # calculated by load balancer # Corresponds to the JSON property `expectedRedirectResponseCode` # @return [Fixnum] attr_accessor :expected_redirect_response_code # Expected BackendService or BackendBucket resource # the given URL should be mapped to. # Corresponds to the JSON property `expectedService` # @return [String] attr_accessor :expected_service # HTTP headers of the request. # Corresponds to the JSON property `headers` # @return [Array] attr_accessor :headers # Host portion of the URL. # Corresponds to the JSON property `host` # @return [String] attr_accessor :host # Path portion including query parameters in the URL. # Corresponds to the JSON property `path` # @return [String] attr_accessor :path def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @actual_output_url = args[:actual_output_url] if args.key?(:actual_output_url) @actual_redirect_response_code = args[:actual_redirect_response_code] if args.key?(:actual_redirect_response_code) @actual_service = args[:actual_service] if args.key?(:actual_service) @expected_output_url = args[:expected_output_url] if args.key?(:expected_output_url) @expected_redirect_response_code = args[:expected_redirect_response_code] if args.key?(:expected_redirect_response_code) @expected_service = args[:expected_service] if args.key?(:expected_service) @headers = args[:headers] if args.key?(:headers) @host = args[:host] if args.key?(:host) @path = args[:path] if args.key?(:path) end end # class TestPermissionsRequest include Google::Apis::Core::Hashable # The set of permissions to check for the 'resource'. Permissions with # wildcards (such as '*' or 'storage.*') are not allowed. # Corresponds to the JSON property `permissions` # @return [Array] attr_accessor :permissions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @permissions = args[:permissions] if args.key?(:permissions) end end # class TestPermissionsResponse include Google::Apis::Core::Hashable # A subset of `TestPermissionsRequest.permissions` that the caller is # allowed. # Corresponds to the JSON property `permissions` # @return [Array] attr_accessor :permissions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @permissions = args[:permissions] if args.key?(:permissions) end end # class Uint128 include Google::Apis::Core::Hashable # # Corresponds to the JSON property `high` # @return [Fixnum] attr_accessor :high # # Corresponds to the JSON property `low` # @return [Fixnum] attr_accessor :low def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @high = args[:high] if args.key?(:high) @low = args[:low] if args.key?(:low) end end # Upcoming Maintenance notification information. class UpcomingMaintenance include Google::Apis::Core::Hashable # Indicates if the maintenance can be customer triggered. # Corresponds to the JSON property `canReschedule` # @return [Boolean] attr_accessor :can_reschedule alias_method :can_reschedule?, :can_reschedule # The latest time for the planned maintenance window to start. # This timestamp value is in RFC3339 text format. # Corresponds to the JSON property `latestWindowStartTime` # @return [String] attr_accessor :latest_window_start_time # Indicates whether the UpcomingMaintenance will be triggered on VM shutdown. # Corresponds to the JSON property `maintenanceOnShutdown` # @return [Boolean] attr_accessor :maintenance_on_shutdown alias_method :maintenance_on_shutdown?, :maintenance_on_shutdown # The reasons for the maintenance. Only valid for vms. # Corresponds to the JSON property `maintenanceReasons` # @return [Array] attr_accessor :maintenance_reasons # # Corresponds to the JSON property `maintenanceStatus` # @return [String] attr_accessor :maintenance_status # Defines the type of maintenance. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # The time by which the maintenance disruption will be completed. # This timestamp value is in RFC3339 text format. # Corresponds to the JSON property `windowEndTime` # @return [String] attr_accessor :window_end_time # The current start time of the maintenance window. # This timestamp value is in RFC3339 text format. # Corresponds to the JSON property `windowStartTime` # @return [String] attr_accessor :window_start_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule) @latest_window_start_time = args[:latest_window_start_time] if args.key?(:latest_window_start_time) @maintenance_on_shutdown = args[:maintenance_on_shutdown] if args.key?(:maintenance_on_shutdown) @maintenance_reasons = args[:maintenance_reasons] if args.key?(:maintenance_reasons) @maintenance_status = args[:maintenance_status] if args.key?(:maintenance_status) @type = args[:type] if args.key?(:type) @window_end_time = args[:window_end_time] if args.key?(:window_end_time) @window_start_time = args[:window_start_time] if args.key?(:window_start_time) end end # 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,EXTERNAL_MANAGED, or # INTERNAL_SELF_MANAGED. To use # the regionUrlMaps resource, the backend service must have aloadBalancingScheme # of INTERNAL_MANAGED. For more # information, read URL # Map Concepts. class UrlMap include Google::Apis::Core::Hashable # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Specifies the custom error response policy that must be applied when the # backend service or backend bucket responds with an error. # Corresponds to the JSON property `defaultCustomErrorResponsePolicy` # @return [Google::Apis::ComputeV1::CustomErrorResponsePolicy] attr_accessor :default_custom_error_response_policy # 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. # Only one of defaultUrlRedirect, defaultService # or defaultRouteAction.weightedBackendService can 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. # Corresponds to the JSON property `defaultRouteAction` # @return [Google::Apis::ComputeV1::HttpRouteAction] attr_accessor :default_route_action # 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. # Only one of defaultUrlRedirect, defaultService # or defaultRouteAction.weightedBackendService can 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. # Corresponds to the JSON property `defaultService` # @return [String] attr_accessor :default_service # Specifies settings for an HTTP redirect. # Corresponds to the JSON property `defaultUrlRedirect` # @return [Google::Apis::ComputeV1::HttpRedirectAction] attr_accessor :default_url_redirect # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Fingerprint of this resource. A hash of the contents stored in this object. # This field is used in optimistic locking. This field is ignored when # inserting a UrlMap. An up-to-date fingerprint must be provided # in order to update the UrlMap, otherwise the request will # fail with error 412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve a UrlMap. # Corresponds to the JSON property `fingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :fingerprint # The request and response header transformations that take effect before # the request is passed along to the selected backendService. # Corresponds to the JSON property `headerAction` # @return [Google::Apis::ComputeV1::HttpHeaderAction] attr_accessor :header_action # The list of host rules to use against the URL. # Corresponds to the JSON property `hostRules` # @return [Array] attr_accessor :host_rules # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Always compute#urlMaps for # url maps. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The list of named PathMatchers to use against the URL. # Corresponds to the JSON property `pathMatchers` # @return [Array] attr_accessor :path_matchers # Output only. [Output Only] URL of the region where the regional URL map # resides. # This field is not applicable to global URL maps. # You must specify this field as part of the HTTP request URL. It is # not settable as a field in the request body. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # The list of expected URL mapping tests. Request to update theUrlMap succeeds # only if all test cases pass. You can specify a # maximum of 100 tests per UrlMap. # Not supported when the URL map is bound to a target gRPC proxy that # has validateForProxyless field set to true. # Corresponds to the JSON property `tests` # @return [Array] attr_accessor :tests def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @default_custom_error_response_policy = args[:default_custom_error_response_policy] if args.key?(:default_custom_error_response_policy) @default_route_action = args[:default_route_action] if args.key?(:default_route_action) @default_service = args[:default_service] if args.key?(:default_service) @default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect) @description = args[:description] if args.key?(:description) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @header_action = args[:header_action] if args.key?(:header_action) @host_rules = args[:host_rules] if args.key?(:host_rules) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @path_matchers = args[:path_matchers] if args.key?(:path_matchers) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @tests = args[:tests] if args.key?(:tests) end end # Contains a list of UrlMap resources. class UrlMapList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of UrlMap resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::UrlMapList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class UrlMapReference include Google::Apis::Core::Hashable # # Corresponds to the JSON property `urlMap` # @return [String] attr_accessor :url_map def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @url_map = args[:url_map] if args.key?(:url_map) end end # Message for the expected URL mappings. class UrlMapTest include Google::Apis::Core::Hashable # Description of this test case. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The expected output URL evaluated by the load balancer # containing the scheme, host, path and query parameters. # For rules that forward requests to backends, the test passes only # whenexpectedOutputUrl matches the request forwarded by # the load balancer to backends. For rules with urlRewrite, # the test verifies that the forwarded request matcheshostRewrite and # pathPrefixRewrite in theurlRewrite action. When service is specified, # expectedOutputUrl`s scheme is ignored. # For rules with urlRedirect, the test passes only ifexpectedOutputUrl matches # the URL in the load balancer's # redirect response. If urlRedirect specifieshttps_redirect, the test passes # only if the scheme inexpectedOutputUrl is also set to HTTPS. # If urlRedirect specifies strip_query, the test # passes only if expectedOutputUrl does not contain any query # parameters. # expectedOutputUrl is optional whenservice is specified. # Corresponds to the JSON property `expectedOutputUrl` # @return [String] attr_accessor :expected_output_url # For rules with urlRedirect, the test passes only # ifexpectedRedirectResponseCode matches the HTTP status code in # load balancer's redirect response. # expectedRedirectResponseCode cannot be set whenservice is set. # Corresponds to the JSON property `expectedRedirectResponseCode` # @return [Fixnum] attr_accessor :expected_redirect_response_code # HTTP headers for this request. If headers contains # a host header, then host must also match the header value. # Corresponds to the JSON property `headers` # @return [Array] attr_accessor :headers # Host portion of the URL. If headers contains a host header, # then host must also match the header value. # Corresponds to the JSON property `host` # @return [String] attr_accessor :host # Path portion of the URL. # Corresponds to the JSON property `path` # @return [String] attr_accessor :path # Expected BackendService or BackendBucket resource # the given URL should be mapped to. # The service field cannot # be set if expectedRedirectResponseCode is set. # Corresponds to the JSON property `service` # @return [String] attr_accessor :service def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @expected_output_url = args[:expected_output_url] if args.key?(:expected_output_url) @expected_redirect_response_code = args[:expected_redirect_response_code] if args.key?(:expected_redirect_response_code) @headers = args[:headers] if args.key?(:headers) @host = args[:host] if args.key?(:host) @path = args[:path] if args.key?(:path) @service = args[:service] if args.key?(:service) end end # HTTP headers used in UrlMapTests. class UrlMapTestHeader include Google::Apis::Core::Hashable # Header name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Header value. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @value = args[:value] if args.key?(:value) end end # Message representing the validation result for a UrlMap. class UrlMapValidationResult include Google::Apis::Core::Hashable # # Corresponds to the JSON property `loadErrors` # @return [Array] attr_accessor :load_errors # Whether the given UrlMap can be successfully loaded. # If false, 'loadErrors' indicates the reasons. # Corresponds to the JSON property `loadSucceeded` # @return [Boolean] attr_accessor :load_succeeded alias_method :load_succeeded?, :load_succeeded # # Corresponds to the JSON property `testFailures` # @return [Array] attr_accessor :test_failures # If successfully loaded, this field indicates whether the test passed. # If false, 'testFailures's indicate the reason of failure. # Corresponds to the JSON property `testPassed` # @return [Boolean] attr_accessor :test_passed alias_method :test_passed?, :test_passed def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @load_errors = args[:load_errors] if args.key?(:load_errors) @load_succeeded = args[:load_succeeded] if args.key?(:load_succeeded) @test_failures = args[:test_failures] if args.key?(:test_failures) @test_passed = args[:test_passed] if args.key?(:test_passed) end end # class UrlMapsAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of UrlMapsScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::UrlMapsAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class UrlMapsScopedList include Google::Apis::Core::Hashable # A list of UrlMaps contained in this scope. # Corresponds to the JSON property `urlMaps` # @return [Array] attr_accessor :url_maps # Informational warning which replaces the list of # backend services when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::UrlMapsScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @url_maps = args[:url_maps] if args.key?(:url_maps) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of # backend services when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class ValidateUrlMapsRequest include Google::Apis::Core::Hashable # Specifies the load balancer type(s) this validation request is for. # UseEXTERNAL_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. # Corresponds to the JSON property `loadBalancingSchemes` # @return [Array] attr_accessor :load_balancing_schemes # 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,EXTERNAL_MANAGED, or # INTERNAL_SELF_MANAGED. To use # the regionUrlMaps resource, the backend service must have aloadBalancingScheme # of INTERNAL_MANAGED. For more # information, read URL # Map Concepts. # Corresponds to the JSON property `resource` # @return [Google::Apis::ComputeV1::UrlMap] attr_accessor :resource def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @load_balancing_schemes = args[:load_balancing_schemes] if args.key?(:load_balancing_schemes) @resource = args[:resource] if args.key?(:resource) end end # class ValidateUrlMapsResponse include Google::Apis::Core::Hashable # Message representing the validation result for a UrlMap. # Corresponds to the JSON property `result` # @return [Google::Apis::ComputeV1::UrlMapValidationResult] attr_accessor :result def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @result = args[:result] if args.key?(:result) end end # The spec for modifying the path before sending the request to the matched # backend service. class UrlRewrite include Google::Apis::Core::Hashable # 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. # Corresponds to the JSON property `hostRewrite` # @return [String] attr_accessor :host_rewrite # Before forwarding the request to the selected backend service, the # matching portion of the request's path is replaced bypathPrefixRewrite. # The value must be from 1 to 1024 characters. # Corresponds to the JSON property `pathPrefixRewrite` # @return [String] attr_accessor :path_prefix_rewrite # 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 orpath_template_rewrite may be specified. # Corresponds to the JSON property `pathTemplateRewrite` # @return [String] attr_accessor :path_template_rewrite def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @host_rewrite = args[:host_rewrite] if args.key?(:host_rewrite) @path_prefix_rewrite = args[:path_prefix_rewrite] if args.key?(:path_prefix_rewrite) @path_template_rewrite = args[:path_template_rewrite] if args.key?(:path_template_rewrite) end end # Subnetwork which the current user has compute.subnetworks.use permission on. class UsableSubnetwork include Google::Apis::Core::Hashable # Output only. [Output Only] The external IPv6 address range that is assigned to # this # subnetwork. # Corresponds to the JSON property `externalIpv6Prefix` # @return [String] attr_accessor :external_ipv6_prefix # Output only. [Output Only] The internal IPv6 address range that is assigned to # this # subnetwork. # Corresponds to the JSON property `internalIpv6Prefix` # @return [String] attr_accessor :internal_ipv6_prefix # The range of internal addresses that are owned by this subnetwork. # Corresponds to the JSON property `ipCidrRange` # @return [String] attr_accessor :ip_cidr_range # 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. # Corresponds to the JSON property `ipv6AccessType` # @return [String] attr_accessor :ipv6_access_type # Network URL. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # # Corresponds to the JSON property `purpose` # @return [String] attr_accessor :purpose # The role of subnetwork. Currently, this field is only used when # purpose is set to GLOBAL_MANAGED_PROXY orREGIONAL_MANAGED_PROXY. The value can # be set toACTIVE 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. # Corresponds to the JSON property `role` # @return [String] attr_accessor :role # Secondary IP ranges. # Corresponds to the JSON property `secondaryIpRanges` # @return [Array] attr_accessor :secondary_ip_ranges # The stack type for the subnet. If set to IPV4_ONLY, new VMs # in the subnet are assigned IPv4 addresses only. If set toIPV4_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 usingpatch. # Corresponds to the JSON property `stackType` # @return [String] attr_accessor :stack_type # Subnetwork URL. # Corresponds to the JSON property `subnetwork` # @return [String] attr_accessor :subnetwork def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @external_ipv6_prefix = args[:external_ipv6_prefix] if args.key?(:external_ipv6_prefix) @internal_ipv6_prefix = args[:internal_ipv6_prefix] if args.key?(:internal_ipv6_prefix) @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range) @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type) @network = args[:network] if args.key?(:network) @purpose = args[:purpose] if args.key?(:purpose) @role = args[:role] if args.key?(:role) @secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges) @stack_type = args[:stack_type] if args.key?(:stack_type) @subnetwork = args[:subnetwork] if args.key?(:subnetwork) end end # Secondary IP range of a usable subnetwork. class UsableSubnetworkSecondaryRange include Google::Apis::Core::Hashable # The range of IP addresses belonging to this subnetwork secondary range. # Can be Ipv4 or Ipv6 range. # Corresponds to the JSON property `ipCidrRange` # @return [String] attr_accessor :ip_cidr_range # 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 withRFC1035. # The name must be unique within the subnetwork. # Corresponds to the JSON property `rangeName` # @return [String] attr_accessor :range_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range) @range_name = args[:range_name] if args.key?(:range_name) end end # class UsableSubnetworksAggregatedList include Google::Apis::Core::Hashable # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # [Output] A list of usable subnetwork URLs. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Alwayscompute# # usableSubnetworksAggregatedList for aggregated lists # of usable subnetworks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # In special cases listUsable may return 0 subnetworks andnextPageToken which # still should be used to get the # next page of results. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Informational warning messages for failures # encountered from # scopes. # Corresponds to the JSON property `scopedWarnings` # @return [Array] attr_accessor :scoped_warnings # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::UsableSubnetworksAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @scoped_warnings = args[:scoped_warnings] if args.key?(:scoped_warnings) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # The location in Cloud Storage and naming method of the daily usage # report. Contains bucket_name and report_name prefix. class UsageExportLocation include Google::Apis::Core::Hashable # The name of an existing bucket in Cloud Storage where the usage report # object is stored. The Google Service Account is granted write access to # this bucket. This can either be the bucket name by itself, such asexample- # bucket, or the bucket name with gs:// # or https://storage.googleapis.com/ in front of it, such # as gs://example-bucket. # Corresponds to the JSON property `bucketName` # @return [String] attr_accessor :bucket_name # An optional prefix for the name of the usage report object stored inbucketName. # If not supplied, defaults tousage_gce. The report is stored as a CSV file # namedreport_name_prefix_gce_YYYYMMDD.csv whereYYYYMMDD is the day of the usage # according to Pacific Time. # If you supply a prefix, it should conform to Cloud Storageobject naming # conventions. # Corresponds to the JSON property `reportNamePrefix` # @return [String] attr_accessor :report_name_prefix def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bucket_name = args[:bucket_name] if args.key?(:bucket_name) @report_name_prefix = args[:report_name_prefix] if args.key?(:report_name_prefix) end end # Contain information of Nat mapping for a VM endpoint (i.e., NIC). class VmEndpointNatMappings include Google::Apis::Core::Hashable # Output only. Name of the VM instance which the endpoint belongs to # Corresponds to the JSON property `instanceName` # @return [String] attr_accessor :instance_name # # Corresponds to the JSON property `interfaceNatMappings` # @return [Array] attr_accessor :interface_nat_mappings def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @instance_name = args[:instance_name] if args.key?(:instance_name) @interface_nat_mappings = args[:interface_nat_mappings] if args.key?(:interface_nat_mappings) end end # Contain information of Nat mapping for an interface of this endpoint. class VmEndpointNatMappingsInterfaceNatMappings include Google::Apis::Core::Hashable # Output only. List of all drain IP:port-range mappings assigned to this # interface. # These ranges are inclusive, that is, both the first and the last # ports can be used for NAT. Example: ["2.2.2.2:12345-12355", # "1.1.1.1:2234-2234"]. # Corresponds to the JSON property `drainNatIpPortRanges` # @return [Array] attr_accessor :drain_nat_ip_port_ranges # Output only. A list of all IP:port-range mappings assigned to this interface. # These ranges are inclusive, that is, both the first and the last # ports can be used for NAT. Example: ["2.2.2.2:12345-12355", # "1.1.1.1:2234-2234"]. # Corresponds to the JSON property `natIpPortRanges` # @return [Array] attr_accessor :nat_ip_port_ranges # Output only. Total number of drain ports across all NAT IPs allocated to this # interface. It equals to the aggregated port number in the field # drain_nat_ip_port_ranges. # Corresponds to the JSON property `numTotalDrainNatPorts` # @return [Fixnum] attr_accessor :num_total_drain_nat_ports # Output only. Total number of ports across all NAT IPs allocated to this # interface. # It equals to the aggregated port number in the field nat_ip_port_ranges. # Corresponds to the JSON property `numTotalNatPorts` # @return [Fixnum] attr_accessor :num_total_nat_ports # Output only. Information about mappings provided by rules in this NAT. # Corresponds to the JSON property `ruleMappings` # @return [Array] attr_accessor :rule_mappings # Output only. Alias IP range for this interface endpoint. # It will be a private (RFC 1918) IP range. # Examples: "10.33.4.55/32", or "192.168.5.0/24". # Corresponds to the JSON property `sourceAliasIpRange` # @return [String] attr_accessor :source_alias_ip_range # Output only. Primary IP of the VM for this NIC. # Corresponds to the JSON property `sourceVirtualIp` # @return [String] attr_accessor :source_virtual_ip def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @drain_nat_ip_port_ranges = args[:drain_nat_ip_port_ranges] if args.key?(:drain_nat_ip_port_ranges) @nat_ip_port_ranges = args[:nat_ip_port_ranges] if args.key?(:nat_ip_port_ranges) @num_total_drain_nat_ports = args[:num_total_drain_nat_ports] if args.key?(:num_total_drain_nat_ports) @num_total_nat_ports = args[:num_total_nat_ports] if args.key?(:num_total_nat_ports) @rule_mappings = args[:rule_mappings] if args.key?(:rule_mappings) @source_alias_ip_range = args[:source_alias_ip_range] if args.key?(:source_alias_ip_range) @source_virtual_ip = args[:source_virtual_ip] if args.key?(:source_virtual_ip) end end # Contains information of NAT Mappings provided by a NAT Rule. class VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings include Google::Apis::Core::Hashable # Output only. List of all drain IP:port-range mappings assigned to this # interface # by this rule. # These ranges are inclusive, that is, both the first and the last # ports can be used for NAT. Example: ["2.2.2.2:12345-12355", # "1.1.1.1:2234-2234"]. # Corresponds to the JSON property `drainNatIpPortRanges` # @return [Array] attr_accessor :drain_nat_ip_port_ranges # Output only. A list of all IP:port-range mappings assigned to this interface # by this # rule. # These ranges are inclusive, that is, both the first and the last # ports can be used for NAT. Example: ["2.2.2.2:12345-12355", # "1.1.1.1:2234-2234"]. # Corresponds to the JSON property `natIpPortRanges` # @return [Array] attr_accessor :nat_ip_port_ranges # Output only. Total number of drain ports across all NAT IPs allocated to this # interface by this rule. # It equals the aggregated port number in the field # drain_nat_ip_port_ranges. # Corresponds to the JSON property `numTotalDrainNatPorts` # @return [Fixnum] attr_accessor :num_total_drain_nat_ports # Output only. Total number of ports across all NAT IPs allocated to this # interface # by this rule. # It equals the aggregated port number in the field nat_ip_port_ranges. # Corresponds to the JSON property `numTotalNatPorts` # @return [Fixnum] attr_accessor :num_total_nat_ports # Output only. Rule number of the NAT Rule. # Corresponds to the JSON property `ruleNumber` # @return [Fixnum] attr_accessor :rule_number def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @drain_nat_ip_port_ranges = args[:drain_nat_ip_port_ranges] if args.key?(:drain_nat_ip_port_ranges) @nat_ip_port_ranges = args[:nat_ip_port_ranges] if args.key?(:nat_ip_port_ranges) @num_total_drain_nat_ports = args[:num_total_drain_nat_ports] if args.key?(:num_total_drain_nat_ports) @num_total_nat_ports = args[:num_total_nat_ports] if args.key?(:num_total_nat_ports) @rule_number = args[:rule_number] if args.key?(:rule_number) end end # Contains a list of VmEndpointNatMappings. class VmEndpointNatMappingsList include Google::Apis::Core::Hashable # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Output only. [Output Only] Type of resource. Alwayscompute# # vmEndpointNatMappingsList for lists of Nat mappings of # VM endpoints. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] A list of Nat mapping information of VM endpoints. # Corresponds to the JSON property `result` # @return [Array] attr_accessor :result # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::VmEndpointNatMappingsList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @result = args[:result] if args.key?(:result) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents a HA VPN gateway. # HA VPN is a high-availability (HA) Cloud VPN solution that lets you securely # connect your on-premises network to your Google Cloud Virtual Private Cloud # network through an IPsec VPN connection in a single region. # For more information about Cloud HA VPN solutions, see # Cloud VPN topologies . class VpnGateway include Google::Apis::Core::Hashable # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The IP family of the gateway IPs for the HA-VPN gateway interfaces. If not # specified, IPV4 will be used. # Corresponds to the JSON property `gatewayIpVersion` # @return [String] attr_accessor :gateway_ip_version # Output only. [Output Only] The unique identifier for the resource. This # identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of resource. Always compute#vpnGateway for # VPN gateways. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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 error412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve a VpnGateway. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # Labels for this resource. These can only be added or modified by thesetLabels # method. Each label key/value pair must comply withRFC1035. # Label values may be empty. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # URL of the network to which this VPN gateway is attached. Provided by the # client when the VPN gateway is created. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # Output only. [Output Only] URL of the region where the VPN gateway resides. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # The stack type for this VPN gateway to identify the IP protocols that are # enabled. Possible values are: IPV4_ONLY,IPV4_IPV6, IPV6_ONLY. If not specified, # IPV4_ONLY is used if the gateway IP version isIPV4, or IPV4_IPV6 if the # gateway IP version isIPV6. # Corresponds to the JSON property `stackType` # @return [String] attr_accessor :stack_type # The list of VPN interfaces associated with this VPN gateway. # Corresponds to the JSON property `vpnInterfaces` # @return [Array] attr_accessor :vpn_interfaces def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @gateway_ip_version = args[:gateway_ip_version] if args.key?(:gateway_ip_version) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @stack_type = args[:stack_type] if args.key?(:stack_type) @vpn_interfaces = args[:vpn_interfaces] if args.key?(:vpn_interfaces) end end # class VpnGatewayAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of VpnGateway resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#vpnGateway for # VPN gateways. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::VpnGatewayAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Contains a list of VpnGateway resources. class VpnGatewayList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of VpnGateway resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#vpnGateway for # VPN gateways. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::VpnGatewayList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class VpnGatewayStatus include Google::Apis::Core::Hashable # Output only. List of VPN connection for this VpnGateway. # Corresponds to the JSON property `vpnConnections` # @return [Array] attr_accessor :vpn_connections def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @vpn_connections = args[:vpn_connections] if args.key?(:vpn_connections) end end # Describes the high availability requirement state for the VPN connection # between this Cloud VPN gateway and a peer gateway. class VpnGatewayStatusHighAvailabilityRequirementState include Google::Apis::Core::Hashable # Indicates the high availability requirement state for the VPN connection. # Valid values are CONNECTION_REDUNDANCY_MET,CONNECTION_REDUNDANCY_NOT_MET. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # Indicates the reason why the VPN connection does not meet the high # availability redundancy criteria/requirement. # Valid values is INCOMPLETE_TUNNELS_COVERAGE. # Corresponds to the JSON property `unsatisfiedReason` # @return [String] attr_accessor :unsatisfied_reason def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @state = args[:state] if args.key?(:state) @unsatisfied_reason = args[:unsatisfied_reason] if args.key?(:unsatisfied_reason) end end # Contains some information about a VPN tunnel. class VpnGatewayStatusTunnel include Google::Apis::Core::Hashable # Output only. The VPN gateway interface this VPN tunnel is associated with. # Corresponds to the JSON property `localGatewayInterface` # @return [Fixnum] attr_accessor :local_gateway_interface # Output only. 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. # Corresponds to the JSON property `peerGatewayInterface` # @return [Fixnum] attr_accessor :peer_gateway_interface # Output only. URL reference to the VPN tunnel. # Corresponds to the JSON property `tunnelUrl` # @return [String] attr_accessor :tunnel_url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @local_gateway_interface = args[:local_gateway_interface] if args.key?(:local_gateway_interface) @peer_gateway_interface = args[:peer_gateway_interface] if args.key?(:peer_gateway_interface) @tunnel_url = args[:tunnel_url] if args.key?(:tunnel_url) end end # 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. class VpnGatewayStatusVpnConnection include Google::Apis::Core::Hashable # Output only. URL reference to the peer external VPN gateways to which the VPN # tunnels # in this VPN connection are connected. # This field is mutually exclusive with peer_gcp_gateway. # Corresponds to the JSON property `peerExternalGateway` # @return [String] attr_accessor :peer_external_gateway # Output only. URL reference to the peer side VPN gateways to which the VPN # tunnels in # this VPN connection are connected. # This field is mutually exclusive with peer_gcp_gateway. # Corresponds to the JSON property `peerGcpGateway` # @return [String] attr_accessor :peer_gcp_gateway # Describes the high availability requirement state for the VPN connection # between this Cloud VPN gateway and a peer gateway. # Corresponds to the JSON property `state` # @return [Google::Apis::ComputeV1::VpnGatewayStatusHighAvailabilityRequirementState] attr_accessor :state # List of VPN tunnels that are in this VPN connection. # Corresponds to the JSON property `tunnels` # @return [Array] attr_accessor :tunnels def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @peer_external_gateway = args[:peer_external_gateway] if args.key?(:peer_external_gateway) @peer_gcp_gateway = args[:peer_gcp_gateway] if args.key?(:peer_gcp_gateway) @state = args[:state] if args.key?(:state) @tunnels = args[:tunnels] if args.key?(:tunnels) end end # A VPN gateway interface. class VpnGatewayVpnGatewayInterface include Google::Apis::Core::Hashable # Output only. [Output Only] Numeric identifier for this VPN interface # associated with # the VPN gateway. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # 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. # Corresponds to the JSON property `interconnectAttachment` # @return [String] attr_accessor :interconnect_attachment # Output only. [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. # Corresponds to the JSON property `ipAddress` # @return [String] attr_accessor :ip_address # Output only. [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). # Corresponds to the JSON property `ipv6Address` # @return [String] attr_accessor :ipv6_address def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment) @ip_address = args[:ip_address] if args.key?(:ip_address) @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address) end end # class VpnGatewaysGetStatusResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `result` # @return [Google::Apis::ComputeV1::VpnGatewayStatus] attr_accessor :result def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @result = args[:result] if args.key?(:result) end end # class VpnGatewaysScopedList include Google::Apis::Core::Hashable # [Output Only] A list of VPN gateways contained in this scope. # Corresponds to the JSON property `vpnGateways` # @return [Array] attr_accessor :vpn_gateways # [Output Only] Informational warning which replaces the list of addresses # when the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::VpnGatewaysScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @vpn_gateways = args[:vpn_gateways] if args.key?(:vpn_gateways) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning which replaces the list of addresses # when the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Represents a Cloud VPN Tunnel resource. # For more information about VPN, read the # the Cloud VPN Overview. class VpnTunnel include Google::Apis::Core::Hashable # User specified list of ciphers to use for the phase 1 and phase 2 of the # IKE protocol. # Corresponds to the JSON property `cipherSuite` # @return [Google::Apis::ComputeV1::VpnTunnelCipherSuite] attr_accessor :cipher_suite # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of this resource. Provide this property when you # create the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Output Only] Detailed status message for the VPN tunnel. # Corresponds to the JSON property `detailedStatus` # @return [String] attr_accessor :detailed_status # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # 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. # Corresponds to the JSON property `ikeVersion` # @return [Fixnum] attr_accessor :ike_version # Output only. [Output Only] Type of resource. Always compute#vpnTunnel for # VPN tunnels. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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 error412 conditionNotMet. # To see the latest fingerprint, make a get() request to # retrieve a VpnTunnel. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # Labels for this resource. These can only be added or modified by thesetLabels # method. Each label key/value pair must comply withRFC1035. # Label values may be empty. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # 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 for Classic VPN tunnels. This field is output only # for HA VPN tunnels. # Corresponds to the JSON property `localTrafficSelector` # @return [Array] attr_accessor :local_traffic_selector # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # 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. # Corresponds to the JSON property `peerExternalGateway` # @return [String] attr_accessor :peer_external_gateway # 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. # Corresponds to the JSON property `peerExternalGatewayInterface` # @return [Fixnum] attr_accessor :peer_external_gateway_interface # 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. # Corresponds to the JSON property `peerGcpGateway` # @return [String] attr_accessor :peer_gcp_gateway # IP address of the peer VPN gateway. Only IPv4 is supported. This field can # be set only for Classic VPN tunnels. # Corresponds to the JSON property `peerIp` # @return [String] attr_accessor :peer_ip # [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. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # 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 for Classic VPN tunnels. This field is output only for HA VPN # tunnels. # Corresponds to the JSON property `remoteTrafficSelector` # @return [Array] attr_accessor :remote_traffic_selector # URL of the router resource to be used for dynamic routing. # Corresponds to the JSON property `router` # @return [String] attr_accessor :router # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Shared secret used to set the secure session between the Cloud VPN gateway # and the peer VPN gateway. # Corresponds to the JSON property `sharedSecret` # @return [String] attr_accessor :shared_secret # Hash of the shared secret. # Corresponds to the JSON property `sharedSecretHash` # @return [String] attr_accessor :shared_secret_hash # [Output Only] The status of the VPN tunnel, which can be one of the # following: # # - PROVISIONING: Resource is being allocated for the VPN tunnel. # - WAITING_FOR_FULL_CONFIG: Waiting to receive all VPN-related configs # from # the user. Network, TargetVpnGateway, VpnTunnel, ForwardingRule, and Route # resources are needed to setup the VPN tunnel. # - FIRST_HANDSHAKE: Successful first handshake with the peer VPN. # - ESTABLISHED: Secure session is successfully established with the peer # VPN. # - NETWORK_ERROR: Deprecated, replaced by # NO_INCOMING_PACKETS # - AUTHORIZATION_ERROR: Auth error (for example, # bad shared secret). # - NEGOTIATION_FAILURE: Handshake failed. # - DEPROVISIONING: Resources are being deallocated for the VPN # tunnel. # - FAILED: Tunnel creation has failed and the tunnel is not # ready to be used. # - NO_INCOMING_PACKETS: No incoming packets from # peer. # - REJECTED: Tunnel configuration was rejected, can be result # of being denied access. # - ALLOCATING_RESOURCES: Cloud VPN is in the # process of allocating all required resources. # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted # for Classic VPN tunnels or the project is in frozen state. # - PEER_IDENTITY_MISMATCH: Peer identity does not match peer IP, # probably behind NAT. # - TS_NARROWING_NOT_ALLOWED: Traffic selector # narrowing not allowed for an HA-VPN tunnel. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # URL of the Target VPN gateway with which this VPN tunnel is associated. # Provided by the client when the VPN tunnel is created. # This field can be set only for Classic VPN tunnels. # Corresponds to the JSON property `targetVpnGateway` # @return [String] attr_accessor :target_vpn_gateway # URL of the VPN gateway with which this VPN tunnel is associated. # Provided by the client when the VPN tunnel is created. This must be # used (instead of target_vpn_gateway) if a High Availability VPN gateway # resource is created. # Corresponds to the JSON property `vpnGateway` # @return [String] attr_accessor :vpn_gateway # The interface ID of the VPN gateway with which this VPN tunnel is # associated. # Possible values are: `0`, `1`. # Corresponds to the JSON property `vpnGatewayInterface` # @return [Fixnum] attr_accessor :vpn_gateway_interface def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cipher_suite = args[:cipher_suite] if args.key?(:cipher_suite) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @detailed_status = args[:detailed_status] if args.key?(:detailed_status) @id = args[:id] if args.key?(:id) @ike_version = args[:ike_version] if args.key?(:ike_version) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @local_traffic_selector = args[:local_traffic_selector] if args.key?(:local_traffic_selector) @name = args[:name] if args.key?(:name) @peer_external_gateway = args[:peer_external_gateway] if args.key?(:peer_external_gateway) @peer_external_gateway_interface = args[:peer_external_gateway_interface] if args.key?(:peer_external_gateway_interface) @peer_gcp_gateway = args[:peer_gcp_gateway] if args.key?(:peer_gcp_gateway) @peer_ip = args[:peer_ip] if args.key?(:peer_ip) @region = args[:region] if args.key?(:region) @remote_traffic_selector = args[:remote_traffic_selector] if args.key?(:remote_traffic_selector) @router = args[:router] if args.key?(:router) @self_link = args[:self_link] if args.key?(:self_link) @shared_secret = args[:shared_secret] if args.key?(:shared_secret) @shared_secret_hash = args[:shared_secret_hash] if args.key?(:shared_secret_hash) @status = args[:status] if args.key?(:status) @target_vpn_gateway = args[:target_vpn_gateway] if args.key?(:target_vpn_gateway) @vpn_gateway = args[:vpn_gateway] if args.key?(:vpn_gateway) @vpn_gateway_interface = args[:vpn_gateway_interface] if args.key?(:vpn_gateway_interface) end end # class VpnTunnelAggregatedList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of VpnTunnelsScopedList resources. # Corresponds to the JSON property `items` # @return [Hash] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#vpnTunnel for # VPN tunnels. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::VpnTunnelAggregatedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class VpnTunnelCipherSuite include Google::Apis::Core::Hashable # # Corresponds to the JSON property `phase1` # @return [Google::Apis::ComputeV1::VpnTunnelPhase1Algorithms] attr_accessor :phase1 # # Corresponds to the JSON property `phase2` # @return [Google::Apis::ComputeV1::VpnTunnelPhase2Algorithms] attr_accessor :phase2 def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @phase1 = args[:phase1] if args.key?(:phase1) @phase2 = args[:phase2] if args.key?(:phase2) end end # Contains a list of VpnTunnel resources. class VpnTunnelList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of VpnTunnel resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#vpnTunnel for # VPN tunnels. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::VpnTunnelList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class VpnTunnelPhase1Algorithms include Google::Apis::Core::Hashable # # Corresponds to the JSON property `dh` # @return [Array] attr_accessor :dh # # Corresponds to the JSON property `encryption` # @return [Array] attr_accessor :encryption # # Corresponds to the JSON property `integrity` # @return [Array] attr_accessor :integrity # # Corresponds to the JSON property `prf` # @return [Array] attr_accessor :prf def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dh = args[:dh] if args.key?(:dh) @encryption = args[:encryption] if args.key?(:encryption) @integrity = args[:integrity] if args.key?(:integrity) @prf = args[:prf] if args.key?(:prf) end end # class VpnTunnelPhase2Algorithms include Google::Apis::Core::Hashable # # Corresponds to the JSON property `encryption` # @return [Array] attr_accessor :encryption # # Corresponds to the JSON property `integrity` # @return [Array] attr_accessor :integrity # # Corresponds to the JSON property `pfs` # @return [Array] attr_accessor :pfs def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @encryption = args[:encryption] if args.key?(:encryption) @integrity = args[:integrity] if args.key?(:integrity) @pfs = args[:pfs] if args.key?(:pfs) end end # class VpnTunnelsScopedList include Google::Apis::Core::Hashable # A list of VPN tunnels contained in this scope. # Corresponds to the JSON property `vpnTunnels` # @return [Array] attr_accessor :vpn_tunnels # Informational warning which replaces the list of addresses when # the list is empty. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::VpnTunnelsScopedList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @vpn_tunnels = args[:vpn_tunnels] if args.key?(:vpn_tunnels) @warning = args[:warning] if args.key?(:warning) end # Informational warning which replaces the list of addresses when # the list is empty. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class WafExpressionSet include Google::Apis::Core::Hashable # A list of alternate IDs. The format should be: # - E.g. XSS-stable # Generic suffix like "stable" is particularly useful if a policy # likes to avail newer set of expressions without having to change # the policy. # A given alias name can't be used for more than one entity set. # Corresponds to the JSON property `aliases` # @return [Array] attr_accessor :aliases # List of available expressions. # Corresponds to the JSON property `expressions` # @return [Array] attr_accessor :expressions # Google specified expression set ID. The format should be: # - E.g. XSS-20170329 # required # Corresponds to the JSON property `id` # @return [String] attr_accessor :id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @aliases = args[:aliases] if args.key?(:aliases) @expressions = args[:expressions] if args.key?(:expressions) @id = args[:id] if args.key?(:id) end end # class WafExpressionSetExpression include Google::Apis::Core::Hashable # 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 # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # 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. # Corresponds to the JSON property `sensitivity` # @return [Fixnum] attr_accessor :sensitivity def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @sensitivity = args[:sensitivity] if args.key?(:sensitivity) end end # In contrast to a single BackendService in # HttpRouteAction to which all matching traffic is directed to, # WeightedBackendService allows traffic to be split across # multiple backend services. The volume of traffic for each # backend service is proportional to the weight specified # in each WeightedBackendService class WeightedBackendService include Google::Apis::Core::Hashable # The full or partial URL to the default BackendService # resource. Before # forwarding the request to backendService, the load balancer # applies any relevant headerActions specified as part of # thisbackendServiceWeight. # Corresponds to the JSON property `backendService` # @return [String] attr_accessor :backend_service # The request and response header transformations that take effect before # the request is passed along to the selected backendService. # Corresponds to the JSON property `headerAction` # @return [Google::Apis::ComputeV1::HttpHeaderAction] attr_accessor :header_action # Specifies the fraction of traffic sent to a backend service, # computed asweight / (sum of all weightedBackendService weights in routeAction). # The selection of a backend service is determined only for new traffic. # Once a user's request has been directed to a backend service, # subsequent requests are sent to the same backend service as # determined by the backend service's session affinity policy. # Don't configure session affinity if you're using weighted traffic # splitting. If you do, the weighted traffic splitting configuration takes # precedence. # The value must be from 0 to 1000. # Corresponds to the JSON property `weight` # @return [Fixnum] attr_accessor :weight def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @backend_service = args[:backend_service] if args.key?(:backend_service) @header_action = args[:header_action] if args.key?(:header_action) @weight = args[:weight] if args.key?(:weight) end end # A pseudowire that connects two Interconnect connections. class Wire include Google::Apis::Core::Hashable # Output only. [Output Only] Indicates whether the wire is enabled. # When false, the wire is disabled. When true and when the wire group of # the wire is also enabled, the wire is enabled. Defaults to true. # Corresponds to the JSON property `adminEnabled` # @return [Boolean] attr_accessor :admin_enabled alias_method :admin_enabled?, :admin_enabled # Output only. Wire endpoints are specific Interconnect connections. # Corresponds to the JSON property `endpoints` # @return [Array] attr_accessor :endpoints # Output only. [Output Only] A label that identifies the wire. The format of # this label # combines the existing labels of the wire group endpoints and Interconnect # connections used by this wire in alphabetical order as follows: # `ENDPOINT_A+CONNECTION_A1,ENDPOINT_B+CONNECTION_B1`, where: # # - ENDPOINT_A and ENDPOINT_B: are the labels # that you entered as map keys when you specified the wire group endpoint # objects. # - CONNECTION_A1 and CONNECTION_B1: are the # labels that you entered as map keys when you specified the wire group # Interconnect objects. # Corresponds to the JSON property `label` # @return [String] attr_accessor :label # The properties of a wire. # Corresponds to the JSON property `wireProperties` # @return [Google::Apis::ComputeV1::WireProperties] attr_accessor :wire_properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled) @endpoints = args[:endpoints] if args.key?(:endpoints) @label = args[:label] if args.key?(:label) @wire_properties = args[:wire_properties] if args.key?(:wire_properties) end end # Wire endpoints are specific Interconnect connections. class WireEndpoint include Google::Apis::Core::Hashable # # Corresponds to the JSON property `interconnect` # @return [String] attr_accessor :interconnect # # Corresponds to the JSON property `vlanTag` # @return [Fixnum] attr_accessor :vlan_tag def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @interconnect = args[:interconnect] if args.key?(:interconnect) @vlan_tag = args[:vlan_tag] if args.key?(:vlan_tag) end end # A resource that represents a group of redundant wires. class WireGroup include Google::Apis::Core::Hashable # Indicates whether the wires in the wire group are enabled. When false, the # wires in the wire group are disabled. When true and when # there is simultaneously no wire-specific override of `adminEnabled` to # false, a given wire is enabled. Defaults to true. # Corresponds to the JSON property `adminEnabled` # @return [Boolean] attr_accessor :admin_enabled alias_method :admin_enabled?, :admin_enabled # Output only. [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # An optional description of the wire group. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # A map that contains the logical endpoints of the wire group. Specify # key-value pairs for the map as follows: # # - Key: an RFC1035 user-specified label. # - Value: an Endpoint object. # Corresponds to the JSON property `endpoints` # @return [Hash] attr_accessor :endpoints # Output only. [Output Only] The unique identifier for the resource type. The # server # generates this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Alwayscompute#wireGroups for # wire groups. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the resource. Provided by the client when the resource is created. # The name must be 1-63 characters long, and comply withRFC1035. # 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. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Output only. [Output Only] Indicates whether there are wire changes yet to be # processed. # Corresponds to the JSON property `reconciling` # @return [Boolean] attr_accessor :reconciling alias_method :reconciling?, :reconciling # Output only. [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Topology details for the wire group. # Corresponds to the JSON property `topology` # @return [Google::Apis::ComputeV1::WireGroupTopology] attr_accessor :topology # The properties of a wire. # Corresponds to the JSON property `wireProperties` # @return [Google::Apis::ComputeV1::WireProperties] attr_accessor :wire_properties # Output only. The single/redundant wire(s) managed by the wire group. # Corresponds to the JSON property `wires` # @return [Array] attr_accessor :wires def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @endpoints = args[:endpoints] if args.key?(:endpoints) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @reconciling = args[:reconciling] if args.key?(:reconciling) @self_link = args[:self_link] if args.key?(:self_link) @topology = args[:topology] if args.key?(:topology) @wire_properties = args[:wire_properties] if args.key?(:wire_properties) @wires = args[:wires] if args.key?(:wires) end end # A logical endpoint for the wire group. An endpoint represents a metro that # contains redundant Interconnect connections. A wire group is created # between two endpoints. class WireGroupEndpoint include Google::Apis::Core::Hashable # A map that contains the redundant Interconnect connections. Specify # key-value pairs for the map as follows: # # - Key: an RFC1035 user-specified label. # - Value: an Interconnect object. # Corresponds to the JSON property `interconnects` # @return [Hash] attr_accessor :interconnects def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @interconnects = args[:interconnects] if args.key?(:interconnects) end end # The redundant Interconnect connections for this endpoint. class WireGroupEndpointInterconnect include Google::Apis::Core::Hashable # Required. An Interconnect connection. You can specify the connection as # a partial or full URL. If the connection is in a different project from # the cross-site network, use a format that specifies the project. See # the following examples of partial and full URLs: # # # # global/interconnects/NAME # # # projects/PROJECT_ID/global/interconnects/NAME # # - # https://compute.googleapis.com/compute/projects/PROJECT_ID/global/ # interconnects/NAME # Corresponds to the JSON property `interconnect` # @return [String] attr_accessor :interconnect # Required. To configure the wire group for VLAN mode, enter a VLAN tag, # which is a number from `2` to `4093`. You can autoallocate a tag by # entering `0`. To configure the wire group for port mode, enter `-1`. # Review the following guidelines: # # - A VLAN tag must be unique for an Interconnect connection across all # attachments and wire groups. # - Both endpoints of a wire must use the same VLAN tag value. # - Single wire and redundant type wire groups must have only one # VLAN tag. # - Port mode pseudowires must have a single VLAN tag with a value of # `-1` for both endpoints. # - Box and cross type wire groups must have two VLAN tags. The first # is for the same-zone pseudowire, and the second is for the cross-zone # pseudowire. # Corresponds to the JSON property `vlanTags` # @return [Array] attr_accessor :vlan_tags def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @interconnect = args[:interconnect] if args.key?(:interconnect) @vlan_tags = args[:vlan_tags] if args.key?(:vlan_tags) end end # Response for the list request. class WireGroupList include Google::Apis::Core::Hashable # # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of wire group resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of the resource. Alwayscompute#wireGroups for # wire groups. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Output only. [Output Only] Unreachable resources. # end_interface: MixerListResponseWithEtagBuilder # Corresponds to the JSON property `unreachables` # @return [Array] attr_accessor :unreachables # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::WireGroupList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @etag = args[:etag] if args.key?(:etag) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @unreachables = args[:unreachables] if args.key?(:unreachables) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Topology details for the wire group. class WireGroupTopology include Google::Apis::Core::Hashable # Output only. Topology details for all endpoints in the wire group. # Corresponds to the JSON property `endpoints` # @return [Array] attr_accessor :endpoints def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @endpoints = args[:endpoints] if args.key?(:endpoints) end end # Topology details for a single wire group endpoint. class WireGroupTopologyEndpoint include Google::Apis::Core::Hashable # Output only. The InterconnectLocation.city (metropolitan area designator) that # all # interconnects are located in. # Corresponds to the JSON property `city` # @return [String] attr_accessor :city # Output only. Endpoint label from the wire group. # Corresponds to the JSON property `label` # @return [String] attr_accessor :label def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @city = args[:city] if args.key?(:city) @label = args[:label] if args.key?(:label) end end # The properties of a wire. class WireProperties include Google::Apis::Core::Hashable # The configuration of the bandwidth allocation, one of the following: # # - ALLOCATE_PER_WIRE: configures a separate unmetered bandwidth allocation # (and associated charges) for each wire in the group. # - SHARED_WITH_WIRE_GROUP: this is the default behavior, which configures # one unmetered bandwidth allocation for the wire group. The unmetered # bandwidth is divided equally across each wire in the group, but dynamic # throttling reallocates unused unmetered bandwidth from unused or underused # wires to other wires in the group. # Corresponds to the JSON property `bandwidthAllocation` # @return [String] attr_accessor :bandwidth_allocation # The unmetered bandwidth in Gigabits per second, using decimal units. `10` # is 10 Gbps, `100` is 100 Gbps. The bandwidth must be greater than 0. # Corresponds to the JSON property `bandwidthUnmetered` # @return [Fixnum] attr_accessor :bandwidth_unmetered # Response when a fault is detected in a pseudowire: # # - NONE: default. # - DISABLE_PORT: set the port line protocol down when inline probes # detect a fault. This setting is only permitted on port mode # pseudowires. # Corresponds to the JSON property `faultResponse` # @return [String] attr_accessor :fault_response def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bandwidth_allocation = args[:bandwidth_allocation] if args.key?(:bandwidth_allocation) @bandwidth_unmetered = args[:bandwidth_unmetered] if args.key?(:bandwidth_unmetered) @fault_response = args[:fault_response] if args.key?(:fault_response) end end # class XpnHostList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # [Output Only] A list of shared VPC host project URLs. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. [Output Only] Type of resource. Always compute#xpnHostList for # lists of shared VPC hosts. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::XpnHostList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # Service resource (a.k.a service project) ID. class XpnResourceId include Google::Apis::Core::Hashable # The ID of the service resource. In the case of projects, this field # supports project id (e.g., my-project-123) and project number # (e.g. 12345678). # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # The type of the service resource. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @type = args[:type] if args.key?(:type) end end # Represents a Zone resource. # A zone is a deployment area. These deployment areas are subsets of a region. # For example the zone us-east1-b is located in theus-east1 region. For more # information, readRegions and # Zones. class Zone include Google::Apis::Core::Hashable # [Output Only] Available cpu/platform selections for the zone. # Corresponds to the JSON property `availableCpuPlatforms` # @return [Array] attr_accessor :available_cpu_platforms # [Output Only] Creation timestamp inRFC3339 # text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Deprecation status for a public resource. # Corresponds to the JSON property `deprecated` # @return [Google::Apis::ComputeV1::DeprecationStatus] attr_accessor :deprecated # [Output Only] Textual description of the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [Output Only] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # Output only. [Output Only] Type of the resource. Always compute#zone for # zones. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] Name of the resource. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # [Output Only] Full URL reference to the region which hosts the zone. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Status of the zone, either UP orDOWN. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Output only. [Output Only] Reserved for future use. # Corresponds to the JSON property `supportsPzs` # @return [Boolean] attr_accessor :supports_pzs alias_method :supports_pzs?, :supports_pzs def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @available_cpu_platforms = args[:available_cpu_platforms] if args.key?(:available_cpu_platforms) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @deprecated = args[:deprecated] if args.key?(:deprecated) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @region = args[:region] if args.key?(:region) @self_link = args[:self_link] if args.key?(:self_link) @status = args[:status] if args.key?(:status) @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs) end end # Contains a list of zone resources. class ZoneList include Google::Apis::Core::Hashable # [Output Only] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of Zone resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Output only. Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [Output Only] This token allows you to get the next page of results for # list requests. If the number of results is larger thanmaxResults, 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. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # Output only. [Output Only] Server-defined URL for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Informational warning message. # Corresponds to the JSON property `warning` # @return [Google::Apis::ComputeV1::ZoneList::Warning] attr_accessor :warning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @self_link = args[:self_link] if args.key?(:self_link) @warning = args[:warning] if args.key?(:warning) end # [Output Only] Informational warning message. class Warning include Google::Apis::Core::Hashable # [Output Only] A warning code, if applicable. For example, Compute # Engine returns NO_RESULTS_ON_PAGE if there # are no results in the response. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [Output Only] Metadata about this warning in key: # value format. For example: # "data": [ # ` # "key": "scope", # "value": "zones/us-east1-d" # ` # Corresponds to the JSON property `data` # @return [Array] attr_accessor :data # [Output Only] A human-readable description of the warning code. # Corresponds to the JSON property `message` # @return [String] attr_accessor :message def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @code = args[:code] if args.key?(:code) @data = args[:data] if args.key?(:data) @message = args[:message] if args.key?(:message) end # class Datum include Google::Apis::Core::Hashable # [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). # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # [Output Only] A warning data value corresponding to the key. # Corresponds to the JSON property `value` # @return [String] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] if args.key?(:key) @value = args[:value] if args.key?(:value) end end end end # class ZoneSetLabelsRequest include Google::Apis::Core::Hashable # The fingerprint of the previous set of labels for this resource, # used to detect conflicts. 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. Make a get() request to the resource to get the latest # fingerprint. # Corresponds to the JSON property `labelFingerprint` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :label_fingerprint # The labels to set for this resource. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) end end # class ZoneSetNestedPolicyRequest include Google::Apis::Core::Hashable # Flatten Policy to create a backwacd compatible wire-format. # Deprecated. Use 'policy' to specify bindings. # Corresponds to the JSON property `bindings` # @return [Array] attr_accessor :bindings # Flatten Policy to create a backward compatible wire-format. # Deprecated. Use 'policy' to specify the etag. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :etag # 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/). # Corresponds to the JSON property `policy` # @return [Google::Apis::ComputeV1::Policy] attr_accessor :policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bindings = args[:bindings] if args.key?(:bindings) @etag = args[:etag] if args.key?(:etag) @policy = args[:policy] if args.key?(:policy) end end # class ZoneSetPolicyRequest include Google::Apis::Core::Hashable # Flatten Policy to create a backwacd compatible wire-format. # Deprecated. Use 'policy' to specify bindings. # Corresponds to the JSON property `bindings` # @return [Array] attr_accessor :bindings # Flatten Policy to create a backward compatible wire-format. # Deprecated. Use 'policy' to specify the etag. # Corresponds to the JSON property `etag` # NOTE: Values are automatically base64 encoded/decoded in the client library. # @return [String] attr_accessor :etag # 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/). # Corresponds to the JSON property `policy` # @return [Google::Apis::ComputeV1::Policy] attr_accessor :policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bindings = args[:bindings] if args.key?(:bindings) @etag = args[:etag] if args.key?(:etag) @policy = args[:policy] if args.key?(:policy) end end end end end google-apis-compute_v1-0.140.0/lib/google/apis/compute_v1/representations.rb0000644000004100000410000343421115140136377027023 0ustar www-datawww-data# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require 'date' require 'google/apis/core/base_service' require 'google/apis/core/json_representation' require 'google/apis/core/hashable' require 'google/apis/errors' module Google module Apis module ComputeV1 class Awsv4Signature class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AcceleratorConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AcceleratorTopologiesInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AcceleratorTopologiesInfoAcceleratorTopologyInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AcceleratorTopologiesInfoAcceleratorTopologyInfoInfoPerTopologyState class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AcceleratorType class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AcceleratorTypeAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class AcceleratorTypeList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class AcceleratorTypesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class AccessConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Address class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AddressAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class AddressList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class AddressesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class AdvancedMachineFeatures class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AliasIpRange class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AllocationAggregateReservation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AllocationAggregateReservationReservedResourceInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AllocationAggregateReservationReservedResourceInfoAccelerator class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AllocationReservationSharingPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AllocationResourceStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AllocationResourceStatusHealthInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AllocationResourceStatusSpecificSkuAllocation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AllocationSpecificSkuAllocationAllocatedInstancePropertiesReservedDisk class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AllocationSpecificSkuAllocationReservedInstanceProperties class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AllocationSpecificSkuReservation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AttachedDisk class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AttachedDiskInitializeParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AuditConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AuditLogConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Autoscaler class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AutoscalerAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class AutoscalerList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class AutoscalerStatusDetails class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AutoscalersScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class AutoscalingPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AutoscalingPolicyCpuUtilization class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AutoscalingPolicyCustomMetricUtilization class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AutoscalingPolicyLoadBalancingUtilization class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AutoscalingPolicyScaleInControl class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AutoscalingPolicyScalingSchedule class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Backend class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendBucket class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendBucketCdnPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendBucketCdnPolicyBypassCacheOnRequestHeader class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendBucketCdnPolicyCacheKeyPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendBucketCdnPolicyNegativeCachingPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendBucketList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class BackendBucketParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendBucketUsedBy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendCustomMetric class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendService class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class BackendServiceCdnPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceCdnPolicyBypassCacheOnRequestHeader class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceCdnPolicyNegativeCachingPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceConnectionTrackingPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceCustomMetric class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceFailoverPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceGroupHealth class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceHaPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceHaPolicyLeader class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceHaPolicyLeaderNetworkEndpoint class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceHttpCookie class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceIap class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class BackendServiceListUsable class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class BackendServiceLocalityLoadBalancingPolicyConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceLocalityLoadBalancingPolicyConfigPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceLogConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceNetworkPassThroughLbTrafficPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceReference class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceTlsSettings class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceTlsSettingsSubjectAltName class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServiceUsedBy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BackendServicesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class BfdPacket class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BfdStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BfdStatusPacketCounts class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BgpRoute class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BgpRouteAsPath class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BgpRouteNetworkLayerReachabilityInformation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Binding class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BulkInsertDiskResource class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BulkInsertInstanceResource class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BulkInsertInstanceResourcePerInstanceProperties class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BulkInsertOperationStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BulkSetLabelsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BulkZoneSetLabelsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class BundledLocalSsds class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class CacheInvalidationRule class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class CacheKeyPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class CalendarModeAdviceRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class CalendarModeAdviceResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class CalendarModeRecommendation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class CircuitBreakers class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Commitment class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class CommitmentAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class CommitmentList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class CommitmentResourceStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class CommitmentsScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ConfidentialInstanceConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ConnectionDraining class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ConsistentHashLoadBalancerSettings class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ConsistentHashLoadBalancerSettingsHttpCookie class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class CorsPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class CrossSiteNetwork class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class CrossSiteNetworkList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class CustomErrorResponsePolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class CustomErrorResponsePolicyCustomErrorResponseRule class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class CustomerEncryptionKey class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class CustomerEncryptionKeyProtectedDisk class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Date class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DeprecationStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Disk class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DiskAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class DiskAsyncReplication class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DiskAsyncReplicationList class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DiskInstantiationConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DiskList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class MoveDiskRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DiskParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DiskResourceStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DiskResourceStatusAsyncReplicationStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DiskType class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DiskTypeAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class DiskTypeList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class DiskTypesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class DisksAddResourcePoliciesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DisksRemoveResourcePoliciesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DisksResizeRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DisksScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class DisksStartAsyncReplicationRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DisksStopGroupAsyncReplicationResource class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DisplayDevice class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DistributionPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DistributionPolicyZoneConfiguration class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Duration class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ErrorInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ExchangedPeeringRoute class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ExchangedPeeringRoutesList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class Expr class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ExternalVpnGateway class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ExternalVpnGatewayInterface class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ExternalVpnGatewayList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class FileContentBuffer class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Firewall class Representation < Google::Apis::Core::JsonRepresentation; end class Allowed class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Denied class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class FirewallList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class FirewallLogConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FirewallParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FirewallPoliciesListAssociationsResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FirewallPoliciesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class FirewallPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FirewallPolicyAssociation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FirewallPolicyList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class FirewallPolicyRule class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FirewallPolicyRuleMatcher class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FirewallPolicyRuleMatcherLayer4Config class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FirewallPolicyRuleSecureTag class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FixedOrPercent class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FlexibleTimeRange class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ForwardingRule class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ForwardingRuleAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ForwardingRuleList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ForwardingRuleReference class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ForwardingRuleServiceDirectoryRegistration class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ForwardingRulesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class FutureReservation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FutureReservationCommitmentInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FutureReservationSpecificSkuProperties class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FutureReservationStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FutureReservationStatusExistingMatchingUsageInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FutureReservationStatusLastKnownGoodState class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FutureReservationStatusLastKnownGoodStateFutureReservationSpecs class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FutureReservationStatusSpecificSkuProperties class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FutureReservationTimeWindow class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FutureReservationsAggregatedListResponse class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class FutureReservationsListResponse class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class FutureReservationsScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class FutureResourcesRecommendation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FutureResourcesRecommendationOtherLocation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FutureResourcesSpec class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FutureResourcesSpecAggregateResources class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FutureResourcesSpecLocalSsdPartition class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FutureResourcesSpecLocationPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FutureResourcesSpecLocationPolicyLocation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FutureResourcesSpecSpecificSkuResources class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class FutureResourcesSpecTargetResources class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class GrpcHealthCheck class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class GrpctlsHealthCheck class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class GlobalAddressesMoveRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class GlobalNetworkEndpointGroupsAttachEndpointsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class GlobalNetworkEndpointGroupsDetachEndpointsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class GlobalOrganizationSetPolicyRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class GlobalSetLabelsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class GlobalSetPolicyRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class GroupMaintenanceInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class GuestAttributes class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class GuestAttributesEntry class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class GuestAttributesValue class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class GuestOsFeature class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Http2HealthCheck class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HttpHealthCheck class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HttpsHealthCheck class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HealthCheck class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HealthCheckList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class HealthCheckLogConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HealthCheckReference class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HealthCheckService class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HealthCheckServiceReference class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HealthCheckServicesList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class HealthChecksAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class HealthChecksScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class HealthStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HealthStatusForNetworkEndpoint class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Help class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HelpLink class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HostRule class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HttpFaultAbort class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HttpFaultDelay class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HttpFaultInjection class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HttpHeaderAction class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HttpHeaderMatch class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HttpHeaderOption class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HttpHealthCheck class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HttpHealthCheckList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class HttpQueryParameterMatch class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HttpRedirectAction class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HttpRetryPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HttpRouteAction class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HttpRouteRule class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HttpRouteRuleMatch class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HttpsHealthCheck class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class HttpsHealthCheckList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class Image class Representation < Google::Apis::Core::JsonRepresentation; end class RawDisk class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ImageFamilyView class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ImageList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ImageParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InitialStateConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Instance class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstanceConsumptionData class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceConsumptionInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceFlexibilityPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceFlexibilityPolicyInstanceSelection class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroup class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManager class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerActionsSummary class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerAllInstancesConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerAutoHealingPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerInstanceFlexibilityPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerInstanceLifecyclePolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerResizeRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerResizeRequestStatus class Representation < Google::Apis::Core::JsonRepresentation; end class Error class Representation < Google::Apis::Core::JsonRepresentation; end class Error class Representation < Google::Apis::Core::JsonRepresentation; end class ErrorDetail class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerResizeRequestStatusLastAttempt class Representation < Google::Apis::Core::JsonRepresentation; end class Error class Representation < Google::Apis::Core::JsonRepresentation; end class Error class Representation < Google::Apis::Core::JsonRepresentation; end class ErrorDetail class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerResizeRequestsListResponse class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerResourcePolicies class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerStandbyPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerStatusAllInstancesConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerStatusStateful class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerStatusStatefulPerInstanceConfigs class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerStatusVersionTarget class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerUpdatePolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagerVersion class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersAbandonInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersApplyUpdatesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersCreateInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersDeleteInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersDeletePerInstanceConfigsReq class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersListErrorsResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersListManagedInstancesResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersListPerInstanceConfigsResp class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersPatchPerInstanceConfigsReq class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersRecreateInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersResumeInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersSetInstanceTemplateRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersSetTargetPoolsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersStartInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersStopInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersSuspendInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupManagersUpdatePerInstanceConfigsReq class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupsAddInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupsListInstances class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupsListInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupsRemoveInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupsScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstanceGroupsSetNamedPortsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstanceListReferrers class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstanceManagedByIgmError class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceManagedByIgmErrorInstanceActionDetails class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceManagedByIgmErrorManagedInstanceError class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class MoveInstanceRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceProperties class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstancePropertiesPatch class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceReference class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceSettings class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceSettingsMetadata class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceTemplate class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstanceTemplateAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstanceTemplateList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstanceTemplatesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstanceWithNamedPorts class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstancesAddResourcePoliciesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstancesBulkInsertOperationMetadata class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstancesGetEffectiveFirewallsResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstancesRemoveResourcePoliciesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstancesReportHostAsFaultyRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstancesReportHostAsFaultyRequestFaultReason class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstancesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstancesSetLabelsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstancesSetMachineResourcesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstancesSetMachineTypeRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstancesSetMinCpuPlatformRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstancesSetNameRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstancesSetSecurityPolicyRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstancesSetServiceAccountRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstancesStartWithEncryptionKeyRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstantSnapshot class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstantSnapshotAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstantSnapshotList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InstantSnapshotResourceStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InstantSnapshotsScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class Int64RangeMatch class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Interconnect class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectApplicationAwareInterconnect class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectApplicationAwareInterconnectBandwidthPercentage class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectApplicationAwareInterconnectStrictPriorityPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachment class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentConfigurationConstraints class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentConfigurationConstraintsBgpPeerAsnRange class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentGroup class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentGroupAttachment class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentGroupConfigured class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentGroupConfiguredAvailabilitySla class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentGroupConfiguredAvailabilitySlaIntendedSlaBlockers class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentGroupIntent class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentGroupLogicalStructure class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentGroupLogicalStructureRegion class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentGroupLogicalStructureRegionMetro class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentGroupLogicalStructureRegionMetroFacility class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentGroupsGetOperationalStatusResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentGroupsListResponse class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentGroupsOperationalStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentGroupsOperationalStatusAttachmentStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentL2Forwarding class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentL2ForwardingApplianceMapping class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentL2ForwardingApplianceMappingInnerVlanToApplianceMapping class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentL2ForwardingGeneveHeader class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentPartnerMetadata class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentPrivateInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectAttachmentsScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InterconnectCircuitInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectDiagnostics class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectDiagnosticsArpEntry class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectDiagnosticsLinkLacpStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectDiagnosticsLinkOpticalPower class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectDiagnosticsLinkStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectDiagnosticsMacsecStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectGroup class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectGroupConfigured class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectGroupConfiguredTopologyCapability class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectGroupIntent class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectGroupInterconnect class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectGroupPhysicalStructure class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectGroupPhysicalStructureMetros class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectGroupPhysicalStructureMetrosFacilities class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectGroupPhysicalStructureMetrosFacilitiesZones class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectGroupsCreateMembers class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectGroupsCreateMembersInterconnectInput class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectGroupsCreateMembersRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectGroupsGetOperationalStatusResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectGroupsListResponse class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InterconnectGroupsOperationalStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectGroupsOperationalStatusInterconnectStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InterconnectLocation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectLocationCrossSiteInterconnectInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectLocationList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InterconnectLocationRegionInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectMacsec class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectMacsecConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectMacsecConfigPreSharedKey class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectMacsecPreSharedKey class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectOutageNotification class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectRemoteLocation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectRemoteLocationConstraints class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectRemoteLocationConstraintsSubnetLengthRange class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectRemoteLocationList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class InterconnectRemoteLocationPermittedConnections class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectsGetDiagnosticsResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class InterconnectsGetMacsecConfigResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class License class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class LicenseCode class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class LicenseCodeLicenseAlias class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class LicenseParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class LicenseResourceCommitment class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class LicenseResourceRequirements class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class LicensesListResponse class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class LocalDisk class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class LocalizedMessage class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class LocationPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class LocationPolicyLocation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class LocationPolicyLocationConstraints class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class MachineImage class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class MachineImageList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class MachineImageParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class MachineType class Representation < Google::Apis::Core::JsonRepresentation; end class Accelerator class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class MachineTypeAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class MachineTypeList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class MachineTypesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ManagedInstance class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ManagedInstanceInstanceHealth class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ManagedInstanceLastAttempt class Representation < Google::Apis::Core::JsonRepresentation; end class Errors class Representation < Google::Apis::Core::JsonRepresentation; end class Error class Representation < Google::Apis::Core::JsonRepresentation; end class ErrorDetail class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ManagedInstancePropertiesFromFlexibilityPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ManagedInstanceVersion class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Metadata class Representation < Google::Apis::Core::JsonRepresentation; end class Item class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class MetadataFilter class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class MetadataFilterLabelMatch class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NamedPort class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NatIpInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NatIpInfoNatIpInfoMapping class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NatIpInfoResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Network class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkAttachment class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkAttachmentAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NetworkAttachmentConnectedEndpoint class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkAttachmentList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NetworkAttachmentsScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NetworkEdgeSecurityService class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkEdgeSecurityServiceAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NetworkEdgeSecurityServicesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NetworkEndpoint class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkEndpointGroup class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkEndpointGroupAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NetworkEndpointGroupAppEngine class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkEndpointGroupCloudFunction class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkEndpointGroupCloudRun class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkEndpointGroupList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NetworkEndpointGroupPscData class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkEndpointGroupsAttachEndpointsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkEndpointGroupsDetachEndpointsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkEndpointGroupsListEndpointsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkEndpointGroupsListNetworkEndpoints class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NetworkEndpointGroupsScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NetworkEndpointWithHealthStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkFirewallPolicyAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NetworkInterface class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NetworkParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkPeering class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkPeeringConnectionStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkPeeringConnectionStatusConsensusState class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkPeeringConnectionStatusTrafficConfiguration class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkPerformanceConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkProfile class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkProfileLocation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkProfileNetworkFeatures class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkProfileNetworkFeaturesPredefinedSubnetworkRange class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkProfileProfileType class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworkProfilesListResponse class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NetworkRoutingConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworksAddPeeringRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworksGetEffectiveFirewallsResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworksRemovePeeringRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworksRequestRemovePeeringRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NetworksUpdatePeeringRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NodeGroup class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NodeGroupAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NodeGroupAutoscalingPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NodeGroupList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NodeGroupMaintenanceWindow class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NodeGroupNode class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NodeGroupsAddNodesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NodeGroupsDeleteNodesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NodeGroupsListNodes class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NodeGroupsPerformMaintenanceRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NodeGroupsScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NodeGroupsSetNodeTemplateRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NodeGroupsSimulateMaintenanceEventRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NodeTemplate class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NodeTemplateAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NodeTemplateList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NodeTemplateNodeTypeFlexibility class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NodeTemplatesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NodeType class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NodeTypeAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NodeTypeList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NodeTypesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class NotificationEndpoint class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NotificationEndpointGrpcSettings class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class NotificationEndpointList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class Operation class Representation < Google::Apis::Core::JsonRepresentation; end class Error class Representation < Google::Apis::Core::JsonRepresentation; end class Error class Representation < Google::Apis::Core::JsonRepresentation; end class ErrorDetail class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class OperationAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class OperationList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class OperationsScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class OrganizationSecurityPoliciesListAssociationsResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class OutlierDetection class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PacketIntervals class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PacketMirroring class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PacketMirroringAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class PacketMirroringFilter class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PacketMirroringForwardingRuleInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PacketMirroringList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class PacketMirroringMirroredResourceInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PacketMirroringMirroredResourceInfoInstanceInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PacketMirroringMirroredResourceInfoSubnetInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PacketMirroringNetworkInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PacketMirroringsScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class PathMatcher class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PathRule class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PerInstanceConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Policy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PreconfiguredWafSet class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PreservedState class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PreservedStatePreservedDisk class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PreservedStatePreservedNetworkIp class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PreservedStatePreservedNetworkIpIpAddress class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PreviewFeature class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PreviewFeatureList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class PreviewFeatureRolloutOperation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PreviewFeatureRolloutOperationRolloutInput class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PreviewFeatureStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PreviewFeatureStatusReleaseStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Project class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ProjectsDisableXpnResourceRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ProjectsEnableXpnResourceRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ProjectsGetXpnResources class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ProjectsListXpnHostsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ProjectsSetCloudArmorTierRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ProjectsSetDefaultNetworkTierRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PublicAdvertisedPrefix class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PublicAdvertisedPrefixList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class PublicAdvertisedPrefixPublicDelegatedPrefix class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PublicDelegatedPrefix class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PublicDelegatedPrefixAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class PublicDelegatedPrefixList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class PublicDelegatedPrefixPublicDelegatedSubPrefix class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PublicDelegatedPrefixesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class Quota class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class QuotaExceededInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Reference class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Region class Representation < Google::Apis::Core::JsonRepresentation; end class QuotaStatusWarning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class RegionAddressesMoveRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionAutoscalerList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class RegionDiskTypeList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class RegionDisksAddResourcePoliciesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionDisksRemoveResourcePoliciesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionDisksResizeRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionDisksStartAsyncReplicationRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagerDeleteInstanceConfigReq class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagerList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagerPatchInstanceConfigReq class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagerUpdateInstanceConfigReq class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagersAbandonInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagersApplyUpdatesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagersCreateInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagersDeleteInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagersListErrorsResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagersListInstanceConfigsResp class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagersListInstancesResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagersRecreateRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagersResumeInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagersSetTargetPoolsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagersSetTemplateRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagersStartInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagersStopInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupManagersSuspendInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupsListInstances class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupsListInstancesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionInstanceGroupsSetNamedPortsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class RegionNetworkEndpointGroupsAttachEndpointsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionNetworkEndpointGroupsDetachEndpointsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionSetLabelsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionSetPolicyRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionTargetHttpsProxiesSetSslCertificatesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RegionUrlMapsValidateRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RequestMirrorPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Reservation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationAdvancedDeploymentControl class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationAffinity class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ReservationBlock class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationBlockHealthInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationBlockPhysicalTopology class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationBlockPhysicalTopologyInstance class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationBlockPhysicalTopologyInstancePhysicalHostTopology class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationBlocksGetResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationBlocksListResponse class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ReservationList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ReservationSlot class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationSlotPhysicalTopology class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationSlotStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationSlotsGetResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationSlotsListResponse class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ReservationSubBlock class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationSubBlockHealthInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationSubBlockPhysicalTopology class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationSubBlocksGetResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationSubBlocksListResponse class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ReservationSubBlocksReportFaultyRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationSubBlocksReportFaultyRequestFaultReason class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationsBlocksPerformMaintenanceRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationsPerformMaintenanceRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationsResizeRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ReservationsScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ResourceCommitment class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourceGroupReference class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourcePoliciesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicyAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicyDailyCycle class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicyDiskConsistencyGroupPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicyGroupPlacementPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicyHourlyCycle class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicyInstanceSchedulePolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicyInstanceSchedulePolicySchedule class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicyList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicyResourceStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicyResourceStatusInstanceSchedulePolicyStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicySnapshotSchedulePolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicySnapshotSchedulePolicyRetentionPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicySnapshotSchedulePolicySchedule class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicySnapshotSchedulePolicySnapshotProperties class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicyWeeklyCycle class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicyWeeklyCycleDayOfWeek class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourcePolicyWorkloadPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourceStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourceStatusEffectiveInstanceMetadata class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourceStatusPhysicalHostTopology class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourceStatusReservationConsumptionInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourceStatusScheduling class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Route class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class RouteAsPath class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouteList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class RouteParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RoutePolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RoutePolicyPolicyTerm class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Router class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterAdvertisedIpRange class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class RouterBgp class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterBgpPeer class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterBgpPeerBfd class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterBgpPeerCustomLearnedIpRange class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterInterface class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class RouterMd5AuthenticationKey class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterNat class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterNatLogConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterNatRule class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterNatRuleAction class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterNatSubnetworkToNat class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterNatSubnetworkToNat64 class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterStatusBgpPeerStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterStatusNatStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterStatusNatStatusNatRuleStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RouterStatusResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RoutersGetRoutePolicyResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RoutersListBgpRoutes class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class RoutersListRoutePolicies class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class RoutersPreviewResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RoutersScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class SslHealthCheck class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SavedAttachedDisk class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SavedDisk class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ScalingScheduleStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Scheduling class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SchedulingNodeAffinity class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SchedulingOnInstanceStopAction class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Screenshot class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPoliciesAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class SecurityPoliciesListPreconfiguredExpressionSetsResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPoliciesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class SecurityPoliciesWafConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyAdaptiveProtectionConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyAdvancedOptionsConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyAdvancedOptionsConfigJsonCustomConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyAssociation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyDdosProtectionConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyRecaptchaOptionsConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyReference class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyRule class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyRuleHttpHeaderAction class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyRuleHttpHeaderActionHttpHeaderOption class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyRuleMatcher class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyRuleMatcherConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyRuleMatcherExprOptions class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyRuleNetworkMatcher class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyRulePreconfiguredWafConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyRulePreconfiguredWafConfigExclusion class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyRuleRateLimitOptions class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyRuleRateLimitOptionsThreshold class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyRuleRedirectOptions class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecurityPolicyUserDefinedField class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SecuritySettings class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SerialPortOutput class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ServerBinding class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ServiceAccount class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ServiceAttachment class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ServiceAttachmentAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ServiceAttachmentConnectedEndpoint class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ServiceAttachmentConsumerProjectLimit class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ServiceAttachmentList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ServiceAttachmentsScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class SetCommonInstanceMetadataOperationMetadata class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ShareSettings class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ShareSettingsProjectConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ShieldedInstanceConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ShieldedInstanceIdentity class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ShieldedInstanceIdentityEntry class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ShieldedInstanceIntegrityPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SignedUrlKey class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Snapshot class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SnapshotList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class SnapshotParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SnapshotSettings class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SnapshotSettingsStorageLocationSettings class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SnapshotSettingsStorageLocationSettingsStorageLocationPreference class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SourceDiskEncryptionKey class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SourceInstanceParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SourceInstanceProperties class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SslCertificate class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SslCertificateAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class SslCertificateList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class SslCertificateManagedSslCertificate class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SslCertificateSelfManagedSslCertificate class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SslCertificatesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class SslPoliciesAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class SslPoliciesList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class SslPoliciesListAvailableFeaturesResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SslPoliciesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class SslPolicy class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class SslPolicyReference class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class StatefulPolicy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class StatefulPolicyPreservedState class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class StatefulPolicyPreservedStateDiskDevice class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class StatefulPolicyPreservedStateNetworkIp class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Status class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class StoragePool class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class StoragePoolAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class StoragePoolDisk class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class StoragePoolExapoolProvisionedCapacityGb class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class StoragePoolList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class StoragePoolListDisks class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class StoragePoolParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class StoragePoolResourceStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class StoragePoolType class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class StoragePoolTypeAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class StoragePoolTypeList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class StoragePoolTypesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class StoragePoolsScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class Subnetwork class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SubnetworkAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class SubnetworkList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class SubnetworkLogConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SubnetworkParams class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SubnetworkSecondaryRange class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SubnetworkUtilizationDetails class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SubnetworkUtilizationDetailsIpv4Utilization class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SubnetworkUtilizationDetailsIpv6Utilization class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SubnetworksExpandIpCidrRangeRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class SubnetworksScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class SubnetworksScopedWarning class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class SubnetworksSetPrivateIpGoogleAccessRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Subsetting class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TcpHealthCheck class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Tags class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetGrpcProxy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetGrpcProxyList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TargetHttpProxiesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TargetHttpProxy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetHttpProxyAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetHttpProxyList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TargetHttpsProxiesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TargetHttpsProxiesSetCertificateMapRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetHttpsProxiesSetQuicOverrideRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetHttpsProxiesSetSslCertificatesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetHttpsProxy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetHttpsProxyAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TargetHttpsProxyList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TargetInstance class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetInstanceAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TargetInstanceList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TargetInstancesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TargetPool class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetPoolAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TargetPoolInstanceHealth class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetPoolList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class AddTargetPoolsHealthCheckRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AddTargetPoolsInstanceRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RemoveTargetPoolsHealthCheckRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class RemoveTargetPoolsInstanceRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetPoolsScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TargetReference class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetSslProxiesSetBackendServiceRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetSslProxiesSetCertificateMapRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetSslProxiesSetProxyHeaderRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetSslProxiesSetSslCertificatesRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetSslProxy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetSslProxyList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TargetTcpProxiesScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TargetTcpProxiesSetBackendServiceRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetTcpProxiesSetProxyHeaderRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetTcpProxy class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetTcpProxyAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TargetTcpProxyList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TargetVpnGateway class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TargetVpnGatewayAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TargetVpnGatewayList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TargetVpnGatewaysScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class TestFailure class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TestPermissionsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class TestPermissionsResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Uint128 class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class UpcomingMaintenance class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class UrlMap class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class UrlMapList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class UrlMapReference class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class UrlMapTest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class UrlMapTestHeader class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class UrlMapValidationResult class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class UrlMapsAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class UrlMapsScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ValidateUrlMapsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ValidateUrlMapsResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class UrlRewrite class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class UsableSubnetwork class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class UsableSubnetworkSecondaryRange class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class UsableSubnetworksAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class UsageExportLocation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class VmEndpointNatMappings class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class VmEndpointNatMappingsInterfaceNatMappings class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class VmEndpointNatMappingsList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class VpnGateway class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class VpnGatewayAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class VpnGatewayList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class VpnGatewayStatus class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class VpnGatewayStatusHighAvailabilityRequirementState class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class VpnGatewayStatusTunnel class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class VpnGatewayStatusVpnConnection class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class VpnGatewayVpnGatewayInterface class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class VpnGatewaysGetStatusResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class VpnGatewaysScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class VpnTunnel class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class VpnTunnelAggregatedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class VpnTunnelCipherSuite class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class VpnTunnelList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class VpnTunnelPhase1Algorithms class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class VpnTunnelPhase2Algorithms class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class VpnTunnelsScopedList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class WafExpressionSet class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class WafExpressionSetExpression class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class WeightedBackendService class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Wire class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class WireEndpoint class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class WireGroup class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class WireGroupEndpoint class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class WireGroupEndpointInterconnect class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class WireGroupList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class WireGroupTopology class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class WireGroupTopologyEndpoint class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class WireProperties class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class XpnHostList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class XpnResourceId class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Zone class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ZoneList class Representation < Google::Apis::Core::JsonRepresentation; end class Warning class Representation < Google::Apis::Core::JsonRepresentation; end class Datum class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end include Google::Apis::Core::JsonObjectSupport end class ZoneSetLabelsRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ZoneSetNestedPolicyRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ZoneSetPolicyRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Awsv4Signature # @private class Representation < Google::Apis::Core::JsonRepresentation property :access_key, as: 'accessKey' property :access_key_id, as: 'accessKeyId' property :access_key_version, as: 'accessKeyVersion' property :origin_region, as: 'originRegion' end end class AcceleratorConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :accelerator_count, as: 'acceleratorCount' property :accelerator_type, as: 'acceleratorType' end end class AcceleratorTopologiesInfo # @private class Representation < Google::Apis::Core::JsonRepresentation collection :accelerator_topology_infos, as: 'acceleratorTopologyInfos', class: Google::Apis::ComputeV1::AcceleratorTopologiesInfoAcceleratorTopologyInfo, decorator: Google::Apis::ComputeV1::AcceleratorTopologiesInfoAcceleratorTopologyInfo::Representation end end class AcceleratorTopologiesInfoAcceleratorTopologyInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :accelerator_topology, as: 'acceleratorTopology' collection :info_per_topology_states, as: 'infoPerTopologyStates', class: Google::Apis::ComputeV1::AcceleratorTopologiesInfoAcceleratorTopologyInfoInfoPerTopologyState, decorator: Google::Apis::ComputeV1::AcceleratorTopologiesInfoAcceleratorTopologyInfoInfoPerTopologyState::Representation end end class AcceleratorTopologiesInfoAcceleratorTopologyInfoInfoPerTopologyState # @private class Representation < Google::Apis::Core::JsonRepresentation property :count, as: 'count' property :state, as: 'state' end end class AcceleratorType # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :deprecated, as: 'deprecated', class: Google::Apis::ComputeV1::DeprecationStatus, decorator: Google::Apis::ComputeV1::DeprecationStatus::Representation property :description, as: 'description' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :maximum_cards_per_instance, as: 'maximumCardsPerInstance' property :name, as: 'name' property :self_link, as: 'selfLink' property :zone, as: 'zone' end end class AcceleratorTypeAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::AcceleratorTypesScopedList, decorator: Google::Apis::ComputeV1::AcceleratorTypesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::AcceleratorTypeAggregatedList::Warning, decorator: Google::Apis::ComputeV1::AcceleratorTypeAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::AcceleratorTypeAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::AcceleratorTypeAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class AcceleratorTypeList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::AcceleratorType, decorator: Google::Apis::ComputeV1::AcceleratorType::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::AcceleratorTypeList::Warning, decorator: Google::Apis::ComputeV1::AcceleratorTypeList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::AcceleratorTypeList::Warning::Datum, decorator: Google::Apis::ComputeV1::AcceleratorTypeList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class AcceleratorTypesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :accelerator_types, as: 'acceleratorTypes', class: Google::Apis::ComputeV1::AcceleratorType, decorator: Google::Apis::ComputeV1::AcceleratorType::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::AcceleratorTypesScopedList::Warning, decorator: Google::Apis::ComputeV1::AcceleratorTypesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::AcceleratorTypesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::AcceleratorTypesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class AccessConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :external_ipv6, as: 'externalIpv6' property :external_ipv6_prefix_length, as: 'externalIpv6PrefixLength' property :kind, as: 'kind' property :name, as: 'name' property :nat_ip, as: 'natIP' property :network_tier, as: 'networkTier' property :public_ptr_domain_name, as: 'publicPtrDomainName' property :security_policy, as: 'securityPolicy' property :set_public_ptr, as: 'setPublicPtr' property :type, as: 'type' end end class Address # @private class Representation < Google::Apis::Core::JsonRepresentation property :address, as: 'address' property :address_type, as: 'addressType' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :id, :numeric_string => true, as: 'id' property :ip_collection, as: 'ipCollection' property :ip_version, as: 'ipVersion' property :ipv6_endpoint_type, as: 'ipv6EndpointType' property :kind, as: 'kind' property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' property :name, as: 'name' property :network, as: 'network' property :network_tier, as: 'networkTier' property :prefix_length, as: 'prefixLength' property :purpose, as: 'purpose' property :region, as: 'region' property :self_link, as: 'selfLink' property :status, as: 'status' property :subnetwork, as: 'subnetwork' collection :users, as: 'users' end end class AddressAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::AddressesScopedList, decorator: Google::Apis::ComputeV1::AddressesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::AddressAggregatedList::Warning, decorator: Google::Apis::ComputeV1::AddressAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::AddressAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::AddressAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class AddressList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Address, decorator: Google::Apis::ComputeV1::Address::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::AddressList::Warning, decorator: Google::Apis::ComputeV1::AddressList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::AddressList::Warning::Datum, decorator: Google::Apis::ComputeV1::AddressList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class AddressesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :addresses, as: 'addresses', class: Google::Apis::ComputeV1::Address, decorator: Google::Apis::ComputeV1::Address::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::AddressesScopedList::Warning, decorator: Google::Apis::ComputeV1::AddressesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::AddressesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::AddressesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class AdvancedMachineFeatures # @private class Representation < Google::Apis::Core::JsonRepresentation property :enable_nested_virtualization, as: 'enableNestedVirtualization' property :enable_uefi_networking, as: 'enableUefiNetworking' property :performance_monitoring_unit, as: 'performanceMonitoringUnit' property :threads_per_core, as: 'threadsPerCore' property :turbo_mode, as: 'turboMode' property :visible_core_count, as: 'visibleCoreCount' end end class AliasIpRange # @private class Representation < Google::Apis::Core::JsonRepresentation property :ip_cidr_range, as: 'ipCidrRange' property :subnetwork_range_name, as: 'subnetworkRangeName' end end class AllocationAggregateReservation # @private class Representation < Google::Apis::Core::JsonRepresentation collection :in_use_resources, as: 'inUseResources', class: Google::Apis::ComputeV1::AllocationAggregateReservationReservedResourceInfo, decorator: Google::Apis::ComputeV1::AllocationAggregateReservationReservedResourceInfo::Representation collection :reserved_resources, as: 'reservedResources', class: Google::Apis::ComputeV1::AllocationAggregateReservationReservedResourceInfo, decorator: Google::Apis::ComputeV1::AllocationAggregateReservationReservedResourceInfo::Representation property :vm_family, as: 'vmFamily' property :workload_type, as: 'workloadType' end end class AllocationAggregateReservationReservedResourceInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :accelerator, as: 'accelerator', class: Google::Apis::ComputeV1::AllocationAggregateReservationReservedResourceInfoAccelerator, decorator: Google::Apis::ComputeV1::AllocationAggregateReservationReservedResourceInfoAccelerator::Representation end end class AllocationAggregateReservationReservedResourceInfoAccelerator # @private class Representation < Google::Apis::Core::JsonRepresentation property :accelerator_count, as: 'acceleratorCount' property :accelerator_type, as: 'acceleratorType' end end class AllocationReservationSharingPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :service_share_type, as: 'serviceShareType' end end class AllocationResourceStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :health_info, as: 'healthInfo', class: Google::Apis::ComputeV1::AllocationResourceStatusHealthInfo, decorator: Google::Apis::ComputeV1::AllocationResourceStatusHealthInfo::Representation property :reservation_block_count, as: 'reservationBlockCount' property :reservation_maintenance, as: 'reservationMaintenance', class: Google::Apis::ComputeV1::GroupMaintenanceInfo, decorator: Google::Apis::ComputeV1::GroupMaintenanceInfo::Representation property :specific_sku_allocation, as: 'specificSkuAllocation', class: Google::Apis::ComputeV1::AllocationResourceStatusSpecificSkuAllocation, decorator: Google::Apis::ComputeV1::AllocationResourceStatusSpecificSkuAllocation::Representation end end class AllocationResourceStatusHealthInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :degraded_block_count, as: 'degradedBlockCount' property :health_status, as: 'healthStatus' property :healthy_block_count, as: 'healthyBlockCount' end end class AllocationResourceStatusSpecificSkuAllocation # @private class Representation < Google::Apis::Core::JsonRepresentation property :source_instance_template_id, as: 'sourceInstanceTemplateId' hash :utilizations, as: 'utilizations' end end class AllocationSpecificSkuAllocationAllocatedInstancePropertiesReservedDisk # @private class Representation < Google::Apis::Core::JsonRepresentation property :disk_size_gb, :numeric_string => true, as: 'diskSizeGb' property :interface, as: 'interface' end end class AllocationSpecificSkuAllocationReservedInstanceProperties # @private class Representation < Google::Apis::Core::JsonRepresentation collection :guest_accelerators, as: 'guestAccelerators', class: Google::Apis::ComputeV1::AcceleratorConfig, decorator: Google::Apis::ComputeV1::AcceleratorConfig::Representation collection :local_ssds, as: 'localSsds', class: Google::Apis::ComputeV1::AllocationSpecificSkuAllocationAllocatedInstancePropertiesReservedDisk, decorator: Google::Apis::ComputeV1::AllocationSpecificSkuAllocationAllocatedInstancePropertiesReservedDisk::Representation property :location_hint, as: 'locationHint' property :machine_type, as: 'machineType' property :min_cpu_platform, as: 'minCpuPlatform' end end class AllocationSpecificSkuReservation # @private class Representation < Google::Apis::Core::JsonRepresentation property :assured_count, :numeric_string => true, as: 'assuredCount' property :count, :numeric_string => true, as: 'count' property :in_use_count, :numeric_string => true, as: 'inUseCount' property :instance_properties, as: 'instanceProperties', class: Google::Apis::ComputeV1::AllocationSpecificSkuAllocationReservedInstanceProperties, decorator: Google::Apis::ComputeV1::AllocationSpecificSkuAllocationReservedInstanceProperties::Representation property :source_instance_template, as: 'sourceInstanceTemplate' end end class AttachedDisk # @private class Representation < Google::Apis::Core::JsonRepresentation property :architecture, as: 'architecture' property :auto_delete, as: 'autoDelete' property :boot, as: 'boot' property :device_name, as: 'deviceName' property :disk_encryption_key, as: 'diskEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :disk_size_gb, :numeric_string => true, as: 'diskSizeGb' property :force_attach, as: 'forceAttach' collection :guest_os_features, as: 'guestOsFeatures', class: Google::Apis::ComputeV1::GuestOsFeature, decorator: Google::Apis::ComputeV1::GuestOsFeature::Representation property :index, as: 'index' property :initialize_params, as: 'initializeParams', class: Google::Apis::ComputeV1::AttachedDiskInitializeParams, decorator: Google::Apis::ComputeV1::AttachedDiskInitializeParams::Representation property :interface, as: 'interface' property :kind, as: 'kind' collection :licenses, as: 'licenses' property :mode, as: 'mode' property :saved_state, as: 'savedState' property :shielded_instance_initial_state, as: 'shieldedInstanceInitialState', class: Google::Apis::ComputeV1::InitialStateConfig, decorator: Google::Apis::ComputeV1::InitialStateConfig::Representation property :source, as: 'source' property :type, as: 'type' end end class AttachedDiskInitializeParams # @private class Representation < Google::Apis::Core::JsonRepresentation property :architecture, as: 'architecture' property :description, as: 'description' property :disk_name, as: 'diskName' property :disk_size_gb, :numeric_string => true, as: 'diskSizeGb' property :disk_type, as: 'diskType' property :enable_confidential_compute, as: 'enableConfidentialCompute' hash :labels, as: 'labels' collection :licenses, as: 'licenses' property :on_update_action, as: 'onUpdateAction' property :provisioned_iops, :numeric_string => true, as: 'provisionedIops' property :provisioned_throughput, :numeric_string => true, as: 'provisionedThroughput' collection :replica_zones, as: 'replicaZones' hash :resource_manager_tags, as: 'resourceManagerTags' collection :resource_policies, as: 'resourcePolicies' property :source_image, as: 'sourceImage' property :source_image_encryption_key, as: 'sourceImageEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :source_snapshot, as: 'sourceSnapshot' property :source_snapshot_encryption_key, as: 'sourceSnapshotEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :storage_pool, as: 'storagePool' end end class AuditConfig # @private class Representation < Google::Apis::Core::JsonRepresentation collection :audit_log_configs, as: 'auditLogConfigs', class: Google::Apis::ComputeV1::AuditLogConfig, decorator: Google::Apis::ComputeV1::AuditLogConfig::Representation property :service, as: 'service' end end class AuditLogConfig # @private class Representation < Google::Apis::Core::JsonRepresentation collection :exempted_members, as: 'exemptedMembers' property :log_type, as: 'logType' end end class Autoscaler # @private class Representation < Google::Apis::Core::JsonRepresentation property :autoscaling_policy, as: 'autoscalingPolicy', class: Google::Apis::ComputeV1::AutoscalingPolicy, decorator: Google::Apis::ComputeV1::AutoscalingPolicy::Representation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :recommended_size, as: 'recommendedSize' property :region, as: 'region' hash :scaling_schedule_status, as: 'scalingScheduleStatus', class: Google::Apis::ComputeV1::ScalingScheduleStatus, decorator: Google::Apis::ComputeV1::ScalingScheduleStatus::Representation property :self_link, as: 'selfLink' property :status, as: 'status' collection :status_details, as: 'statusDetails', class: Google::Apis::ComputeV1::AutoscalerStatusDetails, decorator: Google::Apis::ComputeV1::AutoscalerStatusDetails::Representation property :target, as: 'target' property :zone, as: 'zone' end end class AutoscalerAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::AutoscalersScopedList, decorator: Google::Apis::ComputeV1::AutoscalersScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::AutoscalerAggregatedList::Warning, decorator: Google::Apis::ComputeV1::AutoscalerAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::AutoscalerAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::AutoscalerAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class AutoscalerList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Autoscaler, decorator: Google::Apis::ComputeV1::Autoscaler::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::AutoscalerList::Warning, decorator: Google::Apis::ComputeV1::AutoscalerList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::AutoscalerList::Warning::Datum, decorator: Google::Apis::ComputeV1::AutoscalerList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class AutoscalerStatusDetails # @private class Representation < Google::Apis::Core::JsonRepresentation property :message, as: 'message' property :type, as: 'type' end end class AutoscalersScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :autoscalers, as: 'autoscalers', class: Google::Apis::ComputeV1::Autoscaler, decorator: Google::Apis::ComputeV1::Autoscaler::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::AutoscalersScopedList::Warning, decorator: Google::Apis::ComputeV1::AutoscalersScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::AutoscalersScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::AutoscalersScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class AutoscalingPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :cool_down_period_sec, as: 'coolDownPeriodSec' property :cpu_utilization, as: 'cpuUtilization', class: Google::Apis::ComputeV1::AutoscalingPolicyCpuUtilization, decorator: Google::Apis::ComputeV1::AutoscalingPolicyCpuUtilization::Representation collection :custom_metric_utilizations, as: 'customMetricUtilizations', class: Google::Apis::ComputeV1::AutoscalingPolicyCustomMetricUtilization, decorator: Google::Apis::ComputeV1::AutoscalingPolicyCustomMetricUtilization::Representation property :load_balancing_utilization, as: 'loadBalancingUtilization', class: Google::Apis::ComputeV1::AutoscalingPolicyLoadBalancingUtilization, decorator: Google::Apis::ComputeV1::AutoscalingPolicyLoadBalancingUtilization::Representation property :max_num_replicas, as: 'maxNumReplicas' property :min_num_replicas, as: 'minNumReplicas' property :mode, as: 'mode' property :scale_in_control, as: 'scaleInControl', class: Google::Apis::ComputeV1::AutoscalingPolicyScaleInControl, decorator: Google::Apis::ComputeV1::AutoscalingPolicyScaleInControl::Representation hash :scaling_schedules, as: 'scalingSchedules', class: Google::Apis::ComputeV1::AutoscalingPolicyScalingSchedule, decorator: Google::Apis::ComputeV1::AutoscalingPolicyScalingSchedule::Representation end end class AutoscalingPolicyCpuUtilization # @private class Representation < Google::Apis::Core::JsonRepresentation property :predictive_method, as: 'predictiveMethod' property :utilization_target, as: 'utilizationTarget' end end class AutoscalingPolicyCustomMetricUtilization # @private class Representation < Google::Apis::Core::JsonRepresentation property :filter, as: 'filter' property :metric, as: 'metric' property :single_instance_assignment, as: 'singleInstanceAssignment' property :utilization_target, as: 'utilizationTarget' property :utilization_target_type, as: 'utilizationTargetType' end end class AutoscalingPolicyLoadBalancingUtilization # @private class Representation < Google::Apis::Core::JsonRepresentation property :utilization_target, as: 'utilizationTarget' end end class AutoscalingPolicyScaleInControl # @private class Representation < Google::Apis::Core::JsonRepresentation property :max_scaled_in_replicas, as: 'maxScaledInReplicas', class: Google::Apis::ComputeV1::FixedOrPercent, decorator: Google::Apis::ComputeV1::FixedOrPercent::Representation property :time_window_sec, as: 'timeWindowSec' end end class AutoscalingPolicyScalingSchedule # @private class Representation < Google::Apis::Core::JsonRepresentation property :description, as: 'description' property :disabled, as: 'disabled' property :duration_sec, as: 'durationSec' property :min_required_replicas, as: 'minRequiredReplicas' property :schedule, as: 'schedule' property :time_zone, as: 'timeZone' end end class Backend # @private class Representation < Google::Apis::Core::JsonRepresentation property :balancing_mode, as: 'balancingMode' property :capacity_scaler, as: 'capacityScaler' collection :custom_metrics, as: 'customMetrics', class: Google::Apis::ComputeV1::BackendCustomMetric, decorator: Google::Apis::ComputeV1::BackendCustomMetric::Representation property :description, as: 'description' property :failover, as: 'failover' property :group, as: 'group' property :max_connections, as: 'maxConnections' property :max_connections_per_endpoint, as: 'maxConnectionsPerEndpoint' property :max_connections_per_instance, as: 'maxConnectionsPerInstance' property :max_rate, as: 'maxRate' property :max_rate_per_endpoint, as: 'maxRatePerEndpoint' property :max_rate_per_instance, as: 'maxRatePerInstance' property :max_utilization, as: 'maxUtilization' property :preference, as: 'preference' end end class BackendBucket # @private class Representation < Google::Apis::Core::JsonRepresentation property :bucket_name, as: 'bucketName' property :cdn_policy, as: 'cdnPolicy', class: Google::Apis::ComputeV1::BackendBucketCdnPolicy, decorator: Google::Apis::ComputeV1::BackendBucketCdnPolicy::Representation property :compression_mode, as: 'compressionMode' property :creation_timestamp, as: 'creationTimestamp' collection :custom_response_headers, as: 'customResponseHeaders' property :description, as: 'description' property :edge_security_policy, as: 'edgeSecurityPolicy' property :enable_cdn, as: 'enableCdn' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :load_balancing_scheme, as: 'loadBalancingScheme' property :name, as: 'name' property :params, as: 'params', class: Google::Apis::ComputeV1::BackendBucketParams, decorator: Google::Apis::ComputeV1::BackendBucketParams::Representation property :self_link, as: 'selfLink' collection :used_by, as: 'usedBy', class: Google::Apis::ComputeV1::BackendBucketUsedBy, decorator: Google::Apis::ComputeV1::BackendBucketUsedBy::Representation end end class BackendBucketCdnPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation collection :bypass_cache_on_request_headers, as: 'bypassCacheOnRequestHeaders', class: Google::Apis::ComputeV1::BackendBucketCdnPolicyBypassCacheOnRequestHeader, decorator: Google::Apis::ComputeV1::BackendBucketCdnPolicyBypassCacheOnRequestHeader::Representation property :cache_key_policy, as: 'cacheKeyPolicy', class: Google::Apis::ComputeV1::BackendBucketCdnPolicyCacheKeyPolicy, decorator: Google::Apis::ComputeV1::BackendBucketCdnPolicyCacheKeyPolicy::Representation property :cache_mode, as: 'cacheMode' property :client_ttl, as: 'clientTtl' property :default_ttl, as: 'defaultTtl' property :max_ttl, as: 'maxTtl' property :negative_caching, as: 'negativeCaching' collection :negative_caching_policy, as: 'negativeCachingPolicy', class: Google::Apis::ComputeV1::BackendBucketCdnPolicyNegativeCachingPolicy, decorator: Google::Apis::ComputeV1::BackendBucketCdnPolicyNegativeCachingPolicy::Representation property :request_coalescing, as: 'requestCoalescing' property :serve_while_stale, as: 'serveWhileStale' property :signed_url_cache_max_age_sec, :numeric_string => true, as: 'signedUrlCacheMaxAgeSec' collection :signed_url_key_names, as: 'signedUrlKeyNames' end end class BackendBucketCdnPolicyBypassCacheOnRequestHeader # @private class Representation < Google::Apis::Core::JsonRepresentation property :header_name, as: 'headerName' end end class BackendBucketCdnPolicyCacheKeyPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation collection :include_http_headers, as: 'includeHttpHeaders' collection :query_string_whitelist, as: 'queryStringWhitelist' end end class BackendBucketCdnPolicyNegativeCachingPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' property :ttl, as: 'ttl' end end class BackendBucketList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::BackendBucket, decorator: Google::Apis::ComputeV1::BackendBucket::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::BackendBucketList::Warning, decorator: Google::Apis::ComputeV1::BackendBucketList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::BackendBucketList::Warning::Datum, decorator: Google::Apis::ComputeV1::BackendBucketList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class BackendBucketParams # @private class Representation < Google::Apis::Core::JsonRepresentation hash :resource_manager_tags, as: 'resourceManagerTags' end end class BackendBucketUsedBy # @private class Representation < Google::Apis::Core::JsonRepresentation property :reference, as: 'reference' end end class BackendCustomMetric # @private class Representation < Google::Apis::Core::JsonRepresentation property :dry_run, as: 'dryRun' property :max_utilization, as: 'maxUtilization' property :name, as: 'name' end end class BackendService # @private class Representation < Google::Apis::Core::JsonRepresentation property :affinity_cookie_ttl_sec, as: 'affinityCookieTtlSec' collection :backends, as: 'backends', class: Google::Apis::ComputeV1::Backend, decorator: Google::Apis::ComputeV1::Backend::Representation property :cdn_policy, as: 'cdnPolicy', class: Google::Apis::ComputeV1::BackendServiceCdnPolicy, decorator: Google::Apis::ComputeV1::BackendServiceCdnPolicy::Representation property :circuit_breakers, as: 'circuitBreakers', class: Google::Apis::ComputeV1::CircuitBreakers, decorator: Google::Apis::ComputeV1::CircuitBreakers::Representation property :compression_mode, as: 'compressionMode' property :connection_draining, as: 'connectionDraining', class: Google::Apis::ComputeV1::ConnectionDraining, decorator: Google::Apis::ComputeV1::ConnectionDraining::Representation property :connection_tracking_policy, as: 'connectionTrackingPolicy', class: Google::Apis::ComputeV1::BackendServiceConnectionTrackingPolicy, decorator: Google::Apis::ComputeV1::BackendServiceConnectionTrackingPolicy::Representation property :consistent_hash, as: 'consistentHash', class: Google::Apis::ComputeV1::ConsistentHashLoadBalancerSettings, decorator: Google::Apis::ComputeV1::ConsistentHashLoadBalancerSettings::Representation property :creation_timestamp, as: 'creationTimestamp' collection :custom_metrics, as: 'customMetrics', class: Google::Apis::ComputeV1::BackendServiceCustomMetric, decorator: Google::Apis::ComputeV1::BackendServiceCustomMetric::Representation collection :custom_request_headers, as: 'customRequestHeaders' collection :custom_response_headers, as: 'customResponseHeaders' property :description, as: 'description' property :edge_security_policy, as: 'edgeSecurityPolicy' property :enable_cdn, as: 'enableCDN' property :external_managed_migration_state, as: 'externalManagedMigrationState' property :external_managed_migration_testing_percentage, as: 'externalManagedMigrationTestingPercentage' property :failover_policy, as: 'failoverPolicy', class: Google::Apis::ComputeV1::BackendServiceFailoverPolicy, decorator: Google::Apis::ComputeV1::BackendServiceFailoverPolicy::Representation property :fingerprint, :base64 => true, as: 'fingerprint' property :ha_policy, as: 'haPolicy', class: Google::Apis::ComputeV1::BackendServiceHaPolicy, decorator: Google::Apis::ComputeV1::BackendServiceHaPolicy::Representation collection :health_checks, as: 'healthChecks' property :iap, as: 'iap', class: Google::Apis::ComputeV1::BackendServiceIap, decorator: Google::Apis::ComputeV1::BackendServiceIap::Representation property :id, :numeric_string => true, as: 'id' property :ip_address_selection_policy, as: 'ipAddressSelectionPolicy' property :kind, as: 'kind' property :load_balancing_scheme, as: 'loadBalancingScheme' collection :locality_lb_policies, as: 'localityLbPolicies', class: Google::Apis::ComputeV1::BackendServiceLocalityLoadBalancingPolicyConfig, decorator: Google::Apis::ComputeV1::BackendServiceLocalityLoadBalancingPolicyConfig::Representation property :locality_lb_policy, as: 'localityLbPolicy' property :log_config, as: 'logConfig', class: Google::Apis::ComputeV1::BackendServiceLogConfig, decorator: Google::Apis::ComputeV1::BackendServiceLogConfig::Representation property :max_stream_duration, as: 'maxStreamDuration', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation hash :metadatas, as: 'metadatas' property :name, as: 'name' property :network, as: 'network' property :network_pass_through_lb_traffic_policy, as: 'networkPassThroughLbTrafficPolicy', class: Google::Apis::ComputeV1::BackendServiceNetworkPassThroughLbTrafficPolicy, decorator: Google::Apis::ComputeV1::BackendServiceNetworkPassThroughLbTrafficPolicy::Representation property :outlier_detection, as: 'outlierDetection', class: Google::Apis::ComputeV1::OutlierDetection, decorator: Google::Apis::ComputeV1::OutlierDetection::Representation property :params, as: 'params', class: Google::Apis::ComputeV1::BackendServiceParams, decorator: Google::Apis::ComputeV1::BackendServiceParams::Representation property :port, as: 'port' property :port_name, as: 'portName' property :protocol, as: 'protocol' property :region, as: 'region' property :security_policy, as: 'securityPolicy' property :security_settings, as: 'securitySettings', class: Google::Apis::ComputeV1::SecuritySettings, decorator: Google::Apis::ComputeV1::SecuritySettings::Representation property :self_link, as: 'selfLink' collection :service_bindings, as: 'serviceBindings' property :service_lb_policy, as: 'serviceLbPolicy' property :session_affinity, as: 'sessionAffinity' property :strong_session_affinity_cookie, as: 'strongSessionAffinityCookie', class: Google::Apis::ComputeV1::BackendServiceHttpCookie, decorator: Google::Apis::ComputeV1::BackendServiceHttpCookie::Representation property :subsetting, as: 'subsetting', class: Google::Apis::ComputeV1::Subsetting, decorator: Google::Apis::ComputeV1::Subsetting::Representation property :timeout_sec, as: 'timeoutSec' property :tls_settings, as: 'tlsSettings', class: Google::Apis::ComputeV1::BackendServiceTlsSettings, decorator: Google::Apis::ComputeV1::BackendServiceTlsSettings::Representation collection :used_by, as: 'usedBy', class: Google::Apis::ComputeV1::BackendServiceUsedBy, decorator: Google::Apis::ComputeV1::BackendServiceUsedBy::Representation end end class BackendServiceAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::BackendServicesScopedList, decorator: Google::Apis::ComputeV1::BackendServicesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::BackendServiceAggregatedList::Warning, decorator: Google::Apis::ComputeV1::BackendServiceAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::BackendServiceAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::BackendServiceAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class BackendServiceCdnPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation collection :bypass_cache_on_request_headers, as: 'bypassCacheOnRequestHeaders', class: Google::Apis::ComputeV1::BackendServiceCdnPolicyBypassCacheOnRequestHeader, decorator: Google::Apis::ComputeV1::BackendServiceCdnPolicyBypassCacheOnRequestHeader::Representation property :cache_key_policy, as: 'cacheKeyPolicy', class: Google::Apis::ComputeV1::CacheKeyPolicy, decorator: Google::Apis::ComputeV1::CacheKeyPolicy::Representation property :cache_mode, as: 'cacheMode' property :client_ttl, as: 'clientTtl' property :default_ttl, as: 'defaultTtl' property :max_ttl, as: 'maxTtl' property :negative_caching, as: 'negativeCaching' collection :negative_caching_policy, as: 'negativeCachingPolicy', class: Google::Apis::ComputeV1::BackendServiceCdnPolicyNegativeCachingPolicy, decorator: Google::Apis::ComputeV1::BackendServiceCdnPolicyNegativeCachingPolicy::Representation property :request_coalescing, as: 'requestCoalescing' property :serve_while_stale, as: 'serveWhileStale' property :signed_url_cache_max_age_sec, :numeric_string => true, as: 'signedUrlCacheMaxAgeSec' collection :signed_url_key_names, as: 'signedUrlKeyNames' end end class BackendServiceCdnPolicyBypassCacheOnRequestHeader # @private class Representation < Google::Apis::Core::JsonRepresentation property :header_name, as: 'headerName' end end class BackendServiceCdnPolicyNegativeCachingPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' property :ttl, as: 'ttl' end end class BackendServiceConnectionTrackingPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :connection_persistence_on_unhealthy_backends, as: 'connectionPersistenceOnUnhealthyBackends' property :enable_strong_affinity, as: 'enableStrongAffinity' property :idle_timeout_sec, as: 'idleTimeoutSec' property :tracking_mode, as: 'trackingMode' end end class BackendServiceCustomMetric # @private class Representation < Google::Apis::Core::JsonRepresentation property :dry_run, as: 'dryRun' property :name, as: 'name' end end class BackendServiceFailoverPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :disable_connection_drain_on_failover, as: 'disableConnectionDrainOnFailover' property :drop_traffic_if_unhealthy, as: 'dropTrafficIfUnhealthy' property :failover_ratio, as: 'failoverRatio' end end class BackendServiceGroupHealth # @private class Representation < Google::Apis::Core::JsonRepresentation hash :annotations, as: 'annotations' collection :health_status, as: 'healthStatus', class: Google::Apis::ComputeV1::HealthStatus, decorator: Google::Apis::ComputeV1::HealthStatus::Representation property :kind, as: 'kind' end end class BackendServiceHaPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :fast_ip_move, as: 'fastIPMove' property :leader, as: 'leader', class: Google::Apis::ComputeV1::BackendServiceHaPolicyLeader, decorator: Google::Apis::ComputeV1::BackendServiceHaPolicyLeader::Representation end end class BackendServiceHaPolicyLeader # @private class Representation < Google::Apis::Core::JsonRepresentation property :backend_group, as: 'backendGroup' property :network_endpoint, as: 'networkEndpoint', class: Google::Apis::ComputeV1::BackendServiceHaPolicyLeaderNetworkEndpoint, decorator: Google::Apis::ComputeV1::BackendServiceHaPolicyLeaderNetworkEndpoint::Representation end end class BackendServiceHaPolicyLeaderNetworkEndpoint # @private class Representation < Google::Apis::Core::JsonRepresentation property :instance, as: 'instance' end end class BackendServiceHttpCookie # @private class Representation < Google::Apis::Core::JsonRepresentation property :name, as: 'name' property :path, as: 'path' property :ttl, as: 'ttl', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation end end class BackendServiceIap # @private class Representation < Google::Apis::Core::JsonRepresentation property :enabled, as: 'enabled' property :oauth2_client_id, as: 'oauth2ClientId' property :oauth2_client_secret, as: 'oauth2ClientSecret' property :oauth2_client_secret_sha256, as: 'oauth2ClientSecretSha256' end end class BackendServiceList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::BackendService, decorator: Google::Apis::ComputeV1::BackendService::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::BackendServiceList::Warning, decorator: Google::Apis::ComputeV1::BackendServiceList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::BackendServiceList::Warning::Datum, decorator: Google::Apis::ComputeV1::BackendServiceList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class BackendServiceListUsable # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::BackendService, decorator: Google::Apis::ComputeV1::BackendService::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::BackendServiceListUsable::Warning, decorator: Google::Apis::ComputeV1::BackendServiceListUsable::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::BackendServiceListUsable::Warning::Datum, decorator: Google::Apis::ComputeV1::BackendServiceListUsable::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class BackendServiceLocalityLoadBalancingPolicyConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :custom_policy, as: 'customPolicy', class: Google::Apis::ComputeV1::BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy, decorator: Google::Apis::ComputeV1::BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy::Representation property :policy, as: 'policy', class: Google::Apis::ComputeV1::BackendServiceLocalityLoadBalancingPolicyConfigPolicy, decorator: Google::Apis::ComputeV1::BackendServiceLocalityLoadBalancingPolicyConfigPolicy::Representation end end class BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :data, as: 'data' property :name, as: 'name' end end class BackendServiceLocalityLoadBalancingPolicyConfigPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :name, as: 'name' end end class BackendServiceLogConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :enable, as: 'enable' collection :optional_fields, as: 'optionalFields' property :optional_mode, as: 'optionalMode' property :sample_rate, as: 'sampleRate' end end class BackendServiceNetworkPassThroughLbTrafficPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :zonal_affinity, as: 'zonalAffinity', class: Google::Apis::ComputeV1::BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity, decorator: Google::Apis::ComputeV1::BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity::Representation end end class BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity # @private class Representation < Google::Apis::Core::JsonRepresentation property :spillover, as: 'spillover' property :spillover_ratio, as: 'spilloverRatio' end end class BackendServiceParams # @private class Representation < Google::Apis::Core::JsonRepresentation hash :resource_manager_tags, as: 'resourceManagerTags' end end class BackendServiceReference # @private class Representation < Google::Apis::Core::JsonRepresentation property :backend_service, as: 'backendService' end end class BackendServiceTlsSettings # @private class Representation < Google::Apis::Core::JsonRepresentation property :authentication_config, as: 'authenticationConfig' property :sni, as: 'sni' collection :subject_alt_names, as: 'subjectAltNames', class: Google::Apis::ComputeV1::BackendServiceTlsSettingsSubjectAltName, decorator: Google::Apis::ComputeV1::BackendServiceTlsSettingsSubjectAltName::Representation end end class BackendServiceTlsSettingsSubjectAltName # @private class Representation < Google::Apis::Core::JsonRepresentation property :dns_name, as: 'dnsName' property :uniform_resource_identifier, as: 'uniformResourceIdentifier' end end class BackendServiceUsedBy # @private class Representation < Google::Apis::Core::JsonRepresentation property :reference, as: 'reference' end end class BackendServicesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :backend_services, as: 'backendServices', class: Google::Apis::ComputeV1::BackendService, decorator: Google::Apis::ComputeV1::BackendService::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::BackendServicesScopedList::Warning, decorator: Google::Apis::ComputeV1::BackendServicesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::BackendServicesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::BackendServicesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class BfdPacket # @private class Representation < Google::Apis::Core::JsonRepresentation property :authentication_present, as: 'authenticationPresent' property :control_plane_independent, as: 'controlPlaneIndependent' property :demand, as: 'demand' property :diagnostic, as: 'diagnostic' property :final, as: 'final' property :length, as: 'length' property :min_echo_rx_interval_ms, as: 'minEchoRxIntervalMs' property :min_rx_interval_ms, as: 'minRxIntervalMs' property :min_tx_interval_ms, as: 'minTxIntervalMs' property :multiplier, as: 'multiplier' property :multipoint, as: 'multipoint' property :my_discriminator, as: 'myDiscriminator' property :poll, as: 'poll' property :state, as: 'state' property :version, as: 'version' property :your_discriminator, as: 'yourDiscriminator' end end class BfdStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :bfd_session_initialization_mode, as: 'bfdSessionInitializationMode' property :config_update_timestamp_micros, :numeric_string => true, as: 'configUpdateTimestampMicros' property :control_packet_counts, as: 'controlPacketCounts', class: Google::Apis::ComputeV1::BfdStatusPacketCounts, decorator: Google::Apis::ComputeV1::BfdStatusPacketCounts::Representation collection :control_packet_intervals, as: 'controlPacketIntervals', class: Google::Apis::ComputeV1::PacketIntervals, decorator: Google::Apis::ComputeV1::PacketIntervals::Representation property :local_diagnostic, as: 'localDiagnostic' property :local_state, as: 'localState' property :negotiated_local_control_tx_interval_ms, as: 'negotiatedLocalControlTxIntervalMs' property :rx_packet, as: 'rxPacket', class: Google::Apis::ComputeV1::BfdPacket, decorator: Google::Apis::ComputeV1::BfdPacket::Representation property :tx_packet, as: 'txPacket', class: Google::Apis::ComputeV1::BfdPacket, decorator: Google::Apis::ComputeV1::BfdPacket::Representation property :uptime_ms, :numeric_string => true, as: 'uptimeMs' end end class BfdStatusPacketCounts # @private class Representation < Google::Apis::Core::JsonRepresentation property :num_rx, as: 'numRx' property :num_rx_rejected, as: 'numRxRejected' property :num_rx_successful, as: 'numRxSuccessful' property :num_tx, as: 'numTx' end end class BgpRoute # @private class Representation < Google::Apis::Core::JsonRepresentation collection :as_paths, as: 'asPaths', class: Google::Apis::ComputeV1::BgpRouteAsPath, decorator: Google::Apis::ComputeV1::BgpRouteAsPath::Representation collection :communities, as: 'communities' property :destination, as: 'destination', class: Google::Apis::ComputeV1::BgpRouteNetworkLayerReachabilityInformation, decorator: Google::Apis::ComputeV1::BgpRouteNetworkLayerReachabilityInformation::Representation property :med, as: 'med' property :origin, as: 'origin' end end class BgpRouteAsPath # @private class Representation < Google::Apis::Core::JsonRepresentation collection :asns, as: 'asns' collection :asns32, as: 'asns32' property :type, as: 'type' end end class BgpRouteNetworkLayerReachabilityInformation # @private class Representation < Google::Apis::Core::JsonRepresentation property :path_id, as: 'pathId' property :prefix, as: 'prefix' end end class Binding # @private class Representation < Google::Apis::Core::JsonRepresentation property :condition, as: 'condition', class: Google::Apis::ComputeV1::Expr, decorator: Google::Apis::ComputeV1::Expr::Representation collection :members, as: 'members' property :role, as: 'role' end end class BulkInsertDiskResource # @private class Representation < Google::Apis::Core::JsonRepresentation property :source_consistency_group_policy, as: 'sourceConsistencyGroupPolicy' end end class BulkInsertInstanceResource # @private class Representation < Google::Apis::Core::JsonRepresentation property :count, :numeric_string => true, as: 'count' property :instance_flexibility_policy, as: 'instanceFlexibilityPolicy', class: Google::Apis::ComputeV1::InstanceFlexibilityPolicy, decorator: Google::Apis::ComputeV1::InstanceFlexibilityPolicy::Representation property :instance_properties, as: 'instanceProperties', class: Google::Apis::ComputeV1::InstanceProperties, decorator: Google::Apis::ComputeV1::InstanceProperties::Representation property :location_policy, as: 'locationPolicy', class: Google::Apis::ComputeV1::LocationPolicy, decorator: Google::Apis::ComputeV1::LocationPolicy::Representation property :min_count, :numeric_string => true, as: 'minCount' property :name_pattern, as: 'namePattern' hash :per_instance_properties, as: 'perInstanceProperties', class: Google::Apis::ComputeV1::BulkInsertInstanceResourcePerInstanceProperties, decorator: Google::Apis::ComputeV1::BulkInsertInstanceResourcePerInstanceProperties::Representation property :source_instance_template, as: 'sourceInstanceTemplate' end end class BulkInsertInstanceResourcePerInstanceProperties # @private class Representation < Google::Apis::Core::JsonRepresentation property :hostname, as: 'hostname' property :name, as: 'name' end end class BulkInsertOperationStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :created_vm_count, as: 'createdVmCount' property :deleted_vm_count, as: 'deletedVmCount' property :failed_to_create_vm_count, as: 'failedToCreateVmCount' property :status, as: 'status' property :target_vm_count, as: 'targetVmCount' end end class BulkSetLabelsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' end end class BulkZoneSetLabelsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :requests, as: 'requests', class: Google::Apis::ComputeV1::BulkSetLabelsRequest, decorator: Google::Apis::ComputeV1::BulkSetLabelsRequest::Representation end end class BundledLocalSsds # @private class Representation < Google::Apis::Core::JsonRepresentation property :default_interface, as: 'defaultInterface' property :partition_count, as: 'partitionCount' end end class CacheInvalidationRule # @private class Representation < Google::Apis::Core::JsonRepresentation collection :cache_tags, as: 'cacheTags' property :host, as: 'host' property :path, as: 'path' end end class CacheKeyPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :include_host, as: 'includeHost' collection :include_http_headers, as: 'includeHttpHeaders' collection :include_named_cookies, as: 'includeNamedCookies' property :include_protocol, as: 'includeProtocol' property :include_query_string, as: 'includeQueryString' collection :query_string_blacklist, as: 'queryStringBlacklist' collection :query_string_whitelist, as: 'queryStringWhitelist' end end class CalendarModeAdviceRequest # @private class Representation < Google::Apis::Core::JsonRepresentation hash :future_resources_specs, as: 'futureResourcesSpecs', class: Google::Apis::ComputeV1::FutureResourcesSpec, decorator: Google::Apis::ComputeV1::FutureResourcesSpec::Representation end end class CalendarModeAdviceResponse # @private class Representation < Google::Apis::Core::JsonRepresentation collection :recommendations, as: 'recommendations', class: Google::Apis::ComputeV1::CalendarModeRecommendation, decorator: Google::Apis::ComputeV1::CalendarModeRecommendation::Representation end end class CalendarModeRecommendation # @private class Representation < Google::Apis::Core::JsonRepresentation hash :recommendations_per_spec, as: 'recommendationsPerSpec', class: Google::Apis::ComputeV1::FutureResourcesRecommendation, decorator: Google::Apis::ComputeV1::FutureResourcesRecommendation::Representation end end class CircuitBreakers # @private class Representation < Google::Apis::Core::JsonRepresentation property :max_connections, as: 'maxConnections' property :max_pending_requests, as: 'maxPendingRequests' property :max_requests, as: 'maxRequests' property :max_requests_per_connection, as: 'maxRequestsPerConnection' property :max_retries, as: 'maxRetries' end end class Commitment # @private class Representation < Google::Apis::Core::JsonRepresentation property :auto_renew, as: 'autoRenew' property :category, as: 'category' property :creation_timestamp, as: 'creationTimestamp' property :custom_end_timestamp, as: 'customEndTimestamp' property :description, as: 'description' property :end_timestamp, as: 'endTimestamp' collection :existing_reservations, as: 'existingReservations' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :license_resource, as: 'licenseResource', class: Google::Apis::ComputeV1::LicenseResourceCommitment, decorator: Google::Apis::ComputeV1::LicenseResourceCommitment::Representation collection :merge_source_commitments, as: 'mergeSourceCommitments' property :name, as: 'name' property :plan, as: 'plan' property :region, as: 'region' collection :reservations, as: 'reservations', class: Google::Apis::ComputeV1::Reservation, decorator: Google::Apis::ComputeV1::Reservation::Representation property :resource_status, as: 'resourceStatus', class: Google::Apis::ComputeV1::CommitmentResourceStatus, decorator: Google::Apis::ComputeV1::CommitmentResourceStatus::Representation collection :resources, as: 'resources', class: Google::Apis::ComputeV1::ResourceCommitment, decorator: Google::Apis::ComputeV1::ResourceCommitment::Representation property :self_link, as: 'selfLink' property :split_source_commitment, as: 'splitSourceCommitment' property :start_timestamp, as: 'startTimestamp' property :status, as: 'status' property :status_message, as: 'statusMessage' property :type, as: 'type' end end class CommitmentAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::CommitmentsScopedList, decorator: Google::Apis::ComputeV1::CommitmentsScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::CommitmentAggregatedList::Warning, decorator: Google::Apis::ComputeV1::CommitmentAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::CommitmentAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::CommitmentAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class CommitmentList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Commitment, decorator: Google::Apis::ComputeV1::Commitment::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::CommitmentList::Warning, decorator: Google::Apis::ComputeV1::CommitmentList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::CommitmentList::Warning::Datum, decorator: Google::Apis::ComputeV1::CommitmentList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class CommitmentResourceStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :custom_term_eligibility_end_timestamp, as: 'customTermEligibilityEndTimestamp' end end class CommitmentsScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :commitments, as: 'commitments', class: Google::Apis::ComputeV1::Commitment, decorator: Google::Apis::ComputeV1::Commitment::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::CommitmentsScopedList::Warning, decorator: Google::Apis::ComputeV1::CommitmentsScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::CommitmentsScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::CommitmentsScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ConfidentialInstanceConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :confidential_instance_type, as: 'confidentialInstanceType' property :enable_confidential_compute, as: 'enableConfidentialCompute' end end class ConnectionDraining # @private class Representation < Google::Apis::Core::JsonRepresentation property :draining_timeout_sec, as: 'drainingTimeoutSec' end end class ConsistentHashLoadBalancerSettings # @private class Representation < Google::Apis::Core::JsonRepresentation property :http_cookie, as: 'httpCookie', class: Google::Apis::ComputeV1::ConsistentHashLoadBalancerSettingsHttpCookie, decorator: Google::Apis::ComputeV1::ConsistentHashLoadBalancerSettingsHttpCookie::Representation property :http_header_name, as: 'httpHeaderName' property :minimum_ring_size, :numeric_string => true, as: 'minimumRingSize' end end class ConsistentHashLoadBalancerSettingsHttpCookie # @private class Representation < Google::Apis::Core::JsonRepresentation property :name, as: 'name' property :path, as: 'path' property :ttl, as: 'ttl', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation end end class CorsPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :allow_credentials, as: 'allowCredentials' collection :allow_headers, as: 'allowHeaders' collection :allow_methods, as: 'allowMethods' collection :allow_origin_regexes, as: 'allowOriginRegexes' collection :allow_origins, as: 'allowOrigins' property :disabled, as: 'disabled' collection :expose_headers, as: 'exposeHeaders' property :max_age, as: 'maxAge' end end class CrossSiteNetwork # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :self_link, as: 'selfLink' end end class CrossSiteNetworkList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::CrossSiteNetwork, decorator: Google::Apis::ComputeV1::CrossSiteNetwork::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::CrossSiteNetworkList::Warning, decorator: Google::Apis::ComputeV1::CrossSiteNetworkList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::CrossSiteNetworkList::Warning::Datum, decorator: Google::Apis::ComputeV1::CrossSiteNetworkList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class CustomErrorResponsePolicy # @private class Representation < Google::Apis::Core::JsonRepresentation collection :error_response_rules, as: 'errorResponseRules', class: Google::Apis::ComputeV1::CustomErrorResponsePolicyCustomErrorResponseRule, decorator: Google::Apis::ComputeV1::CustomErrorResponsePolicyCustomErrorResponseRule::Representation property :error_service, as: 'errorService' end end class CustomErrorResponsePolicyCustomErrorResponseRule # @private class Representation < Google::Apis::Core::JsonRepresentation collection :match_response_codes, as: 'matchResponseCodes' property :override_response_code, as: 'overrideResponseCode' property :path, as: 'path' end end class CustomerEncryptionKey # @private class Representation < Google::Apis::Core::JsonRepresentation property :kms_key_name, as: 'kmsKeyName' property :kms_key_service_account, as: 'kmsKeyServiceAccount' property :raw_key, as: 'rawKey' property :rsa_encrypted_key, as: 'rsaEncryptedKey' property :sha256, as: 'sha256' end end class CustomerEncryptionKeyProtectedDisk # @private class Representation < Google::Apis::Core::JsonRepresentation property :disk_encryption_key, as: 'diskEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :source, as: 'source' end end class Date # @private class Representation < Google::Apis::Core::JsonRepresentation property :day, as: 'day' property :month, as: 'month' property :year, as: 'year' end end class DeprecationStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :deleted, as: 'deleted' property :deprecated, as: 'deprecated' property :obsolete, as: 'obsolete' property :replacement, as: 'replacement' property :state, as: 'state' end end class Disk # @private class Representation < Google::Apis::Core::JsonRepresentation property :access_mode, as: 'accessMode' property :architecture, as: 'architecture' property :async_primary_disk, as: 'asyncPrimaryDisk', class: Google::Apis::ComputeV1::DiskAsyncReplication, decorator: Google::Apis::ComputeV1::DiskAsyncReplication::Representation hash :async_secondary_disks, as: 'asyncSecondaryDisks', class: Google::Apis::ComputeV1::DiskAsyncReplicationList, decorator: Google::Apis::ComputeV1::DiskAsyncReplicationList::Representation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :disk_encryption_key, as: 'diskEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :enable_confidential_compute, as: 'enableConfidentialCompute' collection :guest_os_features, as: 'guestOsFeatures', class: Google::Apis::ComputeV1::GuestOsFeature, decorator: Google::Apis::ComputeV1::GuestOsFeature::Representation property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' property :last_attach_timestamp, as: 'lastAttachTimestamp' property :last_detach_timestamp, as: 'lastDetachTimestamp' collection :license_codes, as: 'licenseCodes' collection :licenses, as: 'licenses' property :location_hint, as: 'locationHint' property :name, as: 'name' property :options, as: 'options' property :params, as: 'params', class: Google::Apis::ComputeV1::DiskParams, decorator: Google::Apis::ComputeV1::DiskParams::Representation property :physical_block_size_bytes, :numeric_string => true, as: 'physicalBlockSizeBytes' property :provisioned_iops, :numeric_string => true, as: 'provisionedIops' property :provisioned_throughput, :numeric_string => true, as: 'provisionedThroughput' property :region, as: 'region' collection :replica_zones, as: 'replicaZones' collection :resource_policies, as: 'resourcePolicies' property :resource_status, as: 'resourceStatus', class: Google::Apis::ComputeV1::DiskResourceStatus, decorator: Google::Apis::ComputeV1::DiskResourceStatus::Representation property :satisfies_pzi, as: 'satisfiesPzi' property :satisfies_pzs, as: 'satisfiesPzs' property :self_link, as: 'selfLink' property :size_gb, :numeric_string => true, as: 'sizeGb' property :source_consistency_group_policy, as: 'sourceConsistencyGroupPolicy' property :source_consistency_group_policy_id, as: 'sourceConsistencyGroupPolicyId' property :source_disk, as: 'sourceDisk' property :source_disk_id, as: 'sourceDiskId' property :source_image, as: 'sourceImage' property :source_image_encryption_key, as: 'sourceImageEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :source_image_id, as: 'sourceImageId' property :source_instant_snapshot, as: 'sourceInstantSnapshot' property :source_instant_snapshot_id, as: 'sourceInstantSnapshotId' property :source_snapshot, as: 'sourceSnapshot' property :source_snapshot_encryption_key, as: 'sourceSnapshotEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :source_snapshot_id, as: 'sourceSnapshotId' property :source_storage_object, as: 'sourceStorageObject' property :status, as: 'status' property :storage_pool, as: 'storagePool' property :type, as: 'type' collection :users, as: 'users' property :zone, as: 'zone' end end class DiskAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::DisksScopedList, decorator: Google::Apis::ComputeV1::DisksScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::DiskAggregatedList::Warning, decorator: Google::Apis::ComputeV1::DiskAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::DiskAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::DiskAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class DiskAsyncReplication # @private class Representation < Google::Apis::Core::JsonRepresentation property :consistency_group_policy, as: 'consistencyGroupPolicy' property :consistency_group_policy_id, as: 'consistencyGroupPolicyId' property :disk, as: 'disk' property :disk_id, as: 'diskId' end end class DiskAsyncReplicationList # @private class Representation < Google::Apis::Core::JsonRepresentation property :async_replication_disk, as: 'asyncReplicationDisk', class: Google::Apis::ComputeV1::DiskAsyncReplication, decorator: Google::Apis::ComputeV1::DiskAsyncReplication::Representation end end class DiskInstantiationConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :auto_delete, as: 'autoDelete' property :custom_image, as: 'customImage' property :device_name, as: 'deviceName' property :instantiate_from, as: 'instantiateFrom' end end class DiskList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Disk, decorator: Google::Apis::ComputeV1::Disk::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::DiskList::Warning, decorator: Google::Apis::ComputeV1::DiskList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::DiskList::Warning::Datum, decorator: Google::Apis::ComputeV1::DiskList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class MoveDiskRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :destination_zone, as: 'destinationZone' property :target_disk, as: 'targetDisk' end end class DiskParams # @private class Representation < Google::Apis::Core::JsonRepresentation hash :resource_manager_tags, as: 'resourceManagerTags' end end class DiskResourceStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :async_primary_disk, as: 'asyncPrimaryDisk', class: Google::Apis::ComputeV1::DiskResourceStatusAsyncReplicationStatus, decorator: Google::Apis::ComputeV1::DiskResourceStatusAsyncReplicationStatus::Representation hash :async_secondary_disks, as: 'asyncSecondaryDisks', class: Google::Apis::ComputeV1::DiskResourceStatusAsyncReplicationStatus, decorator: Google::Apis::ComputeV1::DiskResourceStatusAsyncReplicationStatus::Representation end end class DiskResourceStatusAsyncReplicationStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :state, as: 'state' end end class DiskType # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :default_disk_size_gb, :numeric_string => true, as: 'defaultDiskSizeGb' property :deprecated, as: 'deprecated', class: Google::Apis::ComputeV1::DeprecationStatus, decorator: Google::Apis::ComputeV1::DeprecationStatus::Representation property :description, as: 'description' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :region, as: 'region' property :self_link, as: 'selfLink' property :valid_disk_size, as: 'validDiskSize' property :zone, as: 'zone' end end class DiskTypeAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::DiskTypesScopedList, decorator: Google::Apis::ComputeV1::DiskTypesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::DiskTypeAggregatedList::Warning, decorator: Google::Apis::ComputeV1::DiskTypeAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::DiskTypeAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::DiskTypeAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class DiskTypeList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::DiskType, decorator: Google::Apis::ComputeV1::DiskType::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::DiskTypeList::Warning, decorator: Google::Apis::ComputeV1::DiskTypeList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::DiskTypeList::Warning::Datum, decorator: Google::Apis::ComputeV1::DiskTypeList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class DiskTypesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :disk_types, as: 'diskTypes', class: Google::Apis::ComputeV1::DiskType, decorator: Google::Apis::ComputeV1::DiskType::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::DiskTypesScopedList::Warning, decorator: Google::Apis::ComputeV1::DiskTypesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::DiskTypesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::DiskTypesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class DisksAddResourcePoliciesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :resource_policies, as: 'resourcePolicies' end end class DisksRemoveResourcePoliciesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :resource_policies, as: 'resourcePolicies' end end class DisksResizeRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :size_gb, :numeric_string => true, as: 'sizeGb' end end class DisksScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :disks, as: 'disks', class: Google::Apis::ComputeV1::Disk, decorator: Google::Apis::ComputeV1::Disk::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::DisksScopedList::Warning, decorator: Google::Apis::ComputeV1::DisksScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::DisksScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::DisksScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class DisksStartAsyncReplicationRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :async_secondary_disk, as: 'asyncSecondaryDisk' end end class DisksStopGroupAsyncReplicationResource # @private class Representation < Google::Apis::Core::JsonRepresentation property :resource_policy, as: 'resourcePolicy' end end class DisplayDevice # @private class Representation < Google::Apis::Core::JsonRepresentation property :enable_display, as: 'enableDisplay' end end class DistributionPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :target_shape, as: 'targetShape' collection :zones, as: 'zones', class: Google::Apis::ComputeV1::DistributionPolicyZoneConfiguration, decorator: Google::Apis::ComputeV1::DistributionPolicyZoneConfiguration::Representation end end class DistributionPolicyZoneConfiguration # @private class Representation < Google::Apis::Core::JsonRepresentation property :zone, as: 'zone' end end class Duration # @private class Representation < Google::Apis::Core::JsonRepresentation property :nanos, as: 'nanos' property :seconds, :numeric_string => true, as: 'seconds' end end class ErrorInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :domain, as: 'domain' hash :metadatas, as: 'metadatas' property :reason, as: 'reason' end end class ExchangedPeeringRoute # @private class Representation < Google::Apis::Core::JsonRepresentation property :dest_range, as: 'destRange' property :imported, as: 'imported' property :next_hop_region, as: 'nextHopRegion' property :priority, as: 'priority' property :type, as: 'type' end end class ExchangedPeeringRoutesList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::ExchangedPeeringRoute, decorator: Google::Apis::ComputeV1::ExchangedPeeringRoute::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::ExchangedPeeringRoutesList::Warning, decorator: Google::Apis::ComputeV1::ExchangedPeeringRoutesList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ExchangedPeeringRoutesList::Warning::Datum, decorator: Google::Apis::ComputeV1::ExchangedPeeringRoutesList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class Expr # @private class Representation < Google::Apis::Core::JsonRepresentation property :description, as: 'description' property :expression, as: 'expression' property :location, as: 'location' property :title, as: 'title' end end class ExternalVpnGateway # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :id, :numeric_string => true, as: 'id' collection :interfaces, as: 'interfaces', class: Google::Apis::ComputeV1::ExternalVpnGatewayInterface, decorator: Google::Apis::ComputeV1::ExternalVpnGatewayInterface::Representation property :kind, as: 'kind' property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' property :name, as: 'name' property :redundancy_type, as: 'redundancyType' property :self_link, as: 'selfLink' end end class ExternalVpnGatewayInterface # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' property :ip_address, as: 'ipAddress' property :ipv6_address, as: 'ipv6Address' end end class ExternalVpnGatewayList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::ExternalVpnGateway, decorator: Google::Apis::ComputeV1::ExternalVpnGateway::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::ExternalVpnGatewayList::Warning, decorator: Google::Apis::ComputeV1::ExternalVpnGatewayList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ExternalVpnGatewayList::Warning::Datum, decorator: Google::Apis::ComputeV1::ExternalVpnGatewayList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class FileContentBuffer # @private class Representation < Google::Apis::Core::JsonRepresentation property :content, :base64 => true, as: 'content' property :file_type, as: 'fileType' end end class Firewall # @private class Representation < Google::Apis::Core::JsonRepresentation collection :allowed, as: 'allowed', class: Google::Apis::ComputeV1::Firewall::Allowed, decorator: Google::Apis::ComputeV1::Firewall::Allowed::Representation property :creation_timestamp, as: 'creationTimestamp' collection :denied, as: 'denied', class: Google::Apis::ComputeV1::Firewall::Denied, decorator: Google::Apis::ComputeV1::Firewall::Denied::Representation property :description, as: 'description' collection :destination_ranges, as: 'destinationRanges' property :direction, as: 'direction' property :disabled, as: 'disabled' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :log_config, as: 'logConfig', class: Google::Apis::ComputeV1::FirewallLogConfig, decorator: Google::Apis::ComputeV1::FirewallLogConfig::Representation property :name, as: 'name' property :network, as: 'network' property :params, as: 'params', class: Google::Apis::ComputeV1::FirewallParams, decorator: Google::Apis::ComputeV1::FirewallParams::Representation property :priority, as: 'priority' property :self_link, as: 'selfLink' collection :source_ranges, as: 'sourceRanges' collection :source_service_accounts, as: 'sourceServiceAccounts' collection :source_tags, as: 'sourceTags' collection :target_service_accounts, as: 'targetServiceAccounts' collection :target_tags, as: 'targetTags' end class Allowed # @private class Representation < Google::Apis::Core::JsonRepresentation property :ip_protocol, as: 'IPProtocol' collection :ports, as: 'ports' end end class Denied # @private class Representation < Google::Apis::Core::JsonRepresentation property :ip_protocol, as: 'IPProtocol' collection :ports, as: 'ports' end end end class FirewallList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Firewall, decorator: Google::Apis::ComputeV1::Firewall::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::FirewallList::Warning, decorator: Google::Apis::ComputeV1::FirewallList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::FirewallList::Warning::Datum, decorator: Google::Apis::ComputeV1::FirewallList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class FirewallLogConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :enable, as: 'enable' property :metadata, as: 'metadata' end end class FirewallParams # @private class Representation < Google::Apis::Core::JsonRepresentation hash :resource_manager_tags, as: 'resourceManagerTags' end end class FirewallPoliciesListAssociationsResponse # @private class Representation < Google::Apis::Core::JsonRepresentation collection :associations, as: 'associations', class: Google::Apis::ComputeV1::FirewallPolicyAssociation, decorator: Google::Apis::ComputeV1::FirewallPolicyAssociation::Representation property :kind, as: 'kind' end end class FirewallPoliciesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :firewall_policies, as: 'firewallPolicies', class: Google::Apis::ComputeV1::FirewallPolicy, decorator: Google::Apis::ComputeV1::FirewallPolicy::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::FirewallPoliciesScopedList::Warning, decorator: Google::Apis::ComputeV1::FirewallPoliciesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::FirewallPoliciesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::FirewallPoliciesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class FirewallPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation collection :associations, as: 'associations', class: Google::Apis::ComputeV1::FirewallPolicyAssociation, decorator: Google::Apis::ComputeV1::FirewallPolicyAssociation::Representation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :display_name, as: 'displayName' property :fingerprint, :base64 => true, as: 'fingerprint' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' collection :packet_mirroring_rules, as: 'packetMirroringRules', class: Google::Apis::ComputeV1::FirewallPolicyRule, decorator: Google::Apis::ComputeV1::FirewallPolicyRule::Representation property :parent, as: 'parent' property :policy_type, as: 'policyType' property :region, as: 'region' property :rule_tuple_count, as: 'ruleTupleCount' collection :rules, as: 'rules', class: Google::Apis::ComputeV1::FirewallPolicyRule, decorator: Google::Apis::ComputeV1::FirewallPolicyRule::Representation property :self_link, as: 'selfLink' property :self_link_with_id, as: 'selfLinkWithId' property :short_name, as: 'shortName' end end class FirewallPolicyAssociation # @private class Representation < Google::Apis::Core::JsonRepresentation property :attachment_target, as: 'attachmentTarget' property :display_name, as: 'displayName' property :firewall_policy_id, as: 'firewallPolicyId' property :name, as: 'name' property :short_name, as: 'shortName' end end class FirewallPolicyList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::FirewallPolicy, decorator: Google::Apis::ComputeV1::FirewallPolicy::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :warning, as: 'warning', class: Google::Apis::ComputeV1::FirewallPolicyList::Warning, decorator: Google::Apis::ComputeV1::FirewallPolicyList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::FirewallPolicyList::Warning::Datum, decorator: Google::Apis::ComputeV1::FirewallPolicyList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class FirewallPolicyRule # @private class Representation < Google::Apis::Core::JsonRepresentation property :action, as: 'action' property :description, as: 'description' property :direction, as: 'direction' property :disabled, as: 'disabled' property :enable_logging, as: 'enableLogging' property :kind, as: 'kind' property :match, as: 'match', class: Google::Apis::ComputeV1::FirewallPolicyRuleMatcher, decorator: Google::Apis::ComputeV1::FirewallPolicyRuleMatcher::Representation property :priority, as: 'priority' property :rule_name, as: 'ruleName' property :rule_tuple_count, as: 'ruleTupleCount' property :security_profile_group, as: 'securityProfileGroup' collection :target_resources, as: 'targetResources' collection :target_secure_tags, as: 'targetSecureTags', class: Google::Apis::ComputeV1::FirewallPolicyRuleSecureTag, decorator: Google::Apis::ComputeV1::FirewallPolicyRuleSecureTag::Representation collection :target_service_accounts, as: 'targetServiceAccounts' property :tls_inspect, as: 'tlsInspect' end end class FirewallPolicyRuleMatcher # @private class Representation < Google::Apis::Core::JsonRepresentation collection :dest_address_groups, as: 'destAddressGroups' collection :dest_fqdns, as: 'destFqdns' collection :dest_ip_ranges, as: 'destIpRanges' property :dest_network_context, as: 'destNetworkContext' property :dest_network_type, as: 'destNetworkType' collection :dest_region_codes, as: 'destRegionCodes' collection :dest_threat_intelligences, as: 'destThreatIntelligences' collection :layer4_configs, as: 'layer4Configs', class: Google::Apis::ComputeV1::FirewallPolicyRuleMatcherLayer4Config, decorator: Google::Apis::ComputeV1::FirewallPolicyRuleMatcherLayer4Config::Representation collection :src_address_groups, as: 'srcAddressGroups' collection :src_fqdns, as: 'srcFqdns' collection :src_ip_ranges, as: 'srcIpRanges' property :src_network_context, as: 'srcNetworkContext' property :src_network_type, as: 'srcNetworkType' collection :src_networks, as: 'srcNetworks' collection :src_region_codes, as: 'srcRegionCodes' collection :src_secure_tags, as: 'srcSecureTags', class: Google::Apis::ComputeV1::FirewallPolicyRuleSecureTag, decorator: Google::Apis::ComputeV1::FirewallPolicyRuleSecureTag::Representation collection :src_threat_intelligences, as: 'srcThreatIntelligences' end end class FirewallPolicyRuleMatcherLayer4Config # @private class Representation < Google::Apis::Core::JsonRepresentation property :ip_protocol, as: 'ipProtocol' collection :ports, as: 'ports' end end class FirewallPolicyRuleSecureTag # @private class Representation < Google::Apis::Core::JsonRepresentation property :name, as: 'name' property :state, as: 'state' end end class FixedOrPercent # @private class Representation < Google::Apis::Core::JsonRepresentation property :calculated, as: 'calculated' property :fixed, as: 'fixed' property :percent, as: 'percent' end end class FlexibleTimeRange # @private class Representation < Google::Apis::Core::JsonRepresentation property :max_duration, as: 'maxDuration' property :min_duration, as: 'minDuration' property :start_time_not_earlier_than, as: 'startTimeNotEarlierThan' property :start_time_not_later_than, as: 'startTimeNotLaterThan' end end class ForwardingRule # @private class Representation < Google::Apis::Core::JsonRepresentation property :ip_address, as: 'IPAddress' property :ip_protocol, as: 'IPProtocol' property :all_ports, as: 'allPorts' property :allow_global_access, as: 'allowGlobalAccess' property :allow_psc_global_access, as: 'allowPscGlobalAccess' property :backend_service, as: 'backendService' property :base_forwarding_rule, as: 'baseForwardingRule' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :external_managed_backend_bucket_migration_state, as: 'externalManagedBackendBucketMigrationState' property :external_managed_backend_bucket_migration_testing_percentage, as: 'externalManagedBackendBucketMigrationTestingPercentage' property :fingerprint, :base64 => true, as: 'fingerprint' property :id, :numeric_string => true, as: 'id' property :ip_collection, as: 'ipCollection' property :ip_version, as: 'ipVersion' property :is_mirroring_collector, as: 'isMirroringCollector' property :kind, as: 'kind' property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' property :load_balancing_scheme, as: 'loadBalancingScheme' collection :metadata_filters, as: 'metadataFilters', class: Google::Apis::ComputeV1::MetadataFilter, decorator: Google::Apis::ComputeV1::MetadataFilter::Representation property :name, as: 'name' property :network, as: 'network' property :network_tier, as: 'networkTier' property :no_automate_dns_zone, as: 'noAutomateDnsZone' property :port_range, as: 'portRange' collection :ports, as: 'ports' property :psc_connection_id, :numeric_string => true, as: 'pscConnectionId' property :psc_connection_status, as: 'pscConnectionStatus' property :region, as: 'region' property :self_link, as: 'selfLink' property :self_link_with_id, as: 'selfLinkWithId' collection :service_directory_registrations, as: 'serviceDirectoryRegistrations', class: Google::Apis::ComputeV1::ForwardingRuleServiceDirectoryRegistration, decorator: Google::Apis::ComputeV1::ForwardingRuleServiceDirectoryRegistration::Representation property :service_label, as: 'serviceLabel' property :service_name, as: 'serviceName' collection :source_ip_ranges, as: 'sourceIpRanges' property :subnetwork, as: 'subnetwork' property :target, as: 'target' end end class ForwardingRuleAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::ForwardingRulesScopedList, decorator: Google::Apis::ComputeV1::ForwardingRulesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::ForwardingRuleAggregatedList::Warning, decorator: Google::Apis::ComputeV1::ForwardingRuleAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ForwardingRuleAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::ForwardingRuleAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ForwardingRuleList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::ForwardingRule, decorator: Google::Apis::ComputeV1::ForwardingRule::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::ForwardingRuleList::Warning, decorator: Google::Apis::ComputeV1::ForwardingRuleList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ForwardingRuleList::Warning::Datum, decorator: Google::Apis::ComputeV1::ForwardingRuleList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ForwardingRuleReference # @private class Representation < Google::Apis::Core::JsonRepresentation property :forwarding_rule, as: 'forwardingRule' end end class ForwardingRuleServiceDirectoryRegistration # @private class Representation < Google::Apis::Core::JsonRepresentation property :namespace, as: 'namespace' property :service, as: 'service' property :service_directory_region, as: 'serviceDirectoryRegion' end end class ForwardingRulesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :forwarding_rules, as: 'forwardingRules', class: Google::Apis::ComputeV1::ForwardingRule, decorator: Google::Apis::ComputeV1::ForwardingRule::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::ForwardingRulesScopedList::Warning, decorator: Google::Apis::ComputeV1::ForwardingRulesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ForwardingRulesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::ForwardingRulesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class FutureReservation # @private class Representation < Google::Apis::Core::JsonRepresentation property :aggregate_reservation, as: 'aggregateReservation', class: Google::Apis::ComputeV1::AllocationAggregateReservation, decorator: Google::Apis::ComputeV1::AllocationAggregateReservation::Representation property :auto_created_reservations_delete_time, as: 'autoCreatedReservationsDeleteTime' property :auto_created_reservations_duration, as: 'autoCreatedReservationsDuration', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation property :auto_delete_auto_created_reservations, as: 'autoDeleteAutoCreatedReservations' property :commitment_info, as: 'commitmentInfo', class: Google::Apis::ComputeV1::FutureReservationCommitmentInfo, decorator: Google::Apis::ComputeV1::FutureReservationCommitmentInfo::Representation property :creation_timestamp, as: 'creationTimestamp' property :deployment_type, as: 'deploymentType' property :description, as: 'description' property :enable_emergent_maintenance, as: 'enableEmergentMaintenance' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :name_prefix, as: 'namePrefix' property :planning_status, as: 'planningStatus' property :reservation_mode, as: 'reservationMode' property :reservation_name, as: 'reservationName' property :scheduling_type, as: 'schedulingType' property :self_link, as: 'selfLink' property :self_link_with_id, as: 'selfLinkWithId' property :share_settings, as: 'shareSettings', class: Google::Apis::ComputeV1::ShareSettings, decorator: Google::Apis::ComputeV1::ShareSettings::Representation property :specific_reservation_required, as: 'specificReservationRequired' property :specific_sku_properties, as: 'specificSkuProperties', class: Google::Apis::ComputeV1::FutureReservationSpecificSkuProperties, decorator: Google::Apis::ComputeV1::FutureReservationSpecificSkuProperties::Representation property :status, as: 'status', class: Google::Apis::ComputeV1::FutureReservationStatus, decorator: Google::Apis::ComputeV1::FutureReservationStatus::Representation property :time_window, as: 'timeWindow', class: Google::Apis::ComputeV1::FutureReservationTimeWindow, decorator: Google::Apis::ComputeV1::FutureReservationTimeWindow::Representation property :zone, as: 'zone' end end class FutureReservationCommitmentInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :commitment_name, as: 'commitmentName' property :commitment_plan, as: 'commitmentPlan' property :previous_commitment_terms, as: 'previousCommitmentTerms' end end class FutureReservationSpecificSkuProperties # @private class Representation < Google::Apis::Core::JsonRepresentation property :instance_properties, as: 'instanceProperties', class: Google::Apis::ComputeV1::AllocationSpecificSkuAllocationReservedInstanceProperties, decorator: Google::Apis::ComputeV1::AllocationSpecificSkuAllocationReservedInstanceProperties::Representation property :source_instance_template, as: 'sourceInstanceTemplate' property :total_count, :numeric_string => true, as: 'totalCount' end end class FutureReservationStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :amendment_status, as: 'amendmentStatus' collection :auto_created_reservations, as: 'autoCreatedReservations' property :existing_matching_usage_info, as: 'existingMatchingUsageInfo', class: Google::Apis::ComputeV1::FutureReservationStatusExistingMatchingUsageInfo, decorator: Google::Apis::ComputeV1::FutureReservationStatusExistingMatchingUsageInfo::Representation property :fulfilled_count, :numeric_string => true, as: 'fulfilledCount' property :last_known_good_state, as: 'lastKnownGoodState', class: Google::Apis::ComputeV1::FutureReservationStatusLastKnownGoodState, decorator: Google::Apis::ComputeV1::FutureReservationStatusLastKnownGoodState::Representation property :lock_time, as: 'lockTime' property :procurement_status, as: 'procurementStatus' property :specific_sku_properties, as: 'specificSkuProperties', class: Google::Apis::ComputeV1::FutureReservationStatusSpecificSkuProperties, decorator: Google::Apis::ComputeV1::FutureReservationStatusSpecificSkuProperties::Representation end end class FutureReservationStatusExistingMatchingUsageInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :count, :numeric_string => true, as: 'count' property :timestamp, as: 'timestamp' end end class FutureReservationStatusLastKnownGoodState # @private class Representation < Google::Apis::Core::JsonRepresentation property :description, as: 'description' property :existing_matching_usage_info, as: 'existingMatchingUsageInfo', class: Google::Apis::ComputeV1::FutureReservationStatusExistingMatchingUsageInfo, decorator: Google::Apis::ComputeV1::FutureReservationStatusExistingMatchingUsageInfo::Representation property :future_reservation_specs, as: 'futureReservationSpecs', class: Google::Apis::ComputeV1::FutureReservationStatusLastKnownGoodStateFutureReservationSpecs, decorator: Google::Apis::ComputeV1::FutureReservationStatusLastKnownGoodStateFutureReservationSpecs::Representation property :lock_time, as: 'lockTime' property :name_prefix, as: 'namePrefix' property :procurement_status, as: 'procurementStatus' end end class FutureReservationStatusLastKnownGoodStateFutureReservationSpecs # @private class Representation < Google::Apis::Core::JsonRepresentation property :share_settings, as: 'shareSettings', class: Google::Apis::ComputeV1::ShareSettings, decorator: Google::Apis::ComputeV1::ShareSettings::Representation property :specific_sku_properties, as: 'specificSkuProperties', class: Google::Apis::ComputeV1::FutureReservationSpecificSkuProperties, decorator: Google::Apis::ComputeV1::FutureReservationSpecificSkuProperties::Representation property :time_window, as: 'timeWindow', class: Google::Apis::ComputeV1::FutureReservationTimeWindow, decorator: Google::Apis::ComputeV1::FutureReservationTimeWindow::Representation end end class FutureReservationStatusSpecificSkuProperties # @private class Representation < Google::Apis::Core::JsonRepresentation property :source_instance_template_id, as: 'sourceInstanceTemplateId' end end class FutureReservationTimeWindow # @private class Representation < Google::Apis::Core::JsonRepresentation property :duration, as: 'duration', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation property :end_time, as: 'endTime' property :start_time, as: 'startTime' end end class FutureReservationsAggregatedListResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::FutureReservationsScopedList, decorator: Google::Apis::ComputeV1::FutureReservationsScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::FutureReservationsAggregatedListResponse::Warning, decorator: Google::Apis::ComputeV1::FutureReservationsAggregatedListResponse::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::FutureReservationsAggregatedListResponse::Warning::Datum, decorator: Google::Apis::ComputeV1::FutureReservationsAggregatedListResponse::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class FutureReservationsListResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::FutureReservation, decorator: Google::Apis::ComputeV1::FutureReservation::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::FutureReservationsListResponse::Warning, decorator: Google::Apis::ComputeV1::FutureReservationsListResponse::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::FutureReservationsListResponse::Warning::Datum, decorator: Google::Apis::ComputeV1::FutureReservationsListResponse::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class FutureReservationsScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :future_reservations, as: 'futureReservations', class: Google::Apis::ComputeV1::FutureReservation, decorator: Google::Apis::ComputeV1::FutureReservation::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::FutureReservationsScopedList::Warning, decorator: Google::Apis::ComputeV1::FutureReservationsScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::FutureReservationsScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::FutureReservationsScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class FutureResourcesRecommendation # @private class Representation < Google::Apis::Core::JsonRepresentation property :end_time, as: 'endTime' property :location, as: 'location' hash :other_locations, as: 'otherLocations', class: Google::Apis::ComputeV1::FutureResourcesRecommendationOtherLocation, decorator: Google::Apis::ComputeV1::FutureResourcesRecommendationOtherLocation::Representation property :recommendation_id, as: 'recommendationId' property :recommendation_type, as: 'recommendationType' property :start_time, as: 'startTime' end end class FutureResourcesRecommendationOtherLocation # @private class Representation < Google::Apis::Core::JsonRepresentation property :details, as: 'details' property :status, as: 'status' end end class FutureResourcesSpec # @private class Representation < Google::Apis::Core::JsonRepresentation property :deployment_type, as: 'deploymentType' property :location_policy, as: 'locationPolicy', class: Google::Apis::ComputeV1::FutureResourcesSpecLocationPolicy, decorator: Google::Apis::ComputeV1::FutureResourcesSpecLocationPolicy::Representation property :target_resources, as: 'targetResources', class: Google::Apis::ComputeV1::FutureResourcesSpecTargetResources, decorator: Google::Apis::ComputeV1::FutureResourcesSpecTargetResources::Representation property :time_range_spec, as: 'timeRangeSpec', class: Google::Apis::ComputeV1::FlexibleTimeRange, decorator: Google::Apis::ComputeV1::FlexibleTimeRange::Representation end end class FutureResourcesSpecAggregateResources # @private class Representation < Google::Apis::Core::JsonRepresentation property :accelerator_count, :numeric_string => true, as: 'acceleratorCount' property :vm_family, as: 'vmFamily' property :workload_type, as: 'workloadType' end end class FutureResourcesSpecLocalSsdPartition # @private class Representation < Google::Apis::Core::JsonRepresentation property :disk_interface, as: 'diskInterface' property :disk_size_gb, :numeric_string => true, as: 'diskSizeGb' end end class FutureResourcesSpecLocationPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation hash :locations, as: 'locations', class: Google::Apis::ComputeV1::FutureResourcesSpecLocationPolicyLocation, decorator: Google::Apis::ComputeV1::FutureResourcesSpecLocationPolicyLocation::Representation end end class FutureResourcesSpecLocationPolicyLocation # @private class Representation < Google::Apis::Core::JsonRepresentation property :preference, as: 'preference' end end class FutureResourcesSpecSpecificSkuResources # @private class Representation < Google::Apis::Core::JsonRepresentation property :instance_count, :numeric_string => true, as: 'instanceCount' collection :local_ssd_partitions, as: 'localSsdPartitions', class: Google::Apis::ComputeV1::FutureResourcesSpecLocalSsdPartition, decorator: Google::Apis::ComputeV1::FutureResourcesSpecLocalSsdPartition::Representation property :machine_type, as: 'machineType' end end class FutureResourcesSpecTargetResources # @private class Representation < Google::Apis::Core::JsonRepresentation property :aggregate_resources, as: 'aggregateResources', class: Google::Apis::ComputeV1::FutureResourcesSpecAggregateResources, decorator: Google::Apis::ComputeV1::FutureResourcesSpecAggregateResources::Representation property :specific_sku_resources, as: 'specificSkuResources', class: Google::Apis::ComputeV1::FutureResourcesSpecSpecificSkuResources, decorator: Google::Apis::ComputeV1::FutureResourcesSpecSpecificSkuResources::Representation end end class GrpcHealthCheck # @private class Representation < Google::Apis::Core::JsonRepresentation property :grpc_service_name, as: 'grpcServiceName' property :port, as: 'port' property :port_name, as: 'portName' property :port_specification, as: 'portSpecification' end end class GrpctlsHealthCheck # @private class Representation < Google::Apis::Core::JsonRepresentation property :grpc_service_name, as: 'grpcServiceName' property :port, as: 'port' property :port_specification, as: 'portSpecification' end end class GlobalAddressesMoveRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :description, as: 'description' property :destination_address, as: 'destinationAddress' end end class GlobalNetworkEndpointGroupsAttachEndpointsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :network_endpoints, as: 'networkEndpoints', class: Google::Apis::ComputeV1::NetworkEndpoint, decorator: Google::Apis::ComputeV1::NetworkEndpoint::Representation end end class GlobalNetworkEndpointGroupsDetachEndpointsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :network_endpoints, as: 'networkEndpoints', class: Google::Apis::ComputeV1::NetworkEndpoint, decorator: Google::Apis::ComputeV1::NetworkEndpoint::Representation end end class GlobalOrganizationSetPolicyRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :bindings, as: 'bindings', class: Google::Apis::ComputeV1::Binding, decorator: Google::Apis::ComputeV1::Binding::Representation property :etag, :base64 => true, as: 'etag' property :policy, as: 'policy', class: Google::Apis::ComputeV1::Policy, decorator: Google::Apis::ComputeV1::Policy::Representation end end class GlobalSetLabelsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' end end class GlobalSetPolicyRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :bindings, as: 'bindings', class: Google::Apis::ComputeV1::Binding, decorator: Google::Apis::ComputeV1::Binding::Representation property :etag, :base64 => true, as: 'etag' property :policy, as: 'policy', class: Google::Apis::ComputeV1::Policy, decorator: Google::Apis::ComputeV1::Policy::Representation end end class GroupMaintenanceInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :instance_maintenance_ongoing_count, as: 'instanceMaintenanceOngoingCount' property :instance_maintenance_pending_count, as: 'instanceMaintenancePendingCount' property :maintenance_ongoing_count, as: 'maintenanceOngoingCount' property :maintenance_pending_count, as: 'maintenancePendingCount' property :scheduling_type, as: 'schedulingType' property :subblock_infra_maintenance_ongoing_count, as: 'subblockInfraMaintenanceOngoingCount' property :subblock_infra_maintenance_pending_count, as: 'subblockInfraMaintenancePendingCount' property :upcoming_group_maintenance, as: 'upcomingGroupMaintenance', class: Google::Apis::ComputeV1::UpcomingMaintenance, decorator: Google::Apis::ComputeV1::UpcomingMaintenance::Representation end end class GuestAttributes # @private class Representation < Google::Apis::Core::JsonRepresentation property :kind, as: 'kind' property :query_path, as: 'queryPath' property :query_value, as: 'queryValue', class: Google::Apis::ComputeV1::GuestAttributesValue, decorator: Google::Apis::ComputeV1::GuestAttributesValue::Representation property :self_link, as: 'selfLink' property :variable_key, as: 'variableKey' property :variable_value, as: 'variableValue' end end class GuestAttributesEntry # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :namespace, as: 'namespace' property :value, as: 'value' end end class GuestAttributesValue # @private class Representation < Google::Apis::Core::JsonRepresentation collection :items, as: 'items', class: Google::Apis::ComputeV1::GuestAttributesEntry, decorator: Google::Apis::ComputeV1::GuestAttributesEntry::Representation end end class GuestOsFeature # @private class Representation < Google::Apis::Core::JsonRepresentation property :type, as: 'type' end end class Http2HealthCheck # @private class Representation < Google::Apis::Core::JsonRepresentation property :host, as: 'host' property :port, as: 'port' property :port_name, as: 'portName' property :port_specification, as: 'portSpecification' property :proxy_header, as: 'proxyHeader' property :request_path, as: 'requestPath' property :response, as: 'response' end end class HttpHealthCheck # @private class Representation < Google::Apis::Core::JsonRepresentation property :host, as: 'host' property :port, as: 'port' property :port_name, as: 'portName' property :port_specification, as: 'portSpecification' property :proxy_header, as: 'proxyHeader' property :request_path, as: 'requestPath' property :response, as: 'response' end end class HttpsHealthCheck # @private class Representation < Google::Apis::Core::JsonRepresentation property :host, as: 'host' property :port, as: 'port' property :port_name, as: 'portName' property :port_specification, as: 'portSpecification' property :proxy_header, as: 'proxyHeader' property :request_path, as: 'requestPath' property :response, as: 'response' end end class HealthCheck # @private class Representation < Google::Apis::Core::JsonRepresentation property :check_interval_sec, as: 'checkIntervalSec' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :grpc_health_check, as: 'grpcHealthCheck', class: Google::Apis::ComputeV1::GrpcHealthCheck, decorator: Google::Apis::ComputeV1::GrpcHealthCheck::Representation property :grpc_tls_health_check, as: 'grpcTlsHealthCheck', class: Google::Apis::ComputeV1::GrpctlsHealthCheck, decorator: Google::Apis::ComputeV1::GrpctlsHealthCheck::Representation property :healthy_threshold, as: 'healthyThreshold' property :http2_health_check, as: 'http2HealthCheck', class: Google::Apis::ComputeV1::Http2HealthCheck, decorator: Google::Apis::ComputeV1::Http2HealthCheck::Representation property :http_health_check, as: 'httpHealthCheck', class: Google::Apis::ComputeV1::HttpHealthCheck, decorator: Google::Apis::ComputeV1::HttpHealthCheck::Representation property :https_health_check, as: 'httpsHealthCheck', class: Google::Apis::ComputeV1::HttpsHealthCheck, decorator: Google::Apis::ComputeV1::HttpsHealthCheck::Representation property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :log_config, as: 'logConfig', class: Google::Apis::ComputeV1::HealthCheckLogConfig, decorator: Google::Apis::ComputeV1::HealthCheckLogConfig::Representation property :name, as: 'name' property :region, as: 'region' property :self_link, as: 'selfLink' collection :source_regions, as: 'sourceRegions' property :ssl_health_check, as: 'sslHealthCheck', class: Google::Apis::ComputeV1::SslHealthCheck, decorator: Google::Apis::ComputeV1::SslHealthCheck::Representation property :tcp_health_check, as: 'tcpHealthCheck', class: Google::Apis::ComputeV1::TcpHealthCheck, decorator: Google::Apis::ComputeV1::TcpHealthCheck::Representation property :timeout_sec, as: 'timeoutSec' property :type, as: 'type' property :unhealthy_threshold, as: 'unhealthyThreshold' end end class HealthCheckList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::HealthCheck, decorator: Google::Apis::ComputeV1::HealthCheck::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::HealthCheckList::Warning, decorator: Google::Apis::ComputeV1::HealthCheckList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::HealthCheckList::Warning::Datum, decorator: Google::Apis::ComputeV1::HealthCheckList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class HealthCheckLogConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :enable, as: 'enable' end end class HealthCheckReference # @private class Representation < Google::Apis::Core::JsonRepresentation property :health_check, as: 'healthCheck' end end class HealthCheckService # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :fingerprint, :base64 => true, as: 'fingerprint' collection :health_checks, as: 'healthChecks' property :health_status_aggregation_policy, as: 'healthStatusAggregationPolicy' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' collection :network_endpoint_groups, as: 'networkEndpointGroups' collection :notification_endpoints, as: 'notificationEndpoints' property :region, as: 'region' property :self_link, as: 'selfLink' end end class HealthCheckServiceReference # @private class Representation < Google::Apis::Core::JsonRepresentation property :health_check_service, as: 'healthCheckService' end end class HealthCheckServicesList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::HealthCheckService, decorator: Google::Apis::ComputeV1::HealthCheckService::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::HealthCheckServicesList::Warning, decorator: Google::Apis::ComputeV1::HealthCheckServicesList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::HealthCheckServicesList::Warning::Datum, decorator: Google::Apis::ComputeV1::HealthCheckServicesList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class HealthChecksAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::HealthChecksScopedList, decorator: Google::Apis::ComputeV1::HealthChecksScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::HealthChecksAggregatedList::Warning, decorator: Google::Apis::ComputeV1::HealthChecksAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::HealthChecksAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::HealthChecksAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class HealthChecksScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :health_checks, as: 'healthChecks', class: Google::Apis::ComputeV1::HealthCheck, decorator: Google::Apis::ComputeV1::HealthCheck::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::HealthChecksScopedList::Warning, decorator: Google::Apis::ComputeV1::HealthChecksScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::HealthChecksScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::HealthChecksScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class HealthStatus # @private class Representation < Google::Apis::Core::JsonRepresentation hash :annotations, as: 'annotations' property :forwarding_rule, as: 'forwardingRule' property :forwarding_rule_ip, as: 'forwardingRuleIp' property :health_state, as: 'healthState' property :instance, as: 'instance' property :ip_address, as: 'ipAddress' property :ipv6_address, as: 'ipv6Address' property :ipv6_health_state, as: 'ipv6HealthState' property :port, as: 'port' property :weight, as: 'weight' property :weight_error, as: 'weightError' end end class HealthStatusForNetworkEndpoint # @private class Representation < Google::Apis::Core::JsonRepresentation property :backend_service, as: 'backendService', class: Google::Apis::ComputeV1::BackendServiceReference, decorator: Google::Apis::ComputeV1::BackendServiceReference::Representation property :forwarding_rule, as: 'forwardingRule', class: Google::Apis::ComputeV1::ForwardingRuleReference, decorator: Google::Apis::ComputeV1::ForwardingRuleReference::Representation property :health_check, as: 'healthCheck', class: Google::Apis::ComputeV1::HealthCheckReference, decorator: Google::Apis::ComputeV1::HealthCheckReference::Representation property :health_check_service, as: 'healthCheckService', class: Google::Apis::ComputeV1::HealthCheckServiceReference, decorator: Google::Apis::ComputeV1::HealthCheckServiceReference::Representation property :health_state, as: 'healthState' property :ipv6_health_state, as: 'ipv6HealthState' end end class Help # @private class Representation < Google::Apis::Core::JsonRepresentation collection :links, as: 'links', class: Google::Apis::ComputeV1::HelpLink, decorator: Google::Apis::ComputeV1::HelpLink::Representation end end class HelpLink # @private class Representation < Google::Apis::Core::JsonRepresentation property :description, as: 'description' property :url, as: 'url' end end class HostRule # @private class Representation < Google::Apis::Core::JsonRepresentation property :description, as: 'description' collection :hosts, as: 'hosts' property :path_matcher, as: 'pathMatcher' end end class HttpFaultAbort # @private class Representation < Google::Apis::Core::JsonRepresentation property :http_status, as: 'httpStatus' property :percentage, as: 'percentage' end end class HttpFaultDelay # @private class Representation < Google::Apis::Core::JsonRepresentation property :fixed_delay, as: 'fixedDelay', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation property :percentage, as: 'percentage' end end class HttpFaultInjection # @private class Representation < Google::Apis::Core::JsonRepresentation property :abort, as: 'abort', class: Google::Apis::ComputeV1::HttpFaultAbort, decorator: Google::Apis::ComputeV1::HttpFaultAbort::Representation property :delay, as: 'delay', class: Google::Apis::ComputeV1::HttpFaultDelay, decorator: Google::Apis::ComputeV1::HttpFaultDelay::Representation end end class HttpHeaderAction # @private class Representation < Google::Apis::Core::JsonRepresentation collection :request_headers_to_add, as: 'requestHeadersToAdd', class: Google::Apis::ComputeV1::HttpHeaderOption, decorator: Google::Apis::ComputeV1::HttpHeaderOption::Representation collection :request_headers_to_remove, as: 'requestHeadersToRemove' collection :response_headers_to_add, as: 'responseHeadersToAdd', class: Google::Apis::ComputeV1::HttpHeaderOption, decorator: Google::Apis::ComputeV1::HttpHeaderOption::Representation collection :response_headers_to_remove, as: 'responseHeadersToRemove' end end class HttpHeaderMatch # @private class Representation < Google::Apis::Core::JsonRepresentation property :exact_match, as: 'exactMatch' property :header_name, as: 'headerName' property :invert_match, as: 'invertMatch' property :prefix_match, as: 'prefixMatch' property :present_match, as: 'presentMatch' property :range_match, as: 'rangeMatch', class: Google::Apis::ComputeV1::Int64RangeMatch, decorator: Google::Apis::ComputeV1::Int64RangeMatch::Representation property :regex_match, as: 'regexMatch' property :suffix_match, as: 'suffixMatch' end end class HttpHeaderOption # @private class Representation < Google::Apis::Core::JsonRepresentation property :header_name, as: 'headerName' property :header_value, as: 'headerValue' property :replace, as: 'replace' end end class HttpHealthCheck # @private class Representation < Google::Apis::Core::JsonRepresentation property :check_interval_sec, as: 'checkIntervalSec' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :healthy_threshold, as: 'healthyThreshold' property :host, as: 'host' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :port, as: 'port' property :request_path, as: 'requestPath' property :self_link, as: 'selfLink' property :timeout_sec, as: 'timeoutSec' property :unhealthy_threshold, as: 'unhealthyThreshold' end end class HttpHealthCheckList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::HttpHealthCheck, decorator: Google::Apis::ComputeV1::HttpHealthCheck::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::HttpHealthCheckList::Warning, decorator: Google::Apis::ComputeV1::HttpHealthCheckList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::HttpHealthCheckList::Warning::Datum, decorator: Google::Apis::ComputeV1::HttpHealthCheckList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class HttpQueryParameterMatch # @private class Representation < Google::Apis::Core::JsonRepresentation property :exact_match, as: 'exactMatch' property :name, as: 'name' property :present_match, as: 'presentMatch' property :regex_match, as: 'regexMatch' end end class HttpRedirectAction # @private class Representation < Google::Apis::Core::JsonRepresentation property :host_redirect, as: 'hostRedirect' property :https_redirect, as: 'httpsRedirect' property :path_redirect, as: 'pathRedirect' property :prefix_redirect, as: 'prefixRedirect' property :redirect_response_code, as: 'redirectResponseCode' property :strip_query, as: 'stripQuery' end end class HttpRetryPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :num_retries, as: 'numRetries' property :per_try_timeout, as: 'perTryTimeout', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation collection :retry_conditions, as: 'retryConditions' end end class HttpRouteAction # @private class Representation < Google::Apis::Core::JsonRepresentation property :cors_policy, as: 'corsPolicy', class: Google::Apis::ComputeV1::CorsPolicy, decorator: Google::Apis::ComputeV1::CorsPolicy::Representation property :fault_injection_policy, as: 'faultInjectionPolicy', class: Google::Apis::ComputeV1::HttpFaultInjection, decorator: Google::Apis::ComputeV1::HttpFaultInjection::Representation property :max_stream_duration, as: 'maxStreamDuration', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation property :request_mirror_policy, as: 'requestMirrorPolicy', class: Google::Apis::ComputeV1::RequestMirrorPolicy, decorator: Google::Apis::ComputeV1::RequestMirrorPolicy::Representation property :retry_policy, as: 'retryPolicy', class: Google::Apis::ComputeV1::HttpRetryPolicy, decorator: Google::Apis::ComputeV1::HttpRetryPolicy::Representation property :timeout, as: 'timeout', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation property :url_rewrite, as: 'urlRewrite', class: Google::Apis::ComputeV1::UrlRewrite, decorator: Google::Apis::ComputeV1::UrlRewrite::Representation collection :weighted_backend_services, as: 'weightedBackendServices', class: Google::Apis::ComputeV1::WeightedBackendService, decorator: Google::Apis::ComputeV1::WeightedBackendService::Representation end end class HttpRouteRule # @private class Representation < Google::Apis::Core::JsonRepresentation property :custom_error_response_policy, as: 'customErrorResponsePolicy', class: Google::Apis::ComputeV1::CustomErrorResponsePolicy, decorator: Google::Apis::ComputeV1::CustomErrorResponsePolicy::Representation property :description, as: 'description' property :header_action, as: 'headerAction', class: Google::Apis::ComputeV1::HttpHeaderAction, decorator: Google::Apis::ComputeV1::HttpHeaderAction::Representation collection :match_rules, as: 'matchRules', class: Google::Apis::ComputeV1::HttpRouteRuleMatch, decorator: Google::Apis::ComputeV1::HttpRouteRuleMatch::Representation property :priority, as: 'priority' property :route_action, as: 'routeAction', class: Google::Apis::ComputeV1::HttpRouteAction, decorator: Google::Apis::ComputeV1::HttpRouteAction::Representation property :service, as: 'service' property :url_redirect, as: 'urlRedirect', class: Google::Apis::ComputeV1::HttpRedirectAction, decorator: Google::Apis::ComputeV1::HttpRedirectAction::Representation end end class HttpRouteRuleMatch # @private class Representation < Google::Apis::Core::JsonRepresentation property :full_path_match, as: 'fullPathMatch' collection :header_matches, as: 'headerMatches', class: Google::Apis::ComputeV1::HttpHeaderMatch, decorator: Google::Apis::ComputeV1::HttpHeaderMatch::Representation property :ignore_case, as: 'ignoreCase' collection :metadata_filters, as: 'metadataFilters', class: Google::Apis::ComputeV1::MetadataFilter, decorator: Google::Apis::ComputeV1::MetadataFilter::Representation property :path_template_match, as: 'pathTemplateMatch' property :prefix_match, as: 'prefixMatch' collection :query_parameter_matches, as: 'queryParameterMatches', class: Google::Apis::ComputeV1::HttpQueryParameterMatch, decorator: Google::Apis::ComputeV1::HttpQueryParameterMatch::Representation property :regex_match, as: 'regexMatch' end end class HttpsHealthCheck # @private class Representation < Google::Apis::Core::JsonRepresentation property :check_interval_sec, as: 'checkIntervalSec' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :healthy_threshold, as: 'healthyThreshold' property :host, as: 'host' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :port, as: 'port' property :request_path, as: 'requestPath' property :self_link, as: 'selfLink' property :timeout_sec, as: 'timeoutSec' property :unhealthy_threshold, as: 'unhealthyThreshold' end end class HttpsHealthCheckList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::HttpsHealthCheck, decorator: Google::Apis::ComputeV1::HttpsHealthCheck::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::HttpsHealthCheckList::Warning, decorator: Google::Apis::ComputeV1::HttpsHealthCheckList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::HttpsHealthCheckList::Warning::Datum, decorator: Google::Apis::ComputeV1::HttpsHealthCheckList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class Image # @private class Representation < Google::Apis::Core::JsonRepresentation property :architecture, as: 'architecture' property :archive_size_bytes, :numeric_string => true, as: 'archiveSizeBytes' property :creation_timestamp, as: 'creationTimestamp' property :deprecated, as: 'deprecated', class: Google::Apis::ComputeV1::DeprecationStatus, decorator: Google::Apis::ComputeV1::DeprecationStatus::Representation property :description, as: 'description' property :disk_size_gb, :numeric_string => true, as: 'diskSizeGb' property :enable_confidential_compute, as: 'enableConfidentialCompute' property :family, as: 'family' collection :guest_os_features, as: 'guestOsFeatures', class: Google::Apis::ComputeV1::GuestOsFeature, decorator: Google::Apis::ComputeV1::GuestOsFeature::Representation property :id, :numeric_string => true, as: 'id' property :image_encryption_key, as: 'imageEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :kind, as: 'kind' property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' collection :license_codes, as: 'licenseCodes' collection :licenses, as: 'licenses' property :name, as: 'name' property :params, as: 'params', class: Google::Apis::ComputeV1::ImageParams, decorator: Google::Apis::ComputeV1::ImageParams::Representation property :raw_disk, as: 'rawDisk', class: Google::Apis::ComputeV1::Image::RawDisk, decorator: Google::Apis::ComputeV1::Image::RawDisk::Representation property :satisfies_pzi, as: 'satisfiesPzi' property :satisfies_pzs, as: 'satisfiesPzs' property :self_link, as: 'selfLink' property :shielded_instance_initial_state, as: 'shieldedInstanceInitialState', class: Google::Apis::ComputeV1::InitialStateConfig, decorator: Google::Apis::ComputeV1::InitialStateConfig::Representation property :source_disk, as: 'sourceDisk' property :source_disk_encryption_key, as: 'sourceDiskEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :source_disk_id, as: 'sourceDiskId' property :source_image, as: 'sourceImage' property :source_image_encryption_key, as: 'sourceImageEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :source_image_id, as: 'sourceImageId' property :source_snapshot, as: 'sourceSnapshot' property :source_snapshot_encryption_key, as: 'sourceSnapshotEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :source_snapshot_id, as: 'sourceSnapshotId' property :source_type, as: 'sourceType' property :status, as: 'status' collection :storage_locations, as: 'storageLocations' end class RawDisk # @private class Representation < Google::Apis::Core::JsonRepresentation property :container_type, as: 'containerType' property :sha1_checksum, as: 'sha1Checksum' property :source, as: 'source' end end end class ImageFamilyView # @private class Representation < Google::Apis::Core::JsonRepresentation property :image, as: 'image', class: Google::Apis::ComputeV1::Image, decorator: Google::Apis::ComputeV1::Image::Representation end end class ImageList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Image, decorator: Google::Apis::ComputeV1::Image::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::ImageList::Warning, decorator: Google::Apis::ComputeV1::ImageList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ImageList::Warning::Datum, decorator: Google::Apis::ComputeV1::ImageList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ImageParams # @private class Representation < Google::Apis::Core::JsonRepresentation hash :resource_manager_tags, as: 'resourceManagerTags' end end class InitialStateConfig # @private class Representation < Google::Apis::Core::JsonRepresentation collection :dbs, as: 'dbs', class: Google::Apis::ComputeV1::FileContentBuffer, decorator: Google::Apis::ComputeV1::FileContentBuffer::Representation collection :dbxs, as: 'dbxs', class: Google::Apis::ComputeV1::FileContentBuffer, decorator: Google::Apis::ComputeV1::FileContentBuffer::Representation collection :keks, as: 'keks', class: Google::Apis::ComputeV1::FileContentBuffer, decorator: Google::Apis::ComputeV1::FileContentBuffer::Representation property :pk, as: 'pk', class: Google::Apis::ComputeV1::FileContentBuffer, decorator: Google::Apis::ComputeV1::FileContentBuffer::Representation end end class Instance # @private class Representation < Google::Apis::Core::JsonRepresentation property :advanced_machine_features, as: 'advancedMachineFeatures', class: Google::Apis::ComputeV1::AdvancedMachineFeatures, decorator: Google::Apis::ComputeV1::AdvancedMachineFeatures::Representation property :can_ip_forward, as: 'canIpForward' property :confidential_instance_config, as: 'confidentialInstanceConfig', class: Google::Apis::ComputeV1::ConfidentialInstanceConfig, decorator: Google::Apis::ComputeV1::ConfidentialInstanceConfig::Representation property :cpu_platform, as: 'cpuPlatform' property :creation_timestamp, as: 'creationTimestamp' property :deletion_protection, as: 'deletionProtection' property :description, as: 'description' collection :disks, as: 'disks', class: Google::Apis::ComputeV1::AttachedDisk, decorator: Google::Apis::ComputeV1::AttachedDisk::Representation property :display_device, as: 'displayDevice', class: Google::Apis::ComputeV1::DisplayDevice, decorator: Google::Apis::ComputeV1::DisplayDevice::Representation property :fingerprint, :base64 => true, as: 'fingerprint' collection :guest_accelerators, as: 'guestAccelerators', class: Google::Apis::ComputeV1::AcceleratorConfig, decorator: Google::Apis::ComputeV1::AcceleratorConfig::Representation property :hostname, as: 'hostname' property :id, :numeric_string => true, as: 'id' property :instance_encryption_key, as: 'instanceEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :key_revocation_action_type, as: 'keyRevocationActionType' property :kind, as: 'kind' property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' property :last_start_timestamp, as: 'lastStartTimestamp' property :last_stop_timestamp, as: 'lastStopTimestamp' property :last_suspended_timestamp, as: 'lastSuspendedTimestamp' property :machine_type, as: 'machineType' property :metadata, as: 'metadata', class: Google::Apis::ComputeV1::Metadata, decorator: Google::Apis::ComputeV1::Metadata::Representation property :min_cpu_platform, as: 'minCpuPlatform' property :name, as: 'name' collection :network_interfaces, as: 'networkInterfaces', class: Google::Apis::ComputeV1::NetworkInterface, decorator: Google::Apis::ComputeV1::NetworkInterface::Representation property :network_performance_config, as: 'networkPerformanceConfig', class: Google::Apis::ComputeV1::NetworkPerformanceConfig, decorator: Google::Apis::ComputeV1::NetworkPerformanceConfig::Representation property :params, as: 'params', class: Google::Apis::ComputeV1::InstanceParams, decorator: Google::Apis::ComputeV1::InstanceParams::Representation property :private_ipv6_google_access, as: 'privateIpv6GoogleAccess' property :reservation_affinity, as: 'reservationAffinity', class: Google::Apis::ComputeV1::ReservationAffinity, decorator: Google::Apis::ComputeV1::ReservationAffinity::Representation collection :resource_policies, as: 'resourcePolicies' property :resource_status, as: 'resourceStatus', class: Google::Apis::ComputeV1::ResourceStatus, decorator: Google::Apis::ComputeV1::ResourceStatus::Representation property :satisfies_pzi, as: 'satisfiesPzi' property :satisfies_pzs, as: 'satisfiesPzs' property :scheduling, as: 'scheduling', class: Google::Apis::ComputeV1::Scheduling, decorator: Google::Apis::ComputeV1::Scheduling::Representation property :self_link, as: 'selfLink' collection :service_accounts, as: 'serviceAccounts', class: Google::Apis::ComputeV1::ServiceAccount, decorator: Google::Apis::ComputeV1::ServiceAccount::Representation property :shielded_instance_config, as: 'shieldedInstanceConfig', class: Google::Apis::ComputeV1::ShieldedInstanceConfig, decorator: Google::Apis::ComputeV1::ShieldedInstanceConfig::Representation property :shielded_instance_integrity_policy, as: 'shieldedInstanceIntegrityPolicy', class: Google::Apis::ComputeV1::ShieldedInstanceIntegrityPolicy, decorator: Google::Apis::ComputeV1::ShieldedInstanceIntegrityPolicy::Representation property :source_machine_image, as: 'sourceMachineImage' property :source_machine_image_encryption_key, as: 'sourceMachineImageEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :start_restricted, as: 'startRestricted' property :status, as: 'status' property :status_message, as: 'statusMessage' property :tags, as: 'tags', class: Google::Apis::ComputeV1::Tags, decorator: Google::Apis::ComputeV1::Tags::Representation property :zone, as: 'zone' end end class InstanceAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::InstancesScopedList, decorator: Google::Apis::ComputeV1::InstancesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstanceAggregatedList::Warning, decorator: Google::Apis::ComputeV1::InstanceAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstanceAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::InstanceAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstanceConsumptionData # @private class Representation < Google::Apis::Core::JsonRepresentation property :consumption_info, as: 'consumptionInfo', class: Google::Apis::ComputeV1::InstanceConsumptionInfo, decorator: Google::Apis::ComputeV1::InstanceConsumptionInfo::Representation property :instance, as: 'instance' end end class InstanceConsumptionInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :guest_cpus, as: 'guestCpus' property :local_ssd_gb, as: 'localSsdGb' property :memory_mb, as: 'memoryMb' property :min_node_cpus, as: 'minNodeCpus' end end class InstanceFlexibilityPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation hash :instance_selections, as: 'instanceSelections', class: Google::Apis::ComputeV1::InstanceFlexibilityPolicyInstanceSelection, decorator: Google::Apis::ComputeV1::InstanceFlexibilityPolicyInstanceSelection::Representation end end class InstanceFlexibilityPolicyInstanceSelection # @private class Representation < Google::Apis::Core::JsonRepresentation collection :disks, as: 'disks', class: Google::Apis::ComputeV1::AttachedDisk, decorator: Google::Apis::ComputeV1::AttachedDisk::Representation collection :machine_types, as: 'machineTypes' property :rank, :numeric_string => true, as: 'rank' end end class InstanceGroup # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :fingerprint, :base64 => true, as: 'fingerprint' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' collection :named_ports, as: 'namedPorts', class: Google::Apis::ComputeV1::NamedPort, decorator: Google::Apis::ComputeV1::NamedPort::Representation property :network, as: 'network' property :region, as: 'region' property :self_link, as: 'selfLink' property :size, as: 'size' property :subnetwork, as: 'subnetwork' property :zone, as: 'zone' end end class InstanceGroupAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::InstanceGroupsScopedList, decorator: Google::Apis::ComputeV1::InstanceGroupsScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstanceGroupAggregatedList::Warning, decorator: Google::Apis::ComputeV1::InstanceGroupAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstanceGroupAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::InstanceGroupAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstanceGroupList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::InstanceGroup, decorator: Google::Apis::ComputeV1::InstanceGroup::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstanceGroupList::Warning, decorator: Google::Apis::ComputeV1::InstanceGroupList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstanceGroupList::Warning::Datum, decorator: Google::Apis::ComputeV1::InstanceGroupList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstanceGroupManager # @private class Representation < Google::Apis::Core::JsonRepresentation property :all_instances_config, as: 'allInstancesConfig', class: Google::Apis::ComputeV1::InstanceGroupManagerAllInstancesConfig, decorator: Google::Apis::ComputeV1::InstanceGroupManagerAllInstancesConfig::Representation collection :auto_healing_policies, as: 'autoHealingPolicies', class: Google::Apis::ComputeV1::InstanceGroupManagerAutoHealingPolicy, decorator: Google::Apis::ComputeV1::InstanceGroupManagerAutoHealingPolicy::Representation property :base_instance_name, as: 'baseInstanceName' property :creation_timestamp, as: 'creationTimestamp' property :current_actions, as: 'currentActions', class: Google::Apis::ComputeV1::InstanceGroupManagerActionsSummary, decorator: Google::Apis::ComputeV1::InstanceGroupManagerActionsSummary::Representation property :description, as: 'description' property :distribution_policy, as: 'distributionPolicy', class: Google::Apis::ComputeV1::DistributionPolicy, decorator: Google::Apis::ComputeV1::DistributionPolicy::Representation property :fingerprint, :base64 => true, as: 'fingerprint' property :id, :numeric_string => true, as: 'id' property :instance_flexibility_policy, as: 'instanceFlexibilityPolicy', class: Google::Apis::ComputeV1::InstanceGroupManagerInstanceFlexibilityPolicy, decorator: Google::Apis::ComputeV1::InstanceGroupManagerInstanceFlexibilityPolicy::Representation property :instance_group, as: 'instanceGroup' property :instance_lifecycle_policy, as: 'instanceLifecyclePolicy', class: Google::Apis::ComputeV1::InstanceGroupManagerInstanceLifecyclePolicy, decorator: Google::Apis::ComputeV1::InstanceGroupManagerInstanceLifecyclePolicy::Representation property :instance_template, as: 'instanceTemplate' property :kind, as: 'kind' property :list_managed_instances_results, as: 'listManagedInstancesResults' property :name, as: 'name' collection :named_ports, as: 'namedPorts', class: Google::Apis::ComputeV1::NamedPort, decorator: Google::Apis::ComputeV1::NamedPort::Representation property :region, as: 'region' property :resource_policies, as: 'resourcePolicies', class: Google::Apis::ComputeV1::InstanceGroupManagerResourcePolicies, decorator: Google::Apis::ComputeV1::InstanceGroupManagerResourcePolicies::Representation property :satisfies_pzi, as: 'satisfiesPzi' property :satisfies_pzs, as: 'satisfiesPzs' property :self_link, as: 'selfLink' property :standby_policy, as: 'standbyPolicy', class: Google::Apis::ComputeV1::InstanceGroupManagerStandbyPolicy, decorator: Google::Apis::ComputeV1::InstanceGroupManagerStandbyPolicy::Representation property :stateful_policy, as: 'statefulPolicy', class: Google::Apis::ComputeV1::StatefulPolicy, decorator: Google::Apis::ComputeV1::StatefulPolicy::Representation property :status, as: 'status', class: Google::Apis::ComputeV1::InstanceGroupManagerStatus, decorator: Google::Apis::ComputeV1::InstanceGroupManagerStatus::Representation collection :target_pools, as: 'targetPools' property :target_size, as: 'targetSize' property :target_stopped_size, as: 'targetStoppedSize' property :target_suspended_size, as: 'targetSuspendedSize' property :update_policy, as: 'updatePolicy', class: Google::Apis::ComputeV1::InstanceGroupManagerUpdatePolicy, decorator: Google::Apis::ComputeV1::InstanceGroupManagerUpdatePolicy::Representation collection :versions, as: 'versions', class: Google::Apis::ComputeV1::InstanceGroupManagerVersion, decorator: Google::Apis::ComputeV1::InstanceGroupManagerVersion::Representation property :zone, as: 'zone' end end class InstanceGroupManagerActionsSummary # @private class Representation < Google::Apis::Core::JsonRepresentation property :abandoning, as: 'abandoning' property :creating, as: 'creating' property :creating_without_retries, as: 'creatingWithoutRetries' property :deleting, as: 'deleting' property :none, as: 'none' property :recreating, as: 'recreating' property :refreshing, as: 'refreshing' property :restarting, as: 'restarting' property :resuming, as: 'resuming' property :starting, as: 'starting' property :stopping, as: 'stopping' property :suspending, as: 'suspending' property :verifying, as: 'verifying' end end class InstanceGroupManagerAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::InstanceGroupManagersScopedList, decorator: Google::Apis::ComputeV1::InstanceGroupManagersScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstanceGroupManagerAggregatedList::Warning, decorator: Google::Apis::ComputeV1::InstanceGroupManagerAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstanceGroupManagerAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::InstanceGroupManagerAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstanceGroupManagerAllInstancesConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :properties, as: 'properties', class: Google::Apis::ComputeV1::InstancePropertiesPatch, decorator: Google::Apis::ComputeV1::InstancePropertiesPatch::Representation end end class InstanceGroupManagerAutoHealingPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :health_check, as: 'healthCheck' property :initial_delay_sec, as: 'initialDelaySec' end end class InstanceGroupManagerInstanceFlexibilityPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation hash :instance_selections, as: 'instanceSelections', class: Google::Apis::ComputeV1::InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection, decorator: Google::Apis::ComputeV1::InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection::Representation end end class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection # @private class Representation < Google::Apis::Core::JsonRepresentation collection :machine_types, as: 'machineTypes' property :rank, as: 'rank' end end class InstanceGroupManagerInstanceLifecyclePolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :default_action_on_failure, as: 'defaultActionOnFailure' property :force_update_on_repair, as: 'forceUpdateOnRepair' end end class InstanceGroupManagerList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::InstanceGroupManager, decorator: Google::Apis::ComputeV1::InstanceGroupManager::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstanceGroupManagerList::Warning, decorator: Google::Apis::ComputeV1::InstanceGroupManagerList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstanceGroupManagerList::Warning::Datum, decorator: Google::Apis::ComputeV1::InstanceGroupManagerList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstanceGroupManagerResizeRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :requested_run_duration, as: 'requestedRunDuration', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation property :resize_by, as: 'resizeBy' property :self_link, as: 'selfLink' property :self_link_with_id, as: 'selfLinkWithId' property :state, as: 'state' property :status, as: 'status', class: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatus, decorator: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatus::Representation property :zone, as: 'zone' end end class InstanceGroupManagerResizeRequestStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :error, as: 'error', class: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatus::Error, decorator: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatus::Error::Representation property :last_attempt, as: 'lastAttempt', class: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatusLastAttempt, decorator: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatusLastAttempt::Representation end class Error # @private class Representation < Google::Apis::Core::JsonRepresentation collection :errors, as: 'errors', class: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatus::Error::Error, decorator: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatus::Error::Error::Representation end class Error # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :error_details, as: 'errorDetails', class: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatus::Error::Error::ErrorDetail, decorator: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatus::Error::Error::ErrorDetail::Representation property :location, as: 'location' property :message, as: 'message' end class ErrorDetail # @private class Representation < Google::Apis::Core::JsonRepresentation property :error_info, as: 'errorInfo', class: Google::Apis::ComputeV1::ErrorInfo, decorator: Google::Apis::ComputeV1::ErrorInfo::Representation property :help, as: 'help', class: Google::Apis::ComputeV1::Help, decorator: Google::Apis::ComputeV1::Help::Representation property :localized_message, as: 'localizedMessage', class: Google::Apis::ComputeV1::LocalizedMessage, decorator: Google::Apis::ComputeV1::LocalizedMessage::Representation property :quota_info, as: 'quotaInfo', class: Google::Apis::ComputeV1::QuotaExceededInfo, decorator: Google::Apis::ComputeV1::QuotaExceededInfo::Representation end end end end end class InstanceGroupManagerResizeRequestStatusLastAttempt # @private class Representation < Google::Apis::Core::JsonRepresentation property :error, as: 'error', class: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatusLastAttempt::Error, decorator: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatusLastAttempt::Error::Representation end class Error # @private class Representation < Google::Apis::Core::JsonRepresentation collection :errors, as: 'errors', class: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatusLastAttempt::Error::Error, decorator: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatusLastAttempt::Error::Error::Representation end class Error # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :error_details, as: 'errorDetails', class: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatusLastAttempt::Error::Error::ErrorDetail, decorator: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatusLastAttempt::Error::Error::ErrorDetail::Representation property :location, as: 'location' property :message, as: 'message' end class ErrorDetail # @private class Representation < Google::Apis::Core::JsonRepresentation property :error_info, as: 'errorInfo', class: Google::Apis::ComputeV1::ErrorInfo, decorator: Google::Apis::ComputeV1::ErrorInfo::Representation property :help, as: 'help', class: Google::Apis::ComputeV1::Help, decorator: Google::Apis::ComputeV1::Help::Representation property :localized_message, as: 'localizedMessage', class: Google::Apis::ComputeV1::LocalizedMessage, decorator: Google::Apis::ComputeV1::LocalizedMessage::Representation property :quota_info, as: 'quotaInfo', class: Google::Apis::ComputeV1::QuotaExceededInfo, decorator: Google::Apis::ComputeV1::QuotaExceededInfo::Representation end end end end end class InstanceGroupManagerResizeRequestsListResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequest, decorator: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequest::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestsListResponse::Warning, decorator: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestsListResponse::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestsListResponse::Warning::Datum, decorator: Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestsListResponse::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstanceGroupManagerResourcePolicies # @private class Representation < Google::Apis::Core::JsonRepresentation property :workload_policy, as: 'workloadPolicy' end end class InstanceGroupManagerStandbyPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :initial_delay_sec, as: 'initialDelaySec' property :mode, as: 'mode' end end class InstanceGroupManagerStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :all_instances_config, as: 'allInstancesConfig', class: Google::Apis::ComputeV1::InstanceGroupManagerStatusAllInstancesConfig, decorator: Google::Apis::ComputeV1::InstanceGroupManagerStatusAllInstancesConfig::Representation property :autoscaler, as: 'autoscaler' property :is_stable, as: 'isStable' property :stateful, as: 'stateful', class: Google::Apis::ComputeV1::InstanceGroupManagerStatusStateful, decorator: Google::Apis::ComputeV1::InstanceGroupManagerStatusStateful::Representation property :version_target, as: 'versionTarget', class: Google::Apis::ComputeV1::InstanceGroupManagerStatusVersionTarget, decorator: Google::Apis::ComputeV1::InstanceGroupManagerStatusVersionTarget::Representation end end class InstanceGroupManagerStatusAllInstancesConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :current_revision, as: 'currentRevision' property :effective, as: 'effective' end end class InstanceGroupManagerStatusStateful # @private class Representation < Google::Apis::Core::JsonRepresentation property :has_stateful_config, as: 'hasStatefulConfig' property :per_instance_configs, as: 'perInstanceConfigs', class: Google::Apis::ComputeV1::InstanceGroupManagerStatusStatefulPerInstanceConfigs, decorator: Google::Apis::ComputeV1::InstanceGroupManagerStatusStatefulPerInstanceConfigs::Representation end end class InstanceGroupManagerStatusStatefulPerInstanceConfigs # @private class Representation < Google::Apis::Core::JsonRepresentation property :all_effective, as: 'allEffective' end end class InstanceGroupManagerStatusVersionTarget # @private class Representation < Google::Apis::Core::JsonRepresentation property :is_reached, as: 'isReached' end end class InstanceGroupManagerUpdatePolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :instance_redistribution_type, as: 'instanceRedistributionType' property :max_surge, as: 'maxSurge', class: Google::Apis::ComputeV1::FixedOrPercent, decorator: Google::Apis::ComputeV1::FixedOrPercent::Representation property :max_unavailable, as: 'maxUnavailable', class: Google::Apis::ComputeV1::FixedOrPercent, decorator: Google::Apis::ComputeV1::FixedOrPercent::Representation property :minimal_action, as: 'minimalAction' property :most_disruptive_allowed_action, as: 'mostDisruptiveAllowedAction' property :replacement_method, as: 'replacementMethod' property :type, as: 'type' end end class InstanceGroupManagerVersion # @private class Representation < Google::Apis::Core::JsonRepresentation property :instance_template, as: 'instanceTemplate' property :name, as: 'name' property :target_size, as: 'targetSize', class: Google::Apis::ComputeV1::FixedOrPercent, decorator: Google::Apis::ComputeV1::FixedOrPercent::Representation end end class InstanceGroupManagersAbandonInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances' end end class InstanceGroupManagersApplyUpdatesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :all_instances, as: 'allInstances' collection :instances, as: 'instances' property :minimal_action, as: 'minimalAction' property :most_disruptive_allowed_action, as: 'mostDisruptiveAllowedAction' end end class InstanceGroupManagersCreateInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances', class: Google::Apis::ComputeV1::PerInstanceConfig, decorator: Google::Apis::ComputeV1::PerInstanceConfig::Representation end end class InstanceGroupManagersDeleteInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances' property :skip_instances_on_validation_error, as: 'skipInstancesOnValidationError' end end class InstanceGroupManagersDeletePerInstanceConfigsReq # @private class Representation < Google::Apis::Core::JsonRepresentation collection :names, as: 'names' end end class InstanceGroupManagersListErrorsResponse # @private class Representation < Google::Apis::Core::JsonRepresentation collection :items, as: 'items', class: Google::Apis::ComputeV1::InstanceManagedByIgmError, decorator: Google::Apis::ComputeV1::InstanceManagedByIgmError::Representation property :next_page_token, as: 'nextPageToken' end end class InstanceGroupManagersListManagedInstancesResponse # @private class Representation < Google::Apis::Core::JsonRepresentation collection :managed_instances, as: 'managedInstances', class: Google::Apis::ComputeV1::ManagedInstance, decorator: Google::Apis::ComputeV1::ManagedInstance::Representation property :next_page_token, as: 'nextPageToken' end end class InstanceGroupManagersListPerInstanceConfigsResp # @private class Representation < Google::Apis::Core::JsonRepresentation collection :items, as: 'items', class: Google::Apis::ComputeV1::PerInstanceConfig, decorator: Google::Apis::ComputeV1::PerInstanceConfig::Representation property :next_page_token, as: 'nextPageToken' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstanceGroupManagersListPerInstanceConfigsResp::Warning, decorator: Google::Apis::ComputeV1::InstanceGroupManagersListPerInstanceConfigsResp::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstanceGroupManagersListPerInstanceConfigsResp::Warning::Datum, decorator: Google::Apis::ComputeV1::InstanceGroupManagersListPerInstanceConfigsResp::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstanceGroupManagersPatchPerInstanceConfigsReq # @private class Representation < Google::Apis::Core::JsonRepresentation collection :per_instance_configs, as: 'perInstanceConfigs', class: Google::Apis::ComputeV1::PerInstanceConfig, decorator: Google::Apis::ComputeV1::PerInstanceConfig::Representation end end class InstanceGroupManagersRecreateInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances' end end class InstanceGroupManagersResumeInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances' end end class InstanceGroupManagersScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instance_group_managers, as: 'instanceGroupManagers', class: Google::Apis::ComputeV1::InstanceGroupManager, decorator: Google::Apis::ComputeV1::InstanceGroupManager::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstanceGroupManagersScopedList::Warning, decorator: Google::Apis::ComputeV1::InstanceGroupManagersScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstanceGroupManagersScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::InstanceGroupManagersScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstanceGroupManagersSetInstanceTemplateRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :instance_template, as: 'instanceTemplate' end end class InstanceGroupManagersSetTargetPoolsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :fingerprint, :base64 => true, as: 'fingerprint' collection :target_pools, as: 'targetPools' end end class InstanceGroupManagersStartInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances' end end class InstanceGroupManagersStopInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :force_stop, as: 'forceStop' collection :instances, as: 'instances' end end class InstanceGroupManagersSuspendInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :force_suspend, as: 'forceSuspend' collection :instances, as: 'instances' end end class InstanceGroupManagersUpdatePerInstanceConfigsReq # @private class Representation < Google::Apis::Core::JsonRepresentation collection :per_instance_configs, as: 'perInstanceConfigs', class: Google::Apis::ComputeV1::PerInstanceConfig, decorator: Google::Apis::ComputeV1::PerInstanceConfig::Representation end end class InstanceGroupsAddInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances', class: Google::Apis::ComputeV1::InstanceReference, decorator: Google::Apis::ComputeV1::InstanceReference::Representation end end class InstanceGroupsListInstances # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::InstanceWithNamedPorts, decorator: Google::Apis::ComputeV1::InstanceWithNamedPorts::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstanceGroupsListInstances::Warning, decorator: Google::Apis::ComputeV1::InstanceGroupsListInstances::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstanceGroupsListInstances::Warning::Datum, decorator: Google::Apis::ComputeV1::InstanceGroupsListInstances::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstanceGroupsListInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :instance_state, as: 'instanceState' end end class InstanceGroupsRemoveInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances', class: Google::Apis::ComputeV1::InstanceReference, decorator: Google::Apis::ComputeV1::InstanceReference::Representation end end class InstanceGroupsScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instance_groups, as: 'instanceGroups', class: Google::Apis::ComputeV1::InstanceGroup, decorator: Google::Apis::ComputeV1::InstanceGroup::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstanceGroupsScopedList::Warning, decorator: Google::Apis::ComputeV1::InstanceGroupsScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstanceGroupsScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::InstanceGroupsScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstanceGroupsSetNamedPortsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :fingerprint, :base64 => true, as: 'fingerprint' collection :named_ports, as: 'namedPorts', class: Google::Apis::ComputeV1::NamedPort, decorator: Google::Apis::ComputeV1::NamedPort::Representation end end class InstanceList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Instance, decorator: Google::Apis::ComputeV1::Instance::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstanceList::Warning, decorator: Google::Apis::ComputeV1::InstanceList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstanceList::Warning::Datum, decorator: Google::Apis::ComputeV1::InstanceList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstanceListReferrers # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Reference, decorator: Google::Apis::ComputeV1::Reference::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstanceListReferrers::Warning, decorator: Google::Apis::ComputeV1::InstanceListReferrers::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstanceListReferrers::Warning::Datum, decorator: Google::Apis::ComputeV1::InstanceListReferrers::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstanceManagedByIgmError # @private class Representation < Google::Apis::Core::JsonRepresentation property :error, as: 'error', class: Google::Apis::ComputeV1::InstanceManagedByIgmErrorManagedInstanceError, decorator: Google::Apis::ComputeV1::InstanceManagedByIgmErrorManagedInstanceError::Representation property :instance_action_details, as: 'instanceActionDetails', class: Google::Apis::ComputeV1::InstanceManagedByIgmErrorInstanceActionDetails, decorator: Google::Apis::ComputeV1::InstanceManagedByIgmErrorInstanceActionDetails::Representation property :timestamp, as: 'timestamp' end end class InstanceManagedByIgmErrorInstanceActionDetails # @private class Representation < Google::Apis::Core::JsonRepresentation property :action, as: 'action' property :instance, as: 'instance' property :version, as: 'version', class: Google::Apis::ComputeV1::ManagedInstanceVersion, decorator: Google::Apis::ComputeV1::ManagedInstanceVersion::Representation end end class InstanceManagedByIgmErrorManagedInstanceError # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' property :message, as: 'message' end end class MoveInstanceRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :destination_zone, as: 'destinationZone' property :target_instance, as: 'targetInstance' end end class InstanceParams # @private class Representation < Google::Apis::Core::JsonRepresentation property :request_valid_for_duration, as: 'requestValidForDuration', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation hash :resource_manager_tags, as: 'resourceManagerTags' end end class InstanceProperties # @private class Representation < Google::Apis::Core::JsonRepresentation property :advanced_machine_features, as: 'advancedMachineFeatures', class: Google::Apis::ComputeV1::AdvancedMachineFeatures, decorator: Google::Apis::ComputeV1::AdvancedMachineFeatures::Representation property :can_ip_forward, as: 'canIpForward' property :confidential_instance_config, as: 'confidentialInstanceConfig', class: Google::Apis::ComputeV1::ConfidentialInstanceConfig, decorator: Google::Apis::ComputeV1::ConfidentialInstanceConfig::Representation property :description, as: 'description' collection :disks, as: 'disks', class: Google::Apis::ComputeV1::AttachedDisk, decorator: Google::Apis::ComputeV1::AttachedDisk::Representation collection :guest_accelerators, as: 'guestAccelerators', class: Google::Apis::ComputeV1::AcceleratorConfig, decorator: Google::Apis::ComputeV1::AcceleratorConfig::Representation property :key_revocation_action_type, as: 'keyRevocationActionType' hash :labels, as: 'labels' property :machine_type, as: 'machineType' property :metadata, as: 'metadata', class: Google::Apis::ComputeV1::Metadata, decorator: Google::Apis::ComputeV1::Metadata::Representation property :min_cpu_platform, as: 'minCpuPlatform' collection :network_interfaces, as: 'networkInterfaces', class: Google::Apis::ComputeV1::NetworkInterface, decorator: Google::Apis::ComputeV1::NetworkInterface::Representation property :network_performance_config, as: 'networkPerformanceConfig', class: Google::Apis::ComputeV1::NetworkPerformanceConfig, decorator: Google::Apis::ComputeV1::NetworkPerformanceConfig::Representation property :private_ipv6_google_access, as: 'privateIpv6GoogleAccess' property :reservation_affinity, as: 'reservationAffinity', class: Google::Apis::ComputeV1::ReservationAffinity, decorator: Google::Apis::ComputeV1::ReservationAffinity::Representation hash :resource_manager_tags, as: 'resourceManagerTags' collection :resource_policies, as: 'resourcePolicies' property :scheduling, as: 'scheduling', class: Google::Apis::ComputeV1::Scheduling, decorator: Google::Apis::ComputeV1::Scheduling::Representation collection :service_accounts, as: 'serviceAccounts', class: Google::Apis::ComputeV1::ServiceAccount, decorator: Google::Apis::ComputeV1::ServiceAccount::Representation property :shielded_instance_config, as: 'shieldedInstanceConfig', class: Google::Apis::ComputeV1::ShieldedInstanceConfig, decorator: Google::Apis::ComputeV1::ShieldedInstanceConfig::Representation property :tags, as: 'tags', class: Google::Apis::ComputeV1::Tags, decorator: Google::Apis::ComputeV1::Tags::Representation end end class InstancePropertiesPatch # @private class Representation < Google::Apis::Core::JsonRepresentation hash :labels, as: 'labels' hash :metadata, as: 'metadata' end end class InstanceReference # @private class Representation < Google::Apis::Core::JsonRepresentation property :instance, as: 'instance' end end class InstanceSettings # @private class Representation < Google::Apis::Core::JsonRepresentation property :fingerprint, :base64 => true, as: 'fingerprint' property :kind, as: 'kind' property :metadata, as: 'metadata', class: Google::Apis::ComputeV1::InstanceSettingsMetadata, decorator: Google::Apis::ComputeV1::InstanceSettingsMetadata::Representation property :zone, as: 'zone' end end class InstanceSettingsMetadata # @private class Representation < Google::Apis::Core::JsonRepresentation hash :items, as: 'items' property :kind, as: 'kind' end end class InstanceTemplate # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :properties, as: 'properties', class: Google::Apis::ComputeV1::InstanceProperties, decorator: Google::Apis::ComputeV1::InstanceProperties::Representation property :region, as: 'region' property :self_link, as: 'selfLink' property :source_instance, as: 'sourceInstance' property :source_instance_params, as: 'sourceInstanceParams', class: Google::Apis::ComputeV1::SourceInstanceParams, decorator: Google::Apis::ComputeV1::SourceInstanceParams::Representation end end class InstanceTemplateAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::InstanceTemplatesScopedList, decorator: Google::Apis::ComputeV1::InstanceTemplatesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstanceTemplateAggregatedList::Warning, decorator: Google::Apis::ComputeV1::InstanceTemplateAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstanceTemplateAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::InstanceTemplateAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstanceTemplateList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::InstanceTemplate, decorator: Google::Apis::ComputeV1::InstanceTemplate::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstanceTemplateList::Warning, decorator: Google::Apis::ComputeV1::InstanceTemplateList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstanceTemplateList::Warning::Datum, decorator: Google::Apis::ComputeV1::InstanceTemplateList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstanceTemplatesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instance_templates, as: 'instanceTemplates', class: Google::Apis::ComputeV1::InstanceTemplate, decorator: Google::Apis::ComputeV1::InstanceTemplate::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstanceTemplatesScopedList::Warning, decorator: Google::Apis::ComputeV1::InstanceTemplatesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstanceTemplatesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::InstanceTemplatesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstanceWithNamedPorts # @private class Representation < Google::Apis::Core::JsonRepresentation property :instance, as: 'instance' collection :named_ports, as: 'namedPorts', class: Google::Apis::ComputeV1::NamedPort, decorator: Google::Apis::ComputeV1::NamedPort::Representation property :status, as: 'status' end end class InstancesAddResourcePoliciesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :resource_policies, as: 'resourcePolicies' end end class InstancesBulkInsertOperationMetadata # @private class Representation < Google::Apis::Core::JsonRepresentation hash :per_location_status, as: 'perLocationStatus', class: Google::Apis::ComputeV1::BulkInsertOperationStatus, decorator: Google::Apis::ComputeV1::BulkInsertOperationStatus::Representation end end class InstancesGetEffectiveFirewallsResponse # @private class Representation < Google::Apis::Core::JsonRepresentation collection :firewall_policys, as: 'firewallPolicys', class: Google::Apis::ComputeV1::InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy, decorator: Google::Apis::ComputeV1::InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy::Representation collection :firewalls, as: 'firewalls', class: Google::Apis::ComputeV1::Firewall, decorator: Google::Apis::ComputeV1::Firewall::Representation end end class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :display_name, as: 'displayName' property :name, as: 'name' collection :packet_mirroring_rules, as: 'packetMirroringRules', class: Google::Apis::ComputeV1::FirewallPolicyRule, decorator: Google::Apis::ComputeV1::FirewallPolicyRule::Representation property :priority, as: 'priority' collection :rules, as: 'rules', class: Google::Apis::ComputeV1::FirewallPolicyRule, decorator: Google::Apis::ComputeV1::FirewallPolicyRule::Representation property :short_name, as: 'shortName' property :type, as: 'type' end end class InstancesRemoveResourcePoliciesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :resource_policies, as: 'resourcePolicies' end end class InstancesReportHostAsFaultyRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :disruption_schedule, as: 'disruptionSchedule' collection :fault_reasons, as: 'faultReasons', class: Google::Apis::ComputeV1::InstancesReportHostAsFaultyRequestFaultReason, decorator: Google::Apis::ComputeV1::InstancesReportHostAsFaultyRequestFaultReason::Representation end end class InstancesReportHostAsFaultyRequestFaultReason # @private class Representation < Google::Apis::Core::JsonRepresentation property :behavior, as: 'behavior' property :description, as: 'description' end end class InstancesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances', class: Google::Apis::ComputeV1::Instance, decorator: Google::Apis::ComputeV1::Instance::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstancesScopedList::Warning, decorator: Google::Apis::ComputeV1::InstancesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstancesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::InstancesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstancesSetLabelsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' end end class InstancesSetMachineResourcesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :guest_accelerators, as: 'guestAccelerators', class: Google::Apis::ComputeV1::AcceleratorConfig, decorator: Google::Apis::ComputeV1::AcceleratorConfig::Representation end end class InstancesSetMachineTypeRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :machine_type, as: 'machineType' end end class InstancesSetMinCpuPlatformRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :min_cpu_platform, as: 'minCpuPlatform' end end class InstancesSetNameRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :current_name, as: 'currentName' property :name, as: 'name' end end class InstancesSetSecurityPolicyRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :network_interfaces, as: 'networkInterfaces' property :security_policy, as: 'securityPolicy' end end class InstancesSetServiceAccountRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :email, as: 'email' collection :scopes, as: 'scopes' end end class InstancesStartWithEncryptionKeyRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :disks, as: 'disks', class: Google::Apis::ComputeV1::CustomerEncryptionKeyProtectedDisk, decorator: Google::Apis::ComputeV1::CustomerEncryptionKeyProtectedDisk::Representation end end class InstantSnapshot # @private class Representation < Google::Apis::Core::JsonRepresentation property :architecture, as: 'architecture' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :disk_size_gb, :numeric_string => true, as: 'diskSizeGb' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' property :name, as: 'name' property :region, as: 'region' property :resource_status, as: 'resourceStatus', class: Google::Apis::ComputeV1::InstantSnapshotResourceStatus, decorator: Google::Apis::ComputeV1::InstantSnapshotResourceStatus::Representation property :satisfies_pzi, as: 'satisfiesPzi' property :satisfies_pzs, as: 'satisfiesPzs' property :self_link, as: 'selfLink' property :self_link_with_id, as: 'selfLinkWithId' property :source_disk, as: 'sourceDisk' property :source_disk_id, as: 'sourceDiskId' property :status, as: 'status' property :zone, as: 'zone' end end class InstantSnapshotAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::InstantSnapshotsScopedList, decorator: Google::Apis::ComputeV1::InstantSnapshotsScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstantSnapshotAggregatedList::Warning, decorator: Google::Apis::ComputeV1::InstantSnapshotAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstantSnapshotAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::InstantSnapshotAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstantSnapshotList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::InstantSnapshot, decorator: Google::Apis::ComputeV1::InstantSnapshot::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstantSnapshotList::Warning, decorator: Google::Apis::ComputeV1::InstantSnapshotList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstantSnapshotList::Warning::Datum, decorator: Google::Apis::ComputeV1::InstantSnapshotList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InstantSnapshotResourceStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :storage_size_bytes, :numeric_string => true, as: 'storageSizeBytes' end end class InstantSnapshotsScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instant_snapshots, as: 'instantSnapshots', class: Google::Apis::ComputeV1::InstantSnapshot, decorator: Google::Apis::ComputeV1::InstantSnapshot::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::InstantSnapshotsScopedList::Warning, decorator: Google::Apis::ComputeV1::InstantSnapshotsScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InstantSnapshotsScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::InstantSnapshotsScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class Int64RangeMatch # @private class Representation < Google::Apis::Core::JsonRepresentation property :range_end, :numeric_string => true, as: 'rangeEnd' property :range_start, :numeric_string => true, as: 'rangeStart' end end class Interconnect # @private class Representation < Google::Apis::Core::JsonRepresentation property :aai_enabled, as: 'aaiEnabled' property :admin_enabled, as: 'adminEnabled' property :application_aware_interconnect, as: 'applicationAwareInterconnect', class: Google::Apis::ComputeV1::InterconnectApplicationAwareInterconnect, decorator: Google::Apis::ComputeV1::InterconnectApplicationAwareInterconnect::Representation collection :available_features, as: 'availableFeatures' collection :circuit_infos, as: 'circuitInfos', class: Google::Apis::ComputeV1::InterconnectCircuitInfo, decorator: Google::Apis::ComputeV1::InterconnectCircuitInfo::Representation property :creation_timestamp, as: 'creationTimestamp' property :customer_name, as: 'customerName' property :description, as: 'description' collection :expected_outages, as: 'expectedOutages', class: Google::Apis::ComputeV1::InterconnectOutageNotification, decorator: Google::Apis::ComputeV1::InterconnectOutageNotification::Representation property :google_ip_address, as: 'googleIpAddress' property :google_reference_id, as: 'googleReferenceId' property :id, :numeric_string => true, as: 'id' collection :interconnect_attachments, as: 'interconnectAttachments' collection :interconnect_groups, as: 'interconnectGroups' property :interconnect_type, as: 'interconnectType' property :kind, as: 'kind' property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' property :link_type, as: 'linkType' property :location, as: 'location' property :macsec, as: 'macsec', class: Google::Apis::ComputeV1::InterconnectMacsec, decorator: Google::Apis::ComputeV1::InterconnectMacsec::Representation property :macsec_enabled, as: 'macsecEnabled' property :name, as: 'name' property :noc_contact_email, as: 'nocContactEmail' property :operational_status, as: 'operationalStatus' property :params, as: 'params', class: Google::Apis::ComputeV1::InterconnectParams, decorator: Google::Apis::ComputeV1::InterconnectParams::Representation property :peer_ip_address, as: 'peerIpAddress' property :provisioned_link_count, as: 'provisionedLinkCount' property :remote_location, as: 'remoteLocation' collection :requested_features, as: 'requestedFeatures' property :requested_link_count, as: 'requestedLinkCount' property :satisfies_pzs, as: 'satisfiesPzs' property :self_link, as: 'selfLink' property :state, as: 'state' property :subzone, as: 'subzone' collection :wire_groups, as: 'wireGroups' end end class InterconnectApplicationAwareInterconnect # @private class Representation < Google::Apis::Core::JsonRepresentation property :bandwidth_percentage_policy, as: 'bandwidthPercentagePolicy', class: Google::Apis::ComputeV1::InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy, decorator: Google::Apis::ComputeV1::InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy::Representation property :profile_description, as: 'profileDescription' collection :shape_average_percentages, as: 'shapeAveragePercentages', class: Google::Apis::ComputeV1::InterconnectApplicationAwareInterconnectBandwidthPercentage, decorator: Google::Apis::ComputeV1::InterconnectApplicationAwareInterconnectBandwidthPercentage::Representation property :strict_priority_policy, as: 'strictPriorityPolicy', class: Google::Apis::ComputeV1::InterconnectApplicationAwareInterconnectStrictPriorityPolicy, decorator: Google::Apis::ComputeV1::InterconnectApplicationAwareInterconnectStrictPriorityPolicy::Representation end end class InterconnectApplicationAwareInterconnectBandwidthPercentage # @private class Representation < Google::Apis::Core::JsonRepresentation property :percentage, as: 'percentage' property :traffic_class, as: 'trafficClass' end end class InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy # @private class Representation < Google::Apis::Core::JsonRepresentation collection :bandwidth_percentages, as: 'bandwidthPercentages', class: Google::Apis::ComputeV1::InterconnectApplicationAwareInterconnectBandwidthPercentage, decorator: Google::Apis::ComputeV1::InterconnectApplicationAwareInterconnectBandwidthPercentage::Representation end end class InterconnectApplicationAwareInterconnectStrictPriorityPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation end end class InterconnectAttachment # @private class Representation < Google::Apis::Core::JsonRepresentation property :admin_enabled, as: 'adminEnabled' property :attachment_group, as: 'attachmentGroup' property :bandwidth, as: 'bandwidth' property :candidate_cloud_router_ip_address, as: 'candidateCloudRouterIpAddress' property :candidate_cloud_router_ipv6_address, as: 'candidateCloudRouterIpv6Address' property :candidate_customer_router_ip_address, as: 'candidateCustomerRouterIpAddress' property :candidate_customer_router_ipv6_address, as: 'candidateCustomerRouterIpv6Address' collection :candidate_ipv6_subnets, as: 'candidateIpv6Subnets' collection :candidate_subnets, as: 'candidateSubnets' property :cloud_router_ip_address, as: 'cloudRouterIpAddress' property :cloud_router_ipv6_address, as: 'cloudRouterIpv6Address' property :cloud_router_ipv6_interface_id, as: 'cloudRouterIpv6InterfaceId' property :configuration_constraints, as: 'configurationConstraints', class: Google::Apis::ComputeV1::InterconnectAttachmentConfigurationConstraints, decorator: Google::Apis::ComputeV1::InterconnectAttachmentConfigurationConstraints::Representation property :creation_timestamp, as: 'creationTimestamp' property :customer_router_ip_address, as: 'customerRouterIpAddress' property :customer_router_ipv6_address, as: 'customerRouterIpv6Address' property :customer_router_ipv6_interface_id, as: 'customerRouterIpv6InterfaceId' property :dataplane_version, as: 'dataplaneVersion' property :description, as: 'description' property :edge_availability_domain, as: 'edgeAvailabilityDomain' property :encryption, as: 'encryption' property :google_reference_id, as: 'googleReferenceId' property :id, :numeric_string => true, as: 'id' property :interconnect, as: 'interconnect' collection :ipsec_internal_addresses, as: 'ipsecInternalAddresses' property :kind, as: 'kind' property :l2_forwarding, as: 'l2Forwarding', class: Google::Apis::ComputeV1::InterconnectAttachmentL2Forwarding, decorator: Google::Apis::ComputeV1::InterconnectAttachmentL2Forwarding::Representation property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' property :mtu, as: 'mtu' property :name, as: 'name' property :operational_status, as: 'operationalStatus' property :pairing_key, as: 'pairingKey' property :params, as: 'params', class: Google::Apis::ComputeV1::InterconnectAttachmentParams, decorator: Google::Apis::ComputeV1::InterconnectAttachmentParams::Representation property :partner_asn, :numeric_string => true, as: 'partnerAsn' property :partner_metadata, as: 'partnerMetadata', class: Google::Apis::ComputeV1::InterconnectAttachmentPartnerMetadata, decorator: Google::Apis::ComputeV1::InterconnectAttachmentPartnerMetadata::Representation property :private_interconnect_info, as: 'privateInterconnectInfo', class: Google::Apis::ComputeV1::InterconnectAttachmentPrivateInfo, decorator: Google::Apis::ComputeV1::InterconnectAttachmentPrivateInfo::Representation property :region, as: 'region' property :remote_service, as: 'remoteService' property :router, as: 'router' property :satisfies_pzs, as: 'satisfiesPzs' property :self_link, as: 'selfLink' property :stack_type, as: 'stackType' property :state, as: 'state' property :subnet_length, as: 'subnetLength' property :type, as: 'type' property :vlan_tag8021q, as: 'vlanTag8021q' end end class InterconnectAttachmentAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::InterconnectAttachmentsScopedList, decorator: Google::Apis::ComputeV1::InterconnectAttachmentsScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList::Warning, decorator: Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::InterconnectAttachmentAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InterconnectAttachmentConfigurationConstraints # @private class Representation < Google::Apis::Core::JsonRepresentation property :bgp_md5, as: 'bgpMd5' collection :bgp_peer_asn_ranges, as: 'bgpPeerAsnRanges', class: Google::Apis::ComputeV1::InterconnectAttachmentConfigurationConstraintsBgpPeerAsnRange, decorator: Google::Apis::ComputeV1::InterconnectAttachmentConfigurationConstraintsBgpPeerAsnRange::Representation end end class InterconnectAttachmentConfigurationConstraintsBgpPeerAsnRange # @private class Representation < Google::Apis::Core::JsonRepresentation property :max, as: 'max' property :min, as: 'min' end end class InterconnectAttachmentGroup # @private class Representation < Google::Apis::Core::JsonRepresentation hash :attachments, as: 'attachments', class: Google::Apis::ComputeV1::InterconnectAttachmentGroupAttachment, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroupAttachment::Representation property :configured, as: 'configured', class: Google::Apis::ComputeV1::InterconnectAttachmentGroupConfigured, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroupConfigured::Representation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :etag, as: 'etag' property :id, :numeric_string => true, as: 'id' property :intent, as: 'intent', class: Google::Apis::ComputeV1::InterconnectAttachmentGroupIntent, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroupIntent::Representation property :interconnect_group, as: 'interconnectGroup' property :kind, as: 'kind' property :logical_structure, as: 'logicalStructure', class: Google::Apis::ComputeV1::InterconnectAttachmentGroupLogicalStructure, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroupLogicalStructure::Representation property :name, as: 'name' property :self_link, as: 'selfLink' end end class InterconnectAttachmentGroupAttachment # @private class Representation < Google::Apis::Core::JsonRepresentation property :attachment, as: 'attachment' end end class InterconnectAttachmentGroupConfigured # @private class Representation < Google::Apis::Core::JsonRepresentation property :availability_sla, as: 'availabilitySla', class: Google::Apis::ComputeV1::InterconnectAttachmentGroupConfiguredAvailabilitySla, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroupConfiguredAvailabilitySla::Representation end end class InterconnectAttachmentGroupConfiguredAvailabilitySla # @private class Representation < Google::Apis::Core::JsonRepresentation property :effective_sla, as: 'effectiveSla' collection :intended_sla_blockers, as: 'intendedSlaBlockers', class: Google::Apis::ComputeV1::InterconnectAttachmentGroupConfiguredAvailabilitySlaIntendedSlaBlockers, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroupConfiguredAvailabilitySlaIntendedSlaBlockers::Representation end end class InterconnectAttachmentGroupConfiguredAvailabilitySlaIntendedSlaBlockers # @private class Representation < Google::Apis::Core::JsonRepresentation collection :attachments, as: 'attachments' property :blocker_type, as: 'blockerType' property :documentation_link, as: 'documentationLink' property :explanation, as: 'explanation' collection :metros, as: 'metros' collection :regions, as: 'regions' collection :zones, as: 'zones' end end class InterconnectAttachmentGroupIntent # @private class Representation < Google::Apis::Core::JsonRepresentation property :availability_sla, as: 'availabilitySla' end end class InterconnectAttachmentGroupLogicalStructure # @private class Representation < Google::Apis::Core::JsonRepresentation collection :regions, as: 'regions', class: Google::Apis::ComputeV1::InterconnectAttachmentGroupLogicalStructureRegion, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroupLogicalStructureRegion::Representation end end class InterconnectAttachmentGroupLogicalStructureRegion # @private class Representation < Google::Apis::Core::JsonRepresentation collection :metros, as: 'metros', class: Google::Apis::ComputeV1::InterconnectAttachmentGroupLogicalStructureRegionMetro, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroupLogicalStructureRegionMetro::Representation property :region, as: 'region' end end class InterconnectAttachmentGroupLogicalStructureRegionMetro # @private class Representation < Google::Apis::Core::JsonRepresentation collection :facilities, as: 'facilities', class: Google::Apis::ComputeV1::InterconnectAttachmentGroupLogicalStructureRegionMetroFacility, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroupLogicalStructureRegionMetroFacility::Representation property :metro, as: 'metro' end end class InterconnectAttachmentGroupLogicalStructureRegionMetroFacility # @private class Representation < Google::Apis::Core::JsonRepresentation property :facility, as: 'facility' collection :zones, as: 'zones', class: Google::Apis::ComputeV1::InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone::Representation end end class InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone # @private class Representation < Google::Apis::Core::JsonRepresentation collection :attachments, as: 'attachments' property :zone, as: 'zone' end end class InterconnectAttachmentGroupsGetOperationalStatusResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :result, as: 'result', class: Google::Apis::ComputeV1::InterconnectAttachmentGroupsOperationalStatus, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroupsOperationalStatus::Representation end end class InterconnectAttachmentGroupsListResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::InterconnectAttachmentGroup, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroup::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InterconnectAttachmentGroupsListResponse::Warning, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroupsListResponse::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InterconnectAttachmentGroupsListResponse::Warning::Datum, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroupsListResponse::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InterconnectAttachmentGroupsOperationalStatus # @private class Representation < Google::Apis::Core::JsonRepresentation collection :attachment_statuses, as: 'attachmentStatuses', class: Google::Apis::ComputeV1::InterconnectAttachmentGroupsOperationalStatusAttachmentStatus, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroupsOperationalStatusAttachmentStatus::Representation property :configured, as: 'configured', class: Google::Apis::ComputeV1::InterconnectAttachmentGroupConfigured, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroupConfigured::Representation property :group_status, as: 'groupStatus' property :intent, as: 'intent', class: Google::Apis::ComputeV1::InterconnectAttachmentGroupIntent, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroupIntent::Representation property :operational, as: 'operational', class: Google::Apis::ComputeV1::InterconnectAttachmentGroupConfigured, decorator: Google::Apis::ComputeV1::InterconnectAttachmentGroupConfigured::Representation end end class InterconnectAttachmentGroupsOperationalStatusAttachmentStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :admin_enabled, as: 'adminEnabled' property :attachment, as: 'attachment' property :is_active, as: 'isActive' property :status, as: 'status' end end class InterconnectAttachmentL2Forwarding # @private class Representation < Google::Apis::Core::JsonRepresentation hash :appliance_mappings, as: 'applianceMappings', class: Google::Apis::ComputeV1::InterconnectAttachmentL2ForwardingApplianceMapping, decorator: Google::Apis::ComputeV1::InterconnectAttachmentL2ForwardingApplianceMapping::Representation property :default_appliance_ip_address, as: 'defaultApplianceIpAddress' property :geneve_header, as: 'geneveHeader', class: Google::Apis::ComputeV1::InterconnectAttachmentL2ForwardingGeneveHeader, decorator: Google::Apis::ComputeV1::InterconnectAttachmentL2ForwardingGeneveHeader::Representation property :network, as: 'network' property :tunnel_endpoint_ip_address, as: 'tunnelEndpointIpAddress' end end class InterconnectAttachmentL2ForwardingApplianceMapping # @private class Representation < Google::Apis::Core::JsonRepresentation property :appliance_ip_address, as: 'applianceIpAddress' collection :inner_vlan_to_appliance_mappings, as: 'innerVlanToApplianceMappings', class: Google::Apis::ComputeV1::InterconnectAttachmentL2ForwardingApplianceMappingInnerVlanToApplianceMapping, decorator: Google::Apis::ComputeV1::InterconnectAttachmentL2ForwardingApplianceMappingInnerVlanToApplianceMapping::Representation property :name, as: 'name' end end class InterconnectAttachmentL2ForwardingApplianceMappingInnerVlanToApplianceMapping # @private class Representation < Google::Apis::Core::JsonRepresentation property :inner_appliance_ip_address, as: 'innerApplianceIpAddress' collection :inner_vlan_tags, as: 'innerVlanTags' end end class InterconnectAttachmentL2ForwardingGeneveHeader # @private class Representation < Google::Apis::Core::JsonRepresentation property :vni, as: 'vni' end end class InterconnectAttachmentList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::InterconnectAttachment, decorator: Google::Apis::ComputeV1::InterconnectAttachment::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InterconnectAttachmentList::Warning, decorator: Google::Apis::ComputeV1::InterconnectAttachmentList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InterconnectAttachmentList::Warning::Datum, decorator: Google::Apis::ComputeV1::InterconnectAttachmentList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InterconnectAttachmentParams # @private class Representation < Google::Apis::Core::JsonRepresentation hash :resource_manager_tags, as: 'resourceManagerTags' end end class InterconnectAttachmentPartnerMetadata # @private class Representation < Google::Apis::Core::JsonRepresentation property :interconnect_name, as: 'interconnectName' property :partner_name, as: 'partnerName' property :portal_url, as: 'portalUrl' end end class InterconnectAttachmentPrivateInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :tag8021q, as: 'tag8021q' end end class InterconnectAttachmentsScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :interconnect_attachments, as: 'interconnectAttachments', class: Google::Apis::ComputeV1::InterconnectAttachment, decorator: Google::Apis::ComputeV1::InterconnectAttachment::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::InterconnectAttachmentsScopedList::Warning, decorator: Google::Apis::ComputeV1::InterconnectAttachmentsScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InterconnectAttachmentsScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::InterconnectAttachmentsScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InterconnectCircuitInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :customer_demarc_id, as: 'customerDemarcId' property :google_circuit_id, as: 'googleCircuitId' property :google_demarc_id, as: 'googleDemarcId' end end class InterconnectDiagnostics # @private class Representation < Google::Apis::Core::JsonRepresentation collection :arp_caches, as: 'arpCaches', class: Google::Apis::ComputeV1::InterconnectDiagnosticsArpEntry, decorator: Google::Apis::ComputeV1::InterconnectDiagnosticsArpEntry::Representation property :bundle_aggregation_type, as: 'bundleAggregationType' property :bundle_operational_status, as: 'bundleOperationalStatus' collection :links, as: 'links', class: Google::Apis::ComputeV1::InterconnectDiagnosticsLinkStatus, decorator: Google::Apis::ComputeV1::InterconnectDiagnosticsLinkStatus::Representation property :mac_address, as: 'macAddress' end end class InterconnectDiagnosticsArpEntry # @private class Representation < Google::Apis::Core::JsonRepresentation property :ip_address, as: 'ipAddress' property :mac_address, as: 'macAddress' end end class InterconnectDiagnosticsLinkLacpStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :google_system_id, as: 'googleSystemId' property :neighbor_system_id, as: 'neighborSystemId' property :state, as: 'state' end end class InterconnectDiagnosticsLinkOpticalPower # @private class Representation < Google::Apis::Core::JsonRepresentation property :state, as: 'state' property :value, as: 'value' end end class InterconnectDiagnosticsLinkStatus # @private class Representation < Google::Apis::Core::JsonRepresentation collection :arp_caches, as: 'arpCaches', class: Google::Apis::ComputeV1::InterconnectDiagnosticsArpEntry, decorator: Google::Apis::ComputeV1::InterconnectDiagnosticsArpEntry::Representation property :circuit_id, as: 'circuitId' property :google_demarc, as: 'googleDemarc' property :lacp_status, as: 'lacpStatus', class: Google::Apis::ComputeV1::InterconnectDiagnosticsLinkLacpStatus, decorator: Google::Apis::ComputeV1::InterconnectDiagnosticsLinkLacpStatus::Representation property :macsec, as: 'macsec', class: Google::Apis::ComputeV1::InterconnectDiagnosticsMacsecStatus, decorator: Google::Apis::ComputeV1::InterconnectDiagnosticsMacsecStatus::Representation property :operational_status, as: 'operationalStatus' property :receiving_optical_power, as: 'receivingOpticalPower', class: Google::Apis::ComputeV1::InterconnectDiagnosticsLinkOpticalPower, decorator: Google::Apis::ComputeV1::InterconnectDiagnosticsLinkOpticalPower::Representation property :transmitting_optical_power, as: 'transmittingOpticalPower', class: Google::Apis::ComputeV1::InterconnectDiagnosticsLinkOpticalPower, decorator: Google::Apis::ComputeV1::InterconnectDiagnosticsLinkOpticalPower::Representation end end class InterconnectDiagnosticsMacsecStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :ckn, as: 'ckn' property :operational, as: 'operational' end end class InterconnectGroup # @private class Representation < Google::Apis::Core::JsonRepresentation property :configured, as: 'configured', class: Google::Apis::ComputeV1::InterconnectGroupConfigured, decorator: Google::Apis::ComputeV1::InterconnectGroupConfigured::Representation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :etag, as: 'etag' property :id, :numeric_string => true, as: 'id' property :intent, as: 'intent', class: Google::Apis::ComputeV1::InterconnectGroupIntent, decorator: Google::Apis::ComputeV1::InterconnectGroupIntent::Representation hash :interconnects, as: 'interconnects', class: Google::Apis::ComputeV1::InterconnectGroupInterconnect, decorator: Google::Apis::ComputeV1::InterconnectGroupInterconnect::Representation property :kind, as: 'kind' property :name, as: 'name' property :physical_structure, as: 'physicalStructure', class: Google::Apis::ComputeV1::InterconnectGroupPhysicalStructure, decorator: Google::Apis::ComputeV1::InterconnectGroupPhysicalStructure::Representation property :self_link, as: 'selfLink' end end class InterconnectGroupConfigured # @private class Representation < Google::Apis::Core::JsonRepresentation property :topology_capability, as: 'topologyCapability', class: Google::Apis::ComputeV1::InterconnectGroupConfiguredTopologyCapability, decorator: Google::Apis::ComputeV1::InterconnectGroupConfiguredTopologyCapability::Representation end end class InterconnectGroupConfiguredTopologyCapability # @private class Representation < Google::Apis::Core::JsonRepresentation collection :intended_capability_blockers, as: 'intendedCapabilityBlockers', class: Google::Apis::ComputeV1::InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers, decorator: Google::Apis::ComputeV1::InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers::Representation property :supported_sla, as: 'supportedSla' end end class InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers # @private class Representation < Google::Apis::Core::JsonRepresentation property :blocker_type, as: 'blockerType' property :documentation_link, as: 'documentationLink' property :explanation, as: 'explanation' collection :facilities, as: 'facilities' collection :interconnects, as: 'interconnects' collection :metros, as: 'metros' collection :zones, as: 'zones' end end class InterconnectGroupIntent # @private class Representation < Google::Apis::Core::JsonRepresentation property :topology_capability, as: 'topologyCapability' end end class InterconnectGroupInterconnect # @private class Representation < Google::Apis::Core::JsonRepresentation property :interconnect, as: 'interconnect' end end class InterconnectGroupPhysicalStructure # @private class Representation < Google::Apis::Core::JsonRepresentation collection :metros, as: 'metros', class: Google::Apis::ComputeV1::InterconnectGroupPhysicalStructureMetros, decorator: Google::Apis::ComputeV1::InterconnectGroupPhysicalStructureMetros::Representation end end class InterconnectGroupPhysicalStructureMetros # @private class Representation < Google::Apis::Core::JsonRepresentation collection :facilities, as: 'facilities', class: Google::Apis::ComputeV1::InterconnectGroupPhysicalStructureMetrosFacilities, decorator: Google::Apis::ComputeV1::InterconnectGroupPhysicalStructureMetrosFacilities::Representation property :metro, as: 'metro' end end class InterconnectGroupPhysicalStructureMetrosFacilities # @private class Representation < Google::Apis::Core::JsonRepresentation property :facility, as: 'facility' collection :zones, as: 'zones', class: Google::Apis::ComputeV1::InterconnectGroupPhysicalStructureMetrosFacilitiesZones, decorator: Google::Apis::ComputeV1::InterconnectGroupPhysicalStructureMetrosFacilitiesZones::Representation end end class InterconnectGroupPhysicalStructureMetrosFacilitiesZones # @private class Representation < Google::Apis::Core::JsonRepresentation collection :interconnects, as: 'interconnects' property :zone, as: 'zone' end end class InterconnectGroupsCreateMembers # @private class Representation < Google::Apis::Core::JsonRepresentation property :intent_mismatch_behavior, as: 'intentMismatchBehavior' collection :interconnects, as: 'interconnects', class: Google::Apis::ComputeV1::InterconnectGroupsCreateMembersInterconnectInput, decorator: Google::Apis::ComputeV1::InterconnectGroupsCreateMembersInterconnectInput::Representation property :template_interconnect, as: 'templateInterconnect', class: Google::Apis::ComputeV1::InterconnectGroupsCreateMembersInterconnectInput, decorator: Google::Apis::ComputeV1::InterconnectGroupsCreateMembersInterconnectInput::Representation end end class InterconnectGroupsCreateMembersInterconnectInput # @private class Representation < Google::Apis::Core::JsonRepresentation property :admin_enabled, as: 'adminEnabled' property :customer_name, as: 'customerName' property :description, as: 'description' property :facility, as: 'facility' property :interconnect_type, as: 'interconnectType' property :link_type, as: 'linkType' property :name, as: 'name' property :noc_contact_email, as: 'nocContactEmail' property :remote_location, as: 'remoteLocation' collection :requested_features, as: 'requestedFeatures' property :requested_link_count, as: 'requestedLinkCount' end end class InterconnectGroupsCreateMembersRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :request, as: 'request', class: Google::Apis::ComputeV1::InterconnectGroupsCreateMembers, decorator: Google::Apis::ComputeV1::InterconnectGroupsCreateMembers::Representation end end class InterconnectGroupsGetOperationalStatusResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :result, as: 'result', class: Google::Apis::ComputeV1::InterconnectGroupsOperationalStatus, decorator: Google::Apis::ComputeV1::InterconnectGroupsOperationalStatus::Representation end end class InterconnectGroupsListResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::InterconnectGroup, decorator: Google::Apis::ComputeV1::InterconnectGroup::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InterconnectGroupsListResponse::Warning, decorator: Google::Apis::ComputeV1::InterconnectGroupsListResponse::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InterconnectGroupsListResponse::Warning::Datum, decorator: Google::Apis::ComputeV1::InterconnectGroupsListResponse::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InterconnectGroupsOperationalStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :configured, as: 'configured', class: Google::Apis::ComputeV1::InterconnectGroupConfigured, decorator: Google::Apis::ComputeV1::InterconnectGroupConfigured::Representation property :group_status, as: 'groupStatus' property :intent, as: 'intent', class: Google::Apis::ComputeV1::InterconnectGroupIntent, decorator: Google::Apis::ComputeV1::InterconnectGroupIntent::Representation collection :interconnect_statuses, as: 'interconnectStatuses', class: Google::Apis::ComputeV1::InterconnectGroupsOperationalStatusInterconnectStatus, decorator: Google::Apis::ComputeV1::InterconnectGroupsOperationalStatusInterconnectStatus::Representation property :operational, as: 'operational', class: Google::Apis::ComputeV1::InterconnectGroupConfigured, decorator: Google::Apis::ComputeV1::InterconnectGroupConfigured::Representation end end class InterconnectGroupsOperationalStatusInterconnectStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :admin_enabled, as: 'adminEnabled' property :diagnostics, as: 'diagnostics', class: Google::Apis::ComputeV1::InterconnectDiagnostics, decorator: Google::Apis::ComputeV1::InterconnectDiagnostics::Representation property :interconnect, as: 'interconnect' property :is_active, as: 'isActive' end end class InterconnectList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Interconnect, decorator: Google::Apis::ComputeV1::Interconnect::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InterconnectList::Warning, decorator: Google::Apis::ComputeV1::InterconnectList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InterconnectList::Warning::Datum, decorator: Google::Apis::ComputeV1::InterconnectList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InterconnectLocation # @private class Representation < Google::Apis::Core::JsonRepresentation property :address, as: 'address' property :availability_zone, as: 'availabilityZone' collection :available_features, as: 'availableFeatures' collection :available_link_types, as: 'availableLinkTypes' property :city, as: 'city' property :continent, as: 'continent' property :creation_timestamp, as: 'creationTimestamp' collection :cross_site_interconnect_infos, as: 'crossSiteInterconnectInfos', class: Google::Apis::ComputeV1::InterconnectLocationCrossSiteInterconnectInfo, decorator: Google::Apis::ComputeV1::InterconnectLocationCrossSiteInterconnectInfo::Representation property :description, as: 'description' property :facility_provider, as: 'facilityProvider' property :facility_provider_facility_id, as: 'facilityProviderFacilityId' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :peeringdb_facility_id, as: 'peeringdbFacilityId' collection :region_infos, as: 'regionInfos', class: Google::Apis::ComputeV1::InterconnectLocationRegionInfo, decorator: Google::Apis::ComputeV1::InterconnectLocationRegionInfo::Representation property :self_link, as: 'selfLink' collection :single_region_production_critical_peer_locations, as: 'singleRegionProductionCriticalPeerLocations' property :status, as: 'status' property :supports_pzs, as: 'supportsPzs' end end class InterconnectLocationCrossSiteInterconnectInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :city, as: 'city' end end class InterconnectLocationList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::InterconnectLocation, decorator: Google::Apis::ComputeV1::InterconnectLocation::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InterconnectLocationList::Warning, decorator: Google::Apis::ComputeV1::InterconnectLocationList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InterconnectLocationList::Warning::Datum, decorator: Google::Apis::ComputeV1::InterconnectLocationList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InterconnectLocationRegionInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :expected_rtt_ms, :numeric_string => true, as: 'expectedRttMs' property :l2_forwarding_enabled, as: 'l2ForwardingEnabled' property :location_presence, as: 'locationPresence' property :region, as: 'region' end end class InterconnectMacsec # @private class Representation < Google::Apis::Core::JsonRepresentation property :fail_open, as: 'failOpen' collection :pre_shared_keys, as: 'preSharedKeys', class: Google::Apis::ComputeV1::InterconnectMacsecPreSharedKey, decorator: Google::Apis::ComputeV1::InterconnectMacsecPreSharedKey::Representation end end class InterconnectMacsecConfig # @private class Representation < Google::Apis::Core::JsonRepresentation collection :pre_shared_keys, as: 'preSharedKeys', class: Google::Apis::ComputeV1::InterconnectMacsecConfigPreSharedKey, decorator: Google::Apis::ComputeV1::InterconnectMacsecConfigPreSharedKey::Representation end end class InterconnectMacsecConfigPreSharedKey # @private class Representation < Google::Apis::Core::JsonRepresentation property :cak, as: 'cak' property :ckn, as: 'ckn' property :name, as: 'name' property :start_time, as: 'startTime' end end class InterconnectMacsecPreSharedKey # @private class Representation < Google::Apis::Core::JsonRepresentation property :name, as: 'name' property :start_time, as: 'startTime' end end class InterconnectOutageNotification # @private class Representation < Google::Apis::Core::JsonRepresentation collection :affected_circuits, as: 'affectedCircuits' property :description, as: 'description' property :end_time, :numeric_string => true, as: 'endTime' property :issue_type, as: 'issueType' property :name, as: 'name' property :source, as: 'source' property :start_time, :numeric_string => true, as: 'startTime' property :state, as: 'state' end end class InterconnectParams # @private class Representation < Google::Apis::Core::JsonRepresentation hash :resource_manager_tags, as: 'resourceManagerTags' end end class InterconnectRemoteLocation # @private class Representation < Google::Apis::Core::JsonRepresentation property :address, as: 'address' property :attachment_configuration_constraints, as: 'attachmentConfigurationConstraints', class: Google::Apis::ComputeV1::InterconnectAttachmentConfigurationConstraints, decorator: Google::Apis::ComputeV1::InterconnectAttachmentConfigurationConstraints::Representation property :city, as: 'city' property :constraints, as: 'constraints', class: Google::Apis::ComputeV1::InterconnectRemoteLocationConstraints, decorator: Google::Apis::ComputeV1::InterconnectRemoteLocationConstraints::Representation property :continent, as: 'continent' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :facility_provider, as: 'facilityProvider' property :facility_provider_facility_id, as: 'facilityProviderFacilityId' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :lacp, as: 'lacp' property :max_lag_size100_gbps, as: 'maxLagSize100Gbps' property :max_lag_size10_gbps, as: 'maxLagSize10Gbps' property :max_lag_size400_gbps, as: 'maxLagSize400Gbps' property :name, as: 'name' property :peeringdb_facility_id, as: 'peeringdbFacilityId' collection :permitted_connections, as: 'permittedConnections', class: Google::Apis::ComputeV1::InterconnectRemoteLocationPermittedConnections, decorator: Google::Apis::ComputeV1::InterconnectRemoteLocationPermittedConnections::Representation property :remote_service, as: 'remoteService' property :self_link, as: 'selfLink' property :status, as: 'status' end end class InterconnectRemoteLocationConstraints # @private class Representation < Google::Apis::Core::JsonRepresentation property :port_pair_remote_location, as: 'portPairRemoteLocation' property :port_pair_vlan, as: 'portPairVlan' property :subnet_length_range, as: 'subnetLengthRange', class: Google::Apis::ComputeV1::InterconnectRemoteLocationConstraintsSubnetLengthRange, decorator: Google::Apis::ComputeV1::InterconnectRemoteLocationConstraintsSubnetLengthRange::Representation end end class InterconnectRemoteLocationConstraintsSubnetLengthRange # @private class Representation < Google::Apis::Core::JsonRepresentation property :max, as: 'max' property :min, as: 'min' end end class InterconnectRemoteLocationList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::InterconnectRemoteLocation, decorator: Google::Apis::ComputeV1::InterconnectRemoteLocation::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::InterconnectRemoteLocationList::Warning, decorator: Google::Apis::ComputeV1::InterconnectRemoteLocationList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::InterconnectRemoteLocationList::Warning::Datum, decorator: Google::Apis::ComputeV1::InterconnectRemoteLocationList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class InterconnectRemoteLocationPermittedConnections # @private class Representation < Google::Apis::Core::JsonRepresentation property :interconnect_location, as: 'interconnectLocation' end end class InterconnectsGetDiagnosticsResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :result, as: 'result', class: Google::Apis::ComputeV1::InterconnectDiagnostics, decorator: Google::Apis::ComputeV1::InterconnectDiagnostics::Representation end end class InterconnectsGetMacsecConfigResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :result, as: 'result', class: Google::Apis::ComputeV1::InterconnectMacsecConfig, decorator: Google::Apis::ComputeV1::InterconnectMacsecConfig::Representation end end class License # @private class Representation < Google::Apis::Core::JsonRepresentation collection :allowed_replacement_licenses, as: 'allowedReplacementLicenses' property :appendable_to_disk, as: 'appendableToDisk' property :charges_use_fee, as: 'chargesUseFee' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :id, :numeric_string => true, as: 'id' collection :incompatible_licenses, as: 'incompatibleLicenses' property :kind, as: 'kind' property :license_code, :numeric_string => true, as: 'licenseCode' property :minimum_retention, as: 'minimumRetention', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation property :multi_tenant_only, as: 'multiTenantOnly' property :name, as: 'name' property :os_license, as: 'osLicense' property :params, as: 'params', class: Google::Apis::ComputeV1::LicenseParams, decorator: Google::Apis::ComputeV1::LicenseParams::Representation property :removable_from_disk, as: 'removableFromDisk' collection :required_coattached_licenses, as: 'requiredCoattachedLicenses' property :resource_requirements, as: 'resourceRequirements', class: Google::Apis::ComputeV1::LicenseResourceRequirements, decorator: Google::Apis::ComputeV1::LicenseResourceRequirements::Representation property :self_link, as: 'selfLink' property :self_link_with_id, as: 'selfLinkWithId' property :sole_tenant_only, as: 'soleTenantOnly' property :transferable, as: 'transferable' property :update_timestamp, as: 'updateTimestamp' end end class LicenseCode # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' collection :license_alias, as: 'licenseAlias', class: Google::Apis::ComputeV1::LicenseCodeLicenseAlias, decorator: Google::Apis::ComputeV1::LicenseCodeLicenseAlias::Representation property :name, as: 'name' property :self_link, as: 'selfLink' property :state, as: 'state' property :transferable, as: 'transferable' end end class LicenseCodeLicenseAlias # @private class Representation < Google::Apis::Core::JsonRepresentation property :description, as: 'description' property :self_link, as: 'selfLink' end end class LicenseParams # @private class Representation < Google::Apis::Core::JsonRepresentation hash :resource_manager_tags, as: 'resourceManagerTags' end end class LicenseResourceCommitment # @private class Representation < Google::Apis::Core::JsonRepresentation property :amount, :numeric_string => true, as: 'amount' property :cores_per_license, as: 'coresPerLicense' property :license, as: 'license' end end class LicenseResourceRequirements # @private class Representation < Google::Apis::Core::JsonRepresentation property :min_guest_cpu_count, as: 'minGuestCpuCount' property :min_memory_mb, as: 'minMemoryMb' end end class LicensesListResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::License, decorator: Google::Apis::ComputeV1::License::Representation property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::LicensesListResponse::Warning, decorator: Google::Apis::ComputeV1::LicensesListResponse::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::LicensesListResponse::Warning::Datum, decorator: Google::Apis::ComputeV1::LicensesListResponse::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class LocalDisk # @private class Representation < Google::Apis::Core::JsonRepresentation property :disk_count, as: 'diskCount' property :disk_size_gb, as: 'diskSizeGb' property :disk_type, as: 'diskType' end end class LocalizedMessage # @private class Representation < Google::Apis::Core::JsonRepresentation property :locale, as: 'locale' property :message, as: 'message' end end class LocationPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation hash :locations, as: 'locations', class: Google::Apis::ComputeV1::LocationPolicyLocation, decorator: Google::Apis::ComputeV1::LocationPolicyLocation::Representation property :target_shape, as: 'targetShape' end end class LocationPolicyLocation # @private class Representation < Google::Apis::Core::JsonRepresentation property :constraints, as: 'constraints', class: Google::Apis::ComputeV1::LocationPolicyLocationConstraints, decorator: Google::Apis::ComputeV1::LocationPolicyLocationConstraints::Representation property :preference, as: 'preference' end end class LocationPolicyLocationConstraints # @private class Representation < Google::Apis::Core::JsonRepresentation property :max_count, as: 'maxCount' end end class MachineImage # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :guest_flush, as: 'guestFlush' property :id, :numeric_string => true, as: 'id' property :instance_properties, as: 'instanceProperties', class: Google::Apis::ComputeV1::InstanceProperties, decorator: Google::Apis::ComputeV1::InstanceProperties::Representation property :kind, as: 'kind' property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' property :machine_image_encryption_key, as: 'machineImageEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :name, as: 'name' property :params, as: 'params', class: Google::Apis::ComputeV1::MachineImageParams, decorator: Google::Apis::ComputeV1::MachineImageParams::Representation property :satisfies_pzi, as: 'satisfiesPzi' property :satisfies_pzs, as: 'satisfiesPzs' collection :saved_disks, as: 'savedDisks', class: Google::Apis::ComputeV1::SavedDisk, decorator: Google::Apis::ComputeV1::SavedDisk::Representation property :self_link, as: 'selfLink' collection :source_disk_encryption_keys, as: 'sourceDiskEncryptionKeys', class: Google::Apis::ComputeV1::SourceDiskEncryptionKey, decorator: Google::Apis::ComputeV1::SourceDiskEncryptionKey::Representation property :source_instance, as: 'sourceInstance' property :source_instance_properties, as: 'sourceInstanceProperties', class: Google::Apis::ComputeV1::SourceInstanceProperties, decorator: Google::Apis::ComputeV1::SourceInstanceProperties::Representation property :status, as: 'status' collection :storage_locations, as: 'storageLocations' property :total_storage_bytes, :numeric_string => true, as: 'totalStorageBytes' end end class MachineImageList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::MachineImage, decorator: Google::Apis::ComputeV1::MachineImage::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::MachineImageList::Warning, decorator: Google::Apis::ComputeV1::MachineImageList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::MachineImageList::Warning::Datum, decorator: Google::Apis::ComputeV1::MachineImageList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class MachineImageParams # @private class Representation < Google::Apis::Core::JsonRepresentation hash :resource_manager_tags, as: 'resourceManagerTags' end end class MachineType # @private class Representation < Google::Apis::Core::JsonRepresentation collection :accelerators, as: 'accelerators', class: Google::Apis::ComputeV1::MachineType::Accelerator, decorator: Google::Apis::ComputeV1::MachineType::Accelerator::Representation property :architecture, as: 'architecture' property :bundled_local_ssds, as: 'bundledLocalSsds', class: Google::Apis::ComputeV1::BundledLocalSsds, decorator: Google::Apis::ComputeV1::BundledLocalSsds::Representation property :creation_timestamp, as: 'creationTimestamp' property :deprecated, as: 'deprecated', class: Google::Apis::ComputeV1::DeprecationStatus, decorator: Google::Apis::ComputeV1::DeprecationStatus::Representation property :description, as: 'description' property :guest_cpus, as: 'guestCpus' property :id, :numeric_string => true, as: 'id' property :image_space_gb, as: 'imageSpaceGb' property :is_shared_cpu, as: 'isSharedCpu' property :kind, as: 'kind' property :maximum_persistent_disks, as: 'maximumPersistentDisks' property :maximum_persistent_disks_size_gb, :numeric_string => true, as: 'maximumPersistentDisksSizeGb' property :memory_mb, as: 'memoryMb' property :name, as: 'name' property :self_link, as: 'selfLink' property :zone, as: 'zone' end class Accelerator # @private class Representation < Google::Apis::Core::JsonRepresentation property :guest_accelerator_count, as: 'guestAcceleratorCount' property :guest_accelerator_type, as: 'guestAcceleratorType' end end end class MachineTypeAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::MachineTypesScopedList, decorator: Google::Apis::ComputeV1::MachineTypesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::MachineTypeAggregatedList::Warning, decorator: Google::Apis::ComputeV1::MachineTypeAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::MachineTypeAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::MachineTypeAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class MachineTypeList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::MachineType, decorator: Google::Apis::ComputeV1::MachineType::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::MachineTypeList::Warning, decorator: Google::Apis::ComputeV1::MachineTypeList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::MachineTypeList::Warning::Datum, decorator: Google::Apis::ComputeV1::MachineTypeList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class MachineTypesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :machine_types, as: 'machineTypes', class: Google::Apis::ComputeV1::MachineType, decorator: Google::Apis::ComputeV1::MachineType::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::MachineTypesScopedList::Warning, decorator: Google::Apis::ComputeV1::MachineTypesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::MachineTypesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::MachineTypesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ManagedInstance # @private class Representation < Google::Apis::Core::JsonRepresentation property :current_action, as: 'currentAction' property :id, :numeric_string => true, as: 'id' property :instance, as: 'instance' collection :instance_health, as: 'instanceHealth', class: Google::Apis::ComputeV1::ManagedInstanceInstanceHealth, decorator: Google::Apis::ComputeV1::ManagedInstanceInstanceHealth::Representation property :instance_status, as: 'instanceStatus' property :last_attempt, as: 'lastAttempt', class: Google::Apis::ComputeV1::ManagedInstanceLastAttempt, decorator: Google::Apis::ComputeV1::ManagedInstanceLastAttempt::Representation property :name, as: 'name' property :preserved_state_from_config, as: 'preservedStateFromConfig', class: Google::Apis::ComputeV1::PreservedState, decorator: Google::Apis::ComputeV1::PreservedState::Representation property :preserved_state_from_policy, as: 'preservedStateFromPolicy', class: Google::Apis::ComputeV1::PreservedState, decorator: Google::Apis::ComputeV1::PreservedState::Representation property :properties_from_flexibility_policy, as: 'propertiesFromFlexibilityPolicy', class: Google::Apis::ComputeV1::ManagedInstancePropertiesFromFlexibilityPolicy, decorator: Google::Apis::ComputeV1::ManagedInstancePropertiesFromFlexibilityPolicy::Representation property :version, as: 'version', class: Google::Apis::ComputeV1::ManagedInstanceVersion, decorator: Google::Apis::ComputeV1::ManagedInstanceVersion::Representation end end class ManagedInstanceInstanceHealth # @private class Representation < Google::Apis::Core::JsonRepresentation property :detailed_health_state, as: 'detailedHealthState' property :health_check, as: 'healthCheck' end end class ManagedInstanceLastAttempt # @private class Representation < Google::Apis::Core::JsonRepresentation property :errors, as: 'errors', class: Google::Apis::ComputeV1::ManagedInstanceLastAttempt::Errors, decorator: Google::Apis::ComputeV1::ManagedInstanceLastAttempt::Errors::Representation end class Errors # @private class Representation < Google::Apis::Core::JsonRepresentation collection :errors, as: 'errors', class: Google::Apis::ComputeV1::ManagedInstanceLastAttempt::Errors::Error, decorator: Google::Apis::ComputeV1::ManagedInstanceLastAttempt::Errors::Error::Representation end class Error # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :error_details, as: 'errorDetails', class: Google::Apis::ComputeV1::ManagedInstanceLastAttempt::Errors::Error::ErrorDetail, decorator: Google::Apis::ComputeV1::ManagedInstanceLastAttempt::Errors::Error::ErrorDetail::Representation property :location, as: 'location' property :message, as: 'message' end class ErrorDetail # @private class Representation < Google::Apis::Core::JsonRepresentation property :error_info, as: 'errorInfo', class: Google::Apis::ComputeV1::ErrorInfo, decorator: Google::Apis::ComputeV1::ErrorInfo::Representation property :help, as: 'help', class: Google::Apis::ComputeV1::Help, decorator: Google::Apis::ComputeV1::Help::Representation property :localized_message, as: 'localizedMessage', class: Google::Apis::ComputeV1::LocalizedMessage, decorator: Google::Apis::ComputeV1::LocalizedMessage::Representation property :quota_info, as: 'quotaInfo', class: Google::Apis::ComputeV1::QuotaExceededInfo, decorator: Google::Apis::ComputeV1::QuotaExceededInfo::Representation end end end end end class ManagedInstancePropertiesFromFlexibilityPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :machine_type, as: 'machineType' end end class ManagedInstanceVersion # @private class Representation < Google::Apis::Core::JsonRepresentation property :instance_template, as: 'instanceTemplate' property :name, as: 'name' end end class Metadata # @private class Representation < Google::Apis::Core::JsonRepresentation property :fingerprint, :base64 => true, as: 'fingerprint' collection :items, as: 'items', class: Google::Apis::ComputeV1::Metadata::Item, decorator: Google::Apis::ComputeV1::Metadata::Item::Representation property :kind, as: 'kind' end class Item # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end class MetadataFilter # @private class Representation < Google::Apis::Core::JsonRepresentation collection :filter_labels, as: 'filterLabels', class: Google::Apis::ComputeV1::MetadataFilterLabelMatch, decorator: Google::Apis::ComputeV1::MetadataFilterLabelMatch::Representation property :filter_match_criteria, as: 'filterMatchCriteria' end end class MetadataFilterLabelMatch # @private class Representation < Google::Apis::Core::JsonRepresentation property :name, as: 'name' property :value, as: 'value' end end class NamedPort # @private class Representation < Google::Apis::Core::JsonRepresentation property :name, as: 'name' property :port, as: 'port' end end class NatIpInfo # @private class Representation < Google::Apis::Core::JsonRepresentation collection :nat_ip_info_mappings, as: 'natIpInfoMappings', class: Google::Apis::ComputeV1::NatIpInfoNatIpInfoMapping, decorator: Google::Apis::ComputeV1::NatIpInfoNatIpInfoMapping::Representation property :nat_name, as: 'natName' end end class NatIpInfoNatIpInfoMapping # @private class Representation < Google::Apis::Core::JsonRepresentation property :mode, as: 'mode' property :nat_ip, as: 'natIp' property :usage, as: 'usage' end end class NatIpInfoResponse # @private class Representation < Google::Apis::Core::JsonRepresentation collection :result, as: 'result', class: Google::Apis::ComputeV1::NatIpInfo, decorator: Google::Apis::ComputeV1::NatIpInfo::Representation end end class Network # @private class Representation < Google::Apis::Core::JsonRepresentation property :i_pv4_range, as: 'IPv4Range' property :auto_create_subnetworks, as: 'autoCreateSubnetworks' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :enable_ula_internal_ipv6, as: 'enableUlaInternalIpv6' property :firewall_policy, as: 'firewallPolicy' property :gateway_i_pv4, as: 'gatewayIPv4' property :id, :numeric_string => true, as: 'id' property :internal_ipv6_range, as: 'internalIpv6Range' property :kind, as: 'kind' property :mtu, as: 'mtu' property :name, as: 'name' property :network_firewall_policy_enforcement_order, as: 'networkFirewallPolicyEnforcementOrder' property :network_profile, as: 'networkProfile' property :params, as: 'params', class: Google::Apis::ComputeV1::NetworkParams, decorator: Google::Apis::ComputeV1::NetworkParams::Representation collection :peerings, as: 'peerings', class: Google::Apis::ComputeV1::NetworkPeering, decorator: Google::Apis::ComputeV1::NetworkPeering::Representation property :routing_config, as: 'routingConfig', class: Google::Apis::ComputeV1::NetworkRoutingConfig, decorator: Google::Apis::ComputeV1::NetworkRoutingConfig::Representation property :self_link, as: 'selfLink' property :self_link_with_id, as: 'selfLinkWithId' collection :subnetworks, as: 'subnetworks' end end class NetworkAttachment # @private class Representation < Google::Apis::Core::JsonRepresentation collection :connection_endpoints, as: 'connectionEndpoints', class: Google::Apis::ComputeV1::NetworkAttachmentConnectedEndpoint, decorator: Google::Apis::ComputeV1::NetworkAttachmentConnectedEndpoint::Representation property :connection_preference, as: 'connectionPreference' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :fingerprint, :base64 => true, as: 'fingerprint' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :network, as: 'network' collection :producer_accept_lists, as: 'producerAcceptLists' collection :producer_reject_lists, as: 'producerRejectLists' property :region, as: 'region' property :self_link, as: 'selfLink' property :self_link_with_id, as: 'selfLinkWithId' collection :subnetworks, as: 'subnetworks' end end class NetworkAttachmentAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::NetworkAttachmentsScopedList, decorator: Google::Apis::ComputeV1::NetworkAttachmentsScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::NetworkAttachmentAggregatedList::Warning, decorator: Google::Apis::ComputeV1::NetworkAttachmentAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NetworkAttachmentAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::NetworkAttachmentAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NetworkAttachmentConnectedEndpoint # @private class Representation < Google::Apis::Core::JsonRepresentation property :ip_address, as: 'ipAddress' property :ipv6_address, as: 'ipv6Address' property :project_id_or_num, as: 'projectIdOrNum' collection :secondary_ip_cidr_ranges, as: 'secondaryIpCidrRanges' property :status, as: 'status' property :subnetwork, as: 'subnetwork' property :subnetwork_cidr_range, as: 'subnetworkCidrRange' end end class NetworkAttachmentList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::NetworkAttachment, decorator: Google::Apis::ComputeV1::NetworkAttachment::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::NetworkAttachmentList::Warning, decorator: Google::Apis::ComputeV1::NetworkAttachmentList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NetworkAttachmentList::Warning::Datum, decorator: Google::Apis::ComputeV1::NetworkAttachmentList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NetworkAttachmentsScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :network_attachments, as: 'networkAttachments', class: Google::Apis::ComputeV1::NetworkAttachment, decorator: Google::Apis::ComputeV1::NetworkAttachment::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::NetworkAttachmentsScopedList::Warning, decorator: Google::Apis::ComputeV1::NetworkAttachmentsScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NetworkAttachmentsScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::NetworkAttachmentsScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NetworkEdgeSecurityService # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :fingerprint, :base64 => true, as: 'fingerprint' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :region, as: 'region' property :security_policy, as: 'securityPolicy' property :self_link, as: 'selfLink' property :self_link_with_id, as: 'selfLinkWithId' end end class NetworkEdgeSecurityServiceAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::NetworkEdgeSecurityServicesScopedList, decorator: Google::Apis::ComputeV1::NetworkEdgeSecurityServicesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::NetworkEdgeSecurityServiceAggregatedList::Warning, decorator: Google::Apis::ComputeV1::NetworkEdgeSecurityServiceAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NetworkEdgeSecurityServiceAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::NetworkEdgeSecurityServiceAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NetworkEdgeSecurityServicesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :network_edge_security_services, as: 'networkEdgeSecurityServices', class: Google::Apis::ComputeV1::NetworkEdgeSecurityService, decorator: Google::Apis::ComputeV1::NetworkEdgeSecurityService::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::NetworkEdgeSecurityServicesScopedList::Warning, decorator: Google::Apis::ComputeV1::NetworkEdgeSecurityServicesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NetworkEdgeSecurityServicesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::NetworkEdgeSecurityServicesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NetworkEndpoint # @private class Representation < Google::Apis::Core::JsonRepresentation hash :annotations, as: 'annotations' property :client_destination_port, as: 'clientDestinationPort' property :fqdn, as: 'fqdn' property :instance, as: 'instance' property :ip_address, as: 'ipAddress' property :ipv6_address, as: 'ipv6Address' property :port, as: 'port' end end class NetworkEndpointGroup # @private class Representation < Google::Apis::Core::JsonRepresentation hash :annotations, as: 'annotations' property :app_engine, as: 'appEngine', class: Google::Apis::ComputeV1::NetworkEndpointGroupAppEngine, decorator: Google::Apis::ComputeV1::NetworkEndpointGroupAppEngine::Representation property :cloud_function, as: 'cloudFunction', class: Google::Apis::ComputeV1::NetworkEndpointGroupCloudFunction, decorator: Google::Apis::ComputeV1::NetworkEndpointGroupCloudFunction::Representation property :cloud_run, as: 'cloudRun', class: Google::Apis::ComputeV1::NetworkEndpointGroupCloudRun, decorator: Google::Apis::ComputeV1::NetworkEndpointGroupCloudRun::Representation property :creation_timestamp, as: 'creationTimestamp' property :default_port, as: 'defaultPort' property :description, as: 'description' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :network, as: 'network' property :network_endpoint_type, as: 'networkEndpointType' property :psc_data, as: 'pscData', class: Google::Apis::ComputeV1::NetworkEndpointGroupPscData, decorator: Google::Apis::ComputeV1::NetworkEndpointGroupPscData::Representation property :psc_target_service, as: 'pscTargetService' property :region, as: 'region' property :self_link, as: 'selfLink' property :size, as: 'size' property :subnetwork, as: 'subnetwork' property :zone, as: 'zone' end end class NetworkEndpointGroupAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::NetworkEndpointGroupsScopedList, decorator: Google::Apis::ComputeV1::NetworkEndpointGroupsScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::NetworkEndpointGroupAggregatedList::Warning, decorator: Google::Apis::ComputeV1::NetworkEndpointGroupAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NetworkEndpointGroupAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::NetworkEndpointGroupAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NetworkEndpointGroupAppEngine # @private class Representation < Google::Apis::Core::JsonRepresentation property :service, as: 'service' property :url_mask, as: 'urlMask' property :version, as: 'version' end end class NetworkEndpointGroupCloudFunction # @private class Representation < Google::Apis::Core::JsonRepresentation property :function, as: 'function' property :url_mask, as: 'urlMask' end end class NetworkEndpointGroupCloudRun # @private class Representation < Google::Apis::Core::JsonRepresentation property :service, as: 'service' property :tag, as: 'tag' property :url_mask, as: 'urlMask' end end class NetworkEndpointGroupList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::NetworkEndpointGroup, decorator: Google::Apis::ComputeV1::NetworkEndpointGroup::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::NetworkEndpointGroupList::Warning, decorator: Google::Apis::ComputeV1::NetworkEndpointGroupList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NetworkEndpointGroupList::Warning::Datum, decorator: Google::Apis::ComputeV1::NetworkEndpointGroupList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NetworkEndpointGroupPscData # @private class Representation < Google::Apis::Core::JsonRepresentation property :consumer_psc_address, as: 'consumerPscAddress' property :producer_port, as: 'producerPort' property :psc_connection_id, :numeric_string => true, as: 'pscConnectionId' property :psc_connection_status, as: 'pscConnectionStatus' end end class NetworkEndpointGroupsAttachEndpointsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :network_endpoints, as: 'networkEndpoints', class: Google::Apis::ComputeV1::NetworkEndpoint, decorator: Google::Apis::ComputeV1::NetworkEndpoint::Representation end end class NetworkEndpointGroupsDetachEndpointsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :network_endpoints, as: 'networkEndpoints', class: Google::Apis::ComputeV1::NetworkEndpoint, decorator: Google::Apis::ComputeV1::NetworkEndpoint::Representation end end class NetworkEndpointGroupsListEndpointsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :health_status, as: 'healthStatus' end end class NetworkEndpointGroupsListNetworkEndpoints # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::NetworkEndpointWithHealthStatus, decorator: Google::Apis::ComputeV1::NetworkEndpointWithHealthStatus::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :warning, as: 'warning', class: Google::Apis::ComputeV1::NetworkEndpointGroupsListNetworkEndpoints::Warning, decorator: Google::Apis::ComputeV1::NetworkEndpointGroupsListNetworkEndpoints::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NetworkEndpointGroupsListNetworkEndpoints::Warning::Datum, decorator: Google::Apis::ComputeV1::NetworkEndpointGroupsListNetworkEndpoints::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NetworkEndpointGroupsScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :network_endpoint_groups, as: 'networkEndpointGroups', class: Google::Apis::ComputeV1::NetworkEndpointGroup, decorator: Google::Apis::ComputeV1::NetworkEndpointGroup::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::NetworkEndpointGroupsScopedList::Warning, decorator: Google::Apis::ComputeV1::NetworkEndpointGroupsScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NetworkEndpointGroupsScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::NetworkEndpointGroupsScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NetworkEndpointWithHealthStatus # @private class Representation < Google::Apis::Core::JsonRepresentation collection :healths, as: 'healths', class: Google::Apis::ComputeV1::HealthStatusForNetworkEndpoint, decorator: Google::Apis::ComputeV1::HealthStatusForNetworkEndpoint::Representation property :network_endpoint, as: 'networkEndpoint', class: Google::Apis::ComputeV1::NetworkEndpoint, decorator: Google::Apis::ComputeV1::NetworkEndpoint::Representation end end class NetworkFirewallPolicyAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::FirewallPoliciesScopedList, decorator: Google::Apis::ComputeV1::FirewallPoliciesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::NetworkFirewallPolicyAggregatedList::Warning, decorator: Google::Apis::ComputeV1::NetworkFirewallPolicyAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NetworkFirewallPolicyAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::NetworkFirewallPolicyAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NetworkInterface # @private class Representation < Google::Apis::Core::JsonRepresentation collection :access_configs, as: 'accessConfigs', class: Google::Apis::ComputeV1::AccessConfig, decorator: Google::Apis::ComputeV1::AccessConfig::Representation collection :alias_ip_ranges, as: 'aliasIpRanges', class: Google::Apis::ComputeV1::AliasIpRange, decorator: Google::Apis::ComputeV1::AliasIpRange::Representation property :fingerprint, :base64 => true, as: 'fingerprint' property :igmp_query, as: 'igmpQuery' property :internal_ipv6_prefix_length, as: 'internalIpv6PrefixLength' collection :ipv6_access_configs, as: 'ipv6AccessConfigs', class: Google::Apis::ComputeV1::AccessConfig, decorator: Google::Apis::ComputeV1::AccessConfig::Representation property :ipv6_access_type, as: 'ipv6AccessType' property :ipv6_address, as: 'ipv6Address' property :kind, as: 'kind' property :name, as: 'name' property :network, as: 'network' property :network_attachment, as: 'networkAttachment' property :network_ip, as: 'networkIP' property :nic_type, as: 'nicType' property :parent_nic_name, as: 'parentNicName' property :queue_count, as: 'queueCount' property :stack_type, as: 'stackType' property :subnetwork, as: 'subnetwork' property :vlan, as: 'vlan' end end class NetworkList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Network, decorator: Google::Apis::ComputeV1::Network::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::NetworkList::Warning, decorator: Google::Apis::ComputeV1::NetworkList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NetworkList::Warning::Datum, decorator: Google::Apis::ComputeV1::NetworkList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NetworkParams # @private class Representation < Google::Apis::Core::JsonRepresentation hash :resource_manager_tags, as: 'resourceManagerTags' end end class NetworkPeering # @private class Representation < Google::Apis::Core::JsonRepresentation property :auto_create_routes, as: 'autoCreateRoutes' property :connection_status, as: 'connectionStatus', class: Google::Apis::ComputeV1::NetworkPeeringConnectionStatus, decorator: Google::Apis::ComputeV1::NetworkPeeringConnectionStatus::Representation property :exchange_subnet_routes, as: 'exchangeSubnetRoutes' property :export_custom_routes, as: 'exportCustomRoutes' property :export_subnet_routes_with_public_ip, as: 'exportSubnetRoutesWithPublicIp' property :import_custom_routes, as: 'importCustomRoutes' property :import_subnet_routes_with_public_ip, as: 'importSubnetRoutesWithPublicIp' property :name, as: 'name' property :network, as: 'network' property :peer_mtu, as: 'peerMtu' property :stack_type, as: 'stackType' property :state, as: 'state' property :state_details, as: 'stateDetails' property :update_strategy, as: 'updateStrategy' end end class NetworkPeeringConnectionStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :consensus_state, as: 'consensusState', class: Google::Apis::ComputeV1::NetworkPeeringConnectionStatusConsensusState, decorator: Google::Apis::ComputeV1::NetworkPeeringConnectionStatusConsensusState::Representation property :traffic_configuration, as: 'trafficConfiguration', class: Google::Apis::ComputeV1::NetworkPeeringConnectionStatusTrafficConfiguration, decorator: Google::Apis::ComputeV1::NetworkPeeringConnectionStatusTrafficConfiguration::Representation property :update_strategy, as: 'updateStrategy' end end class NetworkPeeringConnectionStatusConsensusState # @private class Representation < Google::Apis::Core::JsonRepresentation property :delete_status, as: 'deleteStatus' property :update_status, as: 'updateStatus' end end class NetworkPeeringConnectionStatusTrafficConfiguration # @private class Representation < Google::Apis::Core::JsonRepresentation property :export_custom_routes_to_peer, as: 'exportCustomRoutesToPeer' property :export_subnet_routes_with_public_ip_to_peer, as: 'exportSubnetRoutesWithPublicIpToPeer' property :import_custom_routes_from_peer, as: 'importCustomRoutesFromPeer' property :import_subnet_routes_with_public_ip_from_peer, as: 'importSubnetRoutesWithPublicIpFromPeer' property :stack_type, as: 'stackType' end end class NetworkPerformanceConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :total_egress_bandwidth_tier, as: 'totalEgressBandwidthTier' end end class NetworkProfile # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :features, as: 'features', class: Google::Apis::ComputeV1::NetworkProfileNetworkFeatures, decorator: Google::Apis::ComputeV1::NetworkProfileNetworkFeatures::Representation property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :location, as: 'location', class: Google::Apis::ComputeV1::NetworkProfileLocation, decorator: Google::Apis::ComputeV1::NetworkProfileLocation::Representation property :name, as: 'name' property :profile_type, as: 'profileType', class: Google::Apis::ComputeV1::NetworkProfileProfileType, decorator: Google::Apis::ComputeV1::NetworkProfileProfileType::Representation property :self_link, as: 'selfLink' property :self_link_with_id, as: 'selfLinkWithId' end end class NetworkProfileLocation # @private class Representation < Google::Apis::Core::JsonRepresentation property :name, as: 'name' property :scope, as: 'scope' end end class NetworkProfileNetworkFeatures # @private class Representation < Google::Apis::Core::JsonRepresentation collection :address_purposes, as: 'addressPurposes' property :allow_address_creation, as: 'allowAddressCreation' property :allow_alias_ip_ranges, as: 'allowAliasIpRanges' property :allow_auto_mode_subnet, as: 'allowAutoModeSubnet' property :allow_class_d_firewalls, as: 'allowClassDFirewalls' property :allow_cloud_nat, as: 'allowCloudNat' property :allow_cloud_router, as: 'allowCloudRouter' property :allow_default_nic_attachment, as: 'allowDefaultNicAttachment' property :allow_external_ip_access, as: 'allowExternalIpAccess' property :allow_firewall_policy, as: 'allowFirewallPolicy' property :allow_interconnect, as: 'allowInterconnect' property :allow_ip_forwarding, as: 'allowIpForwarding' property :allow_load_balancing, as: 'allowLoadBalancing' property :allow_multi_nic_in_same_network, as: 'allowMultiNicInSameNetwork' property :allow_multi_nic_in_same_subnetwork, as: 'allowMultiNicInSameSubnetwork' property :allow_multicast, as: 'allowMulticast' property :allow_ncc, as: 'allowNcc' property :allow_network_migration, as: 'allowNetworkMigration' property :allow_packet_mirroring, as: 'allowPacketMirroring' property :allow_private_google_access, as: 'allowPrivateGoogleAccess' property :allow_psc, as: 'allowPsc' property :allow_same_network_unicast, as: 'allowSameNetworkUnicast' property :allow_static_routes, as: 'allowStaticRoutes' property :allow_sub_interfaces, as: 'allowSubInterfaces' property :allow_subnetwork_creation, as: 'allowSubnetworkCreation' property :allow_vpc_firewall_rules, as: 'allowVpcFirewallRules' property :allow_vpc_peering, as: 'allowVpcPeering' property :allow_vpn, as: 'allowVpn' collection :firewall_policy_types, as: 'firewallPolicyTypes' collection :interface_types, as: 'interfaceTypes' property :multicast, as: 'multicast' property :predefined_network_internal_ipv6_range, as: 'predefinedNetworkInternalIpv6Range' collection :predefined_subnetwork_ranges, as: 'predefinedSubnetworkRanges', class: Google::Apis::ComputeV1::NetworkProfileNetworkFeaturesPredefinedSubnetworkRange, decorator: Google::Apis::ComputeV1::NetworkProfileNetworkFeaturesPredefinedSubnetworkRange::Representation collection :subnet_purposes, as: 'subnetPurposes' collection :subnet_stack_types, as: 'subnetStackTypes' collection :subnetwork_purposes, as: 'subnetworkPurposes' collection :subnetwork_stack_types, as: 'subnetworkStackTypes' property :unicast, as: 'unicast' end end class NetworkProfileNetworkFeaturesPredefinedSubnetworkRange # @private class Representation < Google::Apis::Core::JsonRepresentation property :ipv6_range, as: 'ipv6Range' property :name_prefix, as: 'namePrefix' end end class NetworkProfileProfileType # @private class Representation < Google::Apis::Core::JsonRepresentation property :network_type, as: 'networkType' property :rdma_subtype, as: 'rdmaSubtype' property :ull_subtype, as: 'ullSubtype' property :vpc_subtype, as: 'vpcSubtype' end end class NetworkProfilesListResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::NetworkProfile, decorator: Google::Apis::ComputeV1::NetworkProfile::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::NetworkProfilesListResponse::Warning, decorator: Google::Apis::ComputeV1::NetworkProfilesListResponse::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NetworkProfilesListResponse::Warning::Datum, decorator: Google::Apis::ComputeV1::NetworkProfilesListResponse::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NetworkRoutingConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :bgp_always_compare_med, as: 'bgpAlwaysCompareMed' property :bgp_best_path_selection_mode, as: 'bgpBestPathSelectionMode' property :bgp_inter_region_cost, as: 'bgpInterRegionCost' property :effective_bgp_always_compare_med, as: 'effectiveBgpAlwaysCompareMed' property :effective_bgp_inter_region_cost, as: 'effectiveBgpInterRegionCost' property :routing_mode, as: 'routingMode' end end class NetworksAddPeeringRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :auto_create_routes, as: 'autoCreateRoutes' property :name, as: 'name' property :network_peering, as: 'networkPeering', class: Google::Apis::ComputeV1::NetworkPeering, decorator: Google::Apis::ComputeV1::NetworkPeering::Representation property :peer_network, as: 'peerNetwork' end end class NetworksGetEffectiveFirewallsResponse # @private class Representation < Google::Apis::Core::JsonRepresentation collection :firewall_policys, as: 'firewallPolicys', class: Google::Apis::ComputeV1::NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy, decorator: Google::Apis::ComputeV1::NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy::Representation collection :firewalls, as: 'firewalls', class: Google::Apis::ComputeV1::Firewall, decorator: Google::Apis::ComputeV1::Firewall::Representation end end class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :display_name, as: 'displayName' property :name, as: 'name' collection :packet_mirroring_rules, as: 'packetMirroringRules', class: Google::Apis::ComputeV1::FirewallPolicyRule, decorator: Google::Apis::ComputeV1::FirewallPolicyRule::Representation property :priority, as: 'priority' collection :rules, as: 'rules', class: Google::Apis::ComputeV1::FirewallPolicyRule, decorator: Google::Apis::ComputeV1::FirewallPolicyRule::Representation property :short_name, as: 'shortName' property :type, as: 'type' end end class NetworksRemovePeeringRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :name, as: 'name' end end class NetworksRequestRemovePeeringRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :name, as: 'name' end end class NetworksUpdatePeeringRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :network_peering, as: 'networkPeering', class: Google::Apis::ComputeV1::NetworkPeering, decorator: Google::Apis::ComputeV1::NetworkPeering::Representation end end class NodeGroup # @private class Representation < Google::Apis::Core::JsonRepresentation property :autoscaling_policy, as: 'autoscalingPolicy', class: Google::Apis::ComputeV1::NodeGroupAutoscalingPolicy, decorator: Google::Apis::ComputeV1::NodeGroupAutoscalingPolicy::Representation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :fingerprint, :base64 => true, as: 'fingerprint' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :location_hint, as: 'locationHint' property :maintenance_interval, as: 'maintenanceInterval' property :maintenance_policy, as: 'maintenancePolicy' property :maintenance_window, as: 'maintenanceWindow', class: Google::Apis::ComputeV1::NodeGroupMaintenanceWindow, decorator: Google::Apis::ComputeV1::NodeGroupMaintenanceWindow::Representation property :name, as: 'name' property :node_template, as: 'nodeTemplate' property :self_link, as: 'selfLink' property :share_settings, as: 'shareSettings', class: Google::Apis::ComputeV1::ShareSettings, decorator: Google::Apis::ComputeV1::ShareSettings::Representation property :size, as: 'size' property :status, as: 'status' property :zone, as: 'zone' end end class NodeGroupAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::NodeGroupsScopedList, decorator: Google::Apis::ComputeV1::NodeGroupsScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::NodeGroupAggregatedList::Warning, decorator: Google::Apis::ComputeV1::NodeGroupAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NodeGroupAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::NodeGroupAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NodeGroupAutoscalingPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :max_nodes, as: 'maxNodes' property :min_nodes, as: 'minNodes' property :mode, as: 'mode' end end class NodeGroupList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::NodeGroup, decorator: Google::Apis::ComputeV1::NodeGroup::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::NodeGroupList::Warning, decorator: Google::Apis::ComputeV1::NodeGroupList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NodeGroupList::Warning::Datum, decorator: Google::Apis::ComputeV1::NodeGroupList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NodeGroupMaintenanceWindow # @private class Representation < Google::Apis::Core::JsonRepresentation property :maintenance_duration, as: 'maintenanceDuration', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation property :start_time, as: 'startTime' end end class NodeGroupNode # @private class Representation < Google::Apis::Core::JsonRepresentation collection :accelerators, as: 'accelerators', class: Google::Apis::ComputeV1::AcceleratorConfig, decorator: Google::Apis::ComputeV1::AcceleratorConfig::Representation property :consumed_resources, as: 'consumedResources', class: Google::Apis::ComputeV1::InstanceConsumptionInfo, decorator: Google::Apis::ComputeV1::InstanceConsumptionInfo::Representation property :cpu_overcommit_type, as: 'cpuOvercommitType' collection :disks, as: 'disks', class: Google::Apis::ComputeV1::LocalDisk, decorator: Google::Apis::ComputeV1::LocalDisk::Representation collection :instance_consumption_data, as: 'instanceConsumptionData', class: Google::Apis::ComputeV1::InstanceConsumptionData, decorator: Google::Apis::ComputeV1::InstanceConsumptionData::Representation collection :instances, as: 'instances' property :name, as: 'name' property :node_type, as: 'nodeType' property :satisfies_pzs, as: 'satisfiesPzs' property :server_binding, as: 'serverBinding', class: Google::Apis::ComputeV1::ServerBinding, decorator: Google::Apis::ComputeV1::ServerBinding::Representation property :server_id, as: 'serverId' property :status, as: 'status' property :total_resources, as: 'totalResources', class: Google::Apis::ComputeV1::InstanceConsumptionInfo, decorator: Google::Apis::ComputeV1::InstanceConsumptionInfo::Representation property :upcoming_maintenance, as: 'upcomingMaintenance', class: Google::Apis::ComputeV1::UpcomingMaintenance, decorator: Google::Apis::ComputeV1::UpcomingMaintenance::Representation end end class NodeGroupsAddNodesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :additional_node_count, as: 'additionalNodeCount' end end class NodeGroupsDeleteNodesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :nodes, as: 'nodes' end end class NodeGroupsListNodes # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::NodeGroupNode, decorator: Google::Apis::ComputeV1::NodeGroupNode::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::NodeGroupsListNodes::Warning, decorator: Google::Apis::ComputeV1::NodeGroupsListNodes::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NodeGroupsListNodes::Warning::Datum, decorator: Google::Apis::ComputeV1::NodeGroupsListNodes::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NodeGroupsPerformMaintenanceRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :nodes, as: 'nodes' property :start_time, as: 'startTime' end end class NodeGroupsScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :node_groups, as: 'nodeGroups', class: Google::Apis::ComputeV1::NodeGroup, decorator: Google::Apis::ComputeV1::NodeGroup::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::NodeGroupsScopedList::Warning, decorator: Google::Apis::ComputeV1::NodeGroupsScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NodeGroupsScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::NodeGroupsScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NodeGroupsSetNodeTemplateRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :node_template, as: 'nodeTemplate' end end class NodeGroupsSimulateMaintenanceEventRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :nodes, as: 'nodes' end end class NodeTemplate # @private class Representation < Google::Apis::Core::JsonRepresentation collection :accelerators, as: 'accelerators', class: Google::Apis::ComputeV1::AcceleratorConfig, decorator: Google::Apis::ComputeV1::AcceleratorConfig::Representation property :cpu_overcommit_type, as: 'cpuOvercommitType' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' collection :disks, as: 'disks', class: Google::Apis::ComputeV1::LocalDisk, decorator: Google::Apis::ComputeV1::LocalDisk::Representation property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' hash :node_affinity_labels, as: 'nodeAffinityLabels' property :node_type, as: 'nodeType' property :node_type_flexibility, as: 'nodeTypeFlexibility', class: Google::Apis::ComputeV1::NodeTemplateNodeTypeFlexibility, decorator: Google::Apis::ComputeV1::NodeTemplateNodeTypeFlexibility::Representation property :region, as: 'region' property :self_link, as: 'selfLink' property :server_binding, as: 'serverBinding', class: Google::Apis::ComputeV1::ServerBinding, decorator: Google::Apis::ComputeV1::ServerBinding::Representation property :status, as: 'status' property :status_message, as: 'statusMessage' end end class NodeTemplateAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::NodeTemplatesScopedList, decorator: Google::Apis::ComputeV1::NodeTemplatesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::NodeTemplateAggregatedList::Warning, decorator: Google::Apis::ComputeV1::NodeTemplateAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NodeTemplateAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::NodeTemplateAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NodeTemplateList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::NodeTemplate, decorator: Google::Apis::ComputeV1::NodeTemplate::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::NodeTemplateList::Warning, decorator: Google::Apis::ComputeV1::NodeTemplateList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NodeTemplateList::Warning::Datum, decorator: Google::Apis::ComputeV1::NodeTemplateList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NodeTemplateNodeTypeFlexibility # @private class Representation < Google::Apis::Core::JsonRepresentation property :cpus, as: 'cpus' property :local_ssd, as: 'localSsd' property :memory, as: 'memory' end end class NodeTemplatesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :node_templates, as: 'nodeTemplates', class: Google::Apis::ComputeV1::NodeTemplate, decorator: Google::Apis::ComputeV1::NodeTemplate::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::NodeTemplatesScopedList::Warning, decorator: Google::Apis::ComputeV1::NodeTemplatesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NodeTemplatesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::NodeTemplatesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NodeType # @private class Representation < Google::Apis::Core::JsonRepresentation property :cpu_platform, as: 'cpuPlatform' property :creation_timestamp, as: 'creationTimestamp' property :deprecated, as: 'deprecated', class: Google::Apis::ComputeV1::DeprecationStatus, decorator: Google::Apis::ComputeV1::DeprecationStatus::Representation property :description, as: 'description' property :guest_cpus, as: 'guestCpus' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :local_ssd_gb, as: 'localSsdGb' property :max_vms, as: 'maxVms' property :memory_mb, as: 'memoryMb' property :name, as: 'name' property :self_link, as: 'selfLink' property :zone, as: 'zone' end end class NodeTypeAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::NodeTypesScopedList, decorator: Google::Apis::ComputeV1::NodeTypesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::NodeTypeAggregatedList::Warning, decorator: Google::Apis::ComputeV1::NodeTypeAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NodeTypeAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::NodeTypeAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NodeTypeList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::NodeType, decorator: Google::Apis::ComputeV1::NodeType::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::NodeTypeList::Warning, decorator: Google::Apis::ComputeV1::NodeTypeList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NodeTypeList::Warning::Datum, decorator: Google::Apis::ComputeV1::NodeTypeList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NodeTypesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :node_types, as: 'nodeTypes', class: Google::Apis::ComputeV1::NodeType, decorator: Google::Apis::ComputeV1::NodeType::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::NodeTypesScopedList::Warning, decorator: Google::Apis::ComputeV1::NodeTypesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NodeTypesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::NodeTypesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class NotificationEndpoint # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :grpc_settings, as: 'grpcSettings', class: Google::Apis::ComputeV1::NotificationEndpointGrpcSettings, decorator: Google::Apis::ComputeV1::NotificationEndpointGrpcSettings::Representation property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :region, as: 'region' property :self_link, as: 'selfLink' end end class NotificationEndpointGrpcSettings # @private class Representation < Google::Apis::Core::JsonRepresentation property :authority, as: 'authority' property :endpoint, as: 'endpoint' property :payload_name, as: 'payloadName' property :resend_interval, as: 'resendInterval', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation property :retry_duration_sec, as: 'retryDurationSec' end end class NotificationEndpointList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::NotificationEndpoint, decorator: Google::Apis::ComputeV1::NotificationEndpoint::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::NotificationEndpointList::Warning, decorator: Google::Apis::ComputeV1::NotificationEndpointList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::NotificationEndpointList::Warning::Datum, decorator: Google::Apis::ComputeV1::NotificationEndpointList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class Operation # @private class Representation < Google::Apis::Core::JsonRepresentation property :client_operation_id, as: 'clientOperationId' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :end_time, as: 'endTime' property :error, as: 'error', class: Google::Apis::ComputeV1::Operation::Error, decorator: Google::Apis::ComputeV1::Operation::Error::Representation property :http_error_message, as: 'httpErrorMessage' property :http_error_status_code, as: 'httpErrorStatusCode' property :id, :numeric_string => true, as: 'id' property :insert_time, as: 'insertTime' property :instances_bulk_insert_operation_metadata, as: 'instancesBulkInsertOperationMetadata', class: Google::Apis::ComputeV1::InstancesBulkInsertOperationMetadata, decorator: Google::Apis::ComputeV1::InstancesBulkInsertOperationMetadata::Representation property :kind, as: 'kind' property :name, as: 'name' property :operation_group_id, as: 'operationGroupId' property :operation_type, as: 'operationType' property :progress, as: 'progress' property :region, as: 'region' property :self_link, as: 'selfLink' property :set_common_instance_metadata_operation_metadata, as: 'setCommonInstanceMetadataOperationMetadata', class: Google::Apis::ComputeV1::SetCommonInstanceMetadataOperationMetadata, decorator: Google::Apis::ComputeV1::SetCommonInstanceMetadataOperationMetadata::Representation property :start_time, as: 'startTime' property :status, as: 'status' property :status_message, as: 'statusMessage' property :target_id, :numeric_string => true, as: 'targetId' property :target_link, as: 'targetLink' property :user, as: 'user' collection :warnings, as: 'warnings', class: Google::Apis::ComputeV1::Operation::Warning, decorator: Google::Apis::ComputeV1::Operation::Warning::Representation property :zone, as: 'zone' end class Error # @private class Representation < Google::Apis::Core::JsonRepresentation collection :errors, as: 'errors', class: Google::Apis::ComputeV1::Operation::Error::Error, decorator: Google::Apis::ComputeV1::Operation::Error::Error::Representation end class Error # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :error_details, as: 'errorDetails', class: Google::Apis::ComputeV1::Operation::Error::Error::ErrorDetail, decorator: Google::Apis::ComputeV1::Operation::Error::Error::ErrorDetail::Representation property :location, as: 'location' property :message, as: 'message' end class ErrorDetail # @private class Representation < Google::Apis::Core::JsonRepresentation property :error_info, as: 'errorInfo', class: Google::Apis::ComputeV1::ErrorInfo, decorator: Google::Apis::ComputeV1::ErrorInfo::Representation property :help, as: 'help', class: Google::Apis::ComputeV1::Help, decorator: Google::Apis::ComputeV1::Help::Representation property :localized_message, as: 'localizedMessage', class: Google::Apis::ComputeV1::LocalizedMessage, decorator: Google::Apis::ComputeV1::LocalizedMessage::Representation property :quota_info, as: 'quotaInfo', class: Google::Apis::ComputeV1::QuotaExceededInfo, decorator: Google::Apis::ComputeV1::QuotaExceededInfo::Representation end end end end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::Operation::Warning::Datum, decorator: Google::Apis::ComputeV1::Operation::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class OperationAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::OperationsScopedList, decorator: Google::Apis::ComputeV1::OperationsScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::OperationAggregatedList::Warning, decorator: Google::Apis::ComputeV1::OperationAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::OperationAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::OperationAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class OperationList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Operation, decorator: Google::Apis::ComputeV1::Operation::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::OperationList::Warning, decorator: Google::Apis::ComputeV1::OperationList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::OperationList::Warning::Datum, decorator: Google::Apis::ComputeV1::OperationList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class OperationsScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :operations, as: 'operations', class: Google::Apis::ComputeV1::Operation, decorator: Google::Apis::ComputeV1::Operation::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::OperationsScopedList::Warning, decorator: Google::Apis::ComputeV1::OperationsScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::OperationsScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::OperationsScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class OrganizationSecurityPoliciesListAssociationsResponse # @private class Representation < Google::Apis::Core::JsonRepresentation collection :associations, as: 'associations', class: Google::Apis::ComputeV1::SecurityPolicyAssociation, decorator: Google::Apis::ComputeV1::SecurityPolicyAssociation::Representation property :kind, as: 'kind' end end class OutlierDetection # @private class Representation < Google::Apis::Core::JsonRepresentation property :base_ejection_time, as: 'baseEjectionTime', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation property :consecutive_errors, as: 'consecutiveErrors' property :consecutive_gateway_failure, as: 'consecutiveGatewayFailure' property :enforcing_consecutive_errors, as: 'enforcingConsecutiveErrors' property :enforcing_consecutive_gateway_failure, as: 'enforcingConsecutiveGatewayFailure' property :enforcing_success_rate, as: 'enforcingSuccessRate' property :interval, as: 'interval', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation property :max_ejection_percent, as: 'maxEjectionPercent' property :success_rate_minimum_hosts, as: 'successRateMinimumHosts' property :success_rate_request_volume, as: 'successRateRequestVolume' property :success_rate_stdev_factor, as: 'successRateStdevFactor' end end class PacketIntervals # @private class Representation < Google::Apis::Core::JsonRepresentation property :avg_ms, :numeric_string => true, as: 'avgMs' property :duration, as: 'duration' property :max_ms, :numeric_string => true, as: 'maxMs' property :min_ms, :numeric_string => true, as: 'minMs' property :num_intervals, :numeric_string => true, as: 'numIntervals' property :type, as: 'type' end end class PacketMirroring # @private class Representation < Google::Apis::Core::JsonRepresentation property :collector_ilb, as: 'collectorIlb', class: Google::Apis::ComputeV1::PacketMirroringForwardingRuleInfo, decorator: Google::Apis::ComputeV1::PacketMirroringForwardingRuleInfo::Representation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :enable, as: 'enable' property :filter, as: 'filter', class: Google::Apis::ComputeV1::PacketMirroringFilter, decorator: Google::Apis::ComputeV1::PacketMirroringFilter::Representation property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :mirrored_resources, as: 'mirroredResources', class: Google::Apis::ComputeV1::PacketMirroringMirroredResourceInfo, decorator: Google::Apis::ComputeV1::PacketMirroringMirroredResourceInfo::Representation property :name, as: 'name' property :network, as: 'network', class: Google::Apis::ComputeV1::PacketMirroringNetworkInfo, decorator: Google::Apis::ComputeV1::PacketMirroringNetworkInfo::Representation property :priority, as: 'priority' property :region, as: 'region' property :self_link, as: 'selfLink' end end class PacketMirroringAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::PacketMirroringsScopedList, decorator: Google::Apis::ComputeV1::PacketMirroringsScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::PacketMirroringAggregatedList::Warning, decorator: Google::Apis::ComputeV1::PacketMirroringAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::PacketMirroringAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::PacketMirroringAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class PacketMirroringFilter # @private class Representation < Google::Apis::Core::JsonRepresentation collection :ip_protocols, as: 'IPProtocols' collection :cidr_ranges, as: 'cidrRanges' property :direction, as: 'direction' end end class PacketMirroringForwardingRuleInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :canonical_url, as: 'canonicalUrl' property :url, as: 'url' end end class PacketMirroringList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::PacketMirroring, decorator: Google::Apis::ComputeV1::PacketMirroring::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::PacketMirroringList::Warning, decorator: Google::Apis::ComputeV1::PacketMirroringList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::PacketMirroringList::Warning::Datum, decorator: Google::Apis::ComputeV1::PacketMirroringList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class PacketMirroringMirroredResourceInfo # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances', class: Google::Apis::ComputeV1::PacketMirroringMirroredResourceInfoInstanceInfo, decorator: Google::Apis::ComputeV1::PacketMirroringMirroredResourceInfoInstanceInfo::Representation collection :subnetworks, as: 'subnetworks', class: Google::Apis::ComputeV1::PacketMirroringMirroredResourceInfoSubnetInfo, decorator: Google::Apis::ComputeV1::PacketMirroringMirroredResourceInfoSubnetInfo::Representation collection :tags, as: 'tags' end end class PacketMirroringMirroredResourceInfoInstanceInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :canonical_url, as: 'canonicalUrl' property :url, as: 'url' end end class PacketMirroringMirroredResourceInfoSubnetInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :canonical_url, as: 'canonicalUrl' property :url, as: 'url' end end class PacketMirroringNetworkInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :canonical_url, as: 'canonicalUrl' property :url, as: 'url' end end class PacketMirroringsScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :packet_mirrorings, as: 'packetMirrorings', class: Google::Apis::ComputeV1::PacketMirroring, decorator: Google::Apis::ComputeV1::PacketMirroring::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::PacketMirroringsScopedList::Warning, decorator: Google::Apis::ComputeV1::PacketMirroringsScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::PacketMirroringsScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::PacketMirroringsScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class PathMatcher # @private class Representation < Google::Apis::Core::JsonRepresentation property :default_custom_error_response_policy, as: 'defaultCustomErrorResponsePolicy', class: Google::Apis::ComputeV1::CustomErrorResponsePolicy, decorator: Google::Apis::ComputeV1::CustomErrorResponsePolicy::Representation property :default_route_action, as: 'defaultRouteAction', class: Google::Apis::ComputeV1::HttpRouteAction, decorator: Google::Apis::ComputeV1::HttpRouteAction::Representation property :default_service, as: 'defaultService' property :default_url_redirect, as: 'defaultUrlRedirect', class: Google::Apis::ComputeV1::HttpRedirectAction, decorator: Google::Apis::ComputeV1::HttpRedirectAction::Representation property :description, as: 'description' property :header_action, as: 'headerAction', class: Google::Apis::ComputeV1::HttpHeaderAction, decorator: Google::Apis::ComputeV1::HttpHeaderAction::Representation property :name, as: 'name' collection :path_rules, as: 'pathRules', class: Google::Apis::ComputeV1::PathRule, decorator: Google::Apis::ComputeV1::PathRule::Representation collection :route_rules, as: 'routeRules', class: Google::Apis::ComputeV1::HttpRouteRule, decorator: Google::Apis::ComputeV1::HttpRouteRule::Representation end end class PathRule # @private class Representation < Google::Apis::Core::JsonRepresentation property :custom_error_response_policy, as: 'customErrorResponsePolicy', class: Google::Apis::ComputeV1::CustomErrorResponsePolicy, decorator: Google::Apis::ComputeV1::CustomErrorResponsePolicy::Representation collection :paths, as: 'paths' property :route_action, as: 'routeAction', class: Google::Apis::ComputeV1::HttpRouteAction, decorator: Google::Apis::ComputeV1::HttpRouteAction::Representation property :service, as: 'service' property :url_redirect, as: 'urlRedirect', class: Google::Apis::ComputeV1::HttpRedirectAction, decorator: Google::Apis::ComputeV1::HttpRedirectAction::Representation end end class PerInstanceConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :fingerprint, :base64 => true, as: 'fingerprint' property :name, as: 'name' property :preserved_state, as: 'preservedState', class: Google::Apis::ComputeV1::PreservedState, decorator: Google::Apis::ComputeV1::PreservedState::Representation property :status, as: 'status' end end class Policy # @private class Representation < Google::Apis::Core::JsonRepresentation collection :audit_configs, as: 'auditConfigs', class: Google::Apis::ComputeV1::AuditConfig, decorator: Google::Apis::ComputeV1::AuditConfig::Representation collection :bindings, as: 'bindings', class: Google::Apis::ComputeV1::Binding, decorator: Google::Apis::ComputeV1::Binding::Representation property :etag, :base64 => true, as: 'etag' property :version, as: 'version' end end class PreconfiguredWafSet # @private class Representation < Google::Apis::Core::JsonRepresentation collection :expression_sets, as: 'expressionSets', class: Google::Apis::ComputeV1::WafExpressionSet, decorator: Google::Apis::ComputeV1::WafExpressionSet::Representation end end class PreservedState # @private class Representation < Google::Apis::Core::JsonRepresentation hash :disks, as: 'disks', class: Google::Apis::ComputeV1::PreservedStatePreservedDisk, decorator: Google::Apis::ComputeV1::PreservedStatePreservedDisk::Representation hash :external_i_ps, as: 'externalIPs', class: Google::Apis::ComputeV1::PreservedStatePreservedNetworkIp, decorator: Google::Apis::ComputeV1::PreservedStatePreservedNetworkIp::Representation hash :internal_i_ps, as: 'internalIPs', class: Google::Apis::ComputeV1::PreservedStatePreservedNetworkIp, decorator: Google::Apis::ComputeV1::PreservedStatePreservedNetworkIp::Representation hash :metadata, as: 'metadata' end end class PreservedStatePreservedDisk # @private class Representation < Google::Apis::Core::JsonRepresentation property :auto_delete, as: 'autoDelete' property :mode, as: 'mode' property :source, as: 'source' end end class PreservedStatePreservedNetworkIp # @private class Representation < Google::Apis::Core::JsonRepresentation property :auto_delete, as: 'autoDelete' property :ip_address, as: 'ipAddress', class: Google::Apis::ComputeV1::PreservedStatePreservedNetworkIpIpAddress, decorator: Google::Apis::ComputeV1::PreservedStatePreservedNetworkIpIpAddress::Representation end end class PreservedStatePreservedNetworkIpIpAddress # @private class Representation < Google::Apis::Core::JsonRepresentation property :address, as: 'address' property :literal, as: 'literal' end end class PreviewFeature # @private class Representation < Google::Apis::Core::JsonRepresentation property :activation_status, as: 'activationStatus' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :rollout_operation, as: 'rolloutOperation', class: Google::Apis::ComputeV1::PreviewFeatureRolloutOperation, decorator: Google::Apis::ComputeV1::PreviewFeatureRolloutOperation::Representation property :self_link, as: 'selfLink' property :status, as: 'status', class: Google::Apis::ComputeV1::PreviewFeatureStatus, decorator: Google::Apis::ComputeV1::PreviewFeatureStatus::Representation end end class PreviewFeatureList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::PreviewFeature, decorator: Google::Apis::ComputeV1::PreviewFeature::Representation property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::PreviewFeatureList::Warning, decorator: Google::Apis::ComputeV1::PreviewFeatureList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::PreviewFeatureList::Warning::Datum, decorator: Google::Apis::ComputeV1::PreviewFeatureList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class PreviewFeatureRolloutOperation # @private class Representation < Google::Apis::Core::JsonRepresentation property :rollout_input, as: 'rolloutInput', class: Google::Apis::ComputeV1::PreviewFeatureRolloutOperationRolloutInput, decorator: Google::Apis::ComputeV1::PreviewFeatureRolloutOperationRolloutInput::Representation end end class PreviewFeatureRolloutOperationRolloutInput # @private class Representation < Google::Apis::Core::JsonRepresentation property :name, as: 'name' property :predefined_rollout_plan, as: 'predefinedRolloutPlan' end end class PreviewFeatureStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :description, as: 'description' property :help_link, as: 'helpLink' property :release_status, as: 'releaseStatus', class: Google::Apis::ComputeV1::PreviewFeatureStatusReleaseStatus, decorator: Google::Apis::ComputeV1::PreviewFeatureStatusReleaseStatus::Representation end end class PreviewFeatureStatusReleaseStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :stage, as: 'stage' property :update_date, as: 'updateDate', class: Google::Apis::ComputeV1::Date, decorator: Google::Apis::ComputeV1::Date::Representation end end class Project # @private class Representation < Google::Apis::Core::JsonRepresentation property :cloud_armor_tier, as: 'cloudArmorTier' property :common_instance_metadata, as: 'commonInstanceMetadata', class: Google::Apis::ComputeV1::Metadata, decorator: Google::Apis::ComputeV1::Metadata::Representation property :creation_timestamp, as: 'creationTimestamp' property :default_network_tier, as: 'defaultNetworkTier' property :default_service_account, as: 'defaultServiceAccount' property :description, as: 'description' collection :enabled_features, as: 'enabledFeatures' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' collection :quotas, as: 'quotas', class: Google::Apis::ComputeV1::Quota, decorator: Google::Apis::ComputeV1::Quota::Representation property :self_link, as: 'selfLink' property :usage_export_location, as: 'usageExportLocation', class: Google::Apis::ComputeV1::UsageExportLocation, decorator: Google::Apis::ComputeV1::UsageExportLocation::Representation property :vm_dns_setting, as: 'vmDnsSetting' property :xpn_project_status, as: 'xpnProjectStatus' end end class ProjectsDisableXpnResourceRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :xpn_resource, as: 'xpnResource', class: Google::Apis::ComputeV1::XpnResourceId, decorator: Google::Apis::ComputeV1::XpnResourceId::Representation end end class ProjectsEnableXpnResourceRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :xpn_resource, as: 'xpnResource', class: Google::Apis::ComputeV1::XpnResourceId, decorator: Google::Apis::ComputeV1::XpnResourceId::Representation end end class ProjectsGetXpnResources # @private class Representation < Google::Apis::Core::JsonRepresentation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' collection :resources, as: 'resources', class: Google::Apis::ComputeV1::XpnResourceId, decorator: Google::Apis::ComputeV1::XpnResourceId::Representation end end class ProjectsListXpnHostsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :organization, as: 'organization' end end class ProjectsSetCloudArmorTierRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :cloud_armor_tier, as: 'cloudArmorTier' end end class ProjectsSetDefaultNetworkTierRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :network_tier, as: 'networkTier' end end class PublicAdvertisedPrefix # @private class Representation < Google::Apis::Core::JsonRepresentation property :byoip_api_version, as: 'byoipApiVersion' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :dns_verification_ip, as: 'dnsVerificationIp' property :fingerprint, :base64 => true, as: 'fingerprint' property :id, :numeric_string => true, as: 'id' property :ip_cidr_range, as: 'ipCidrRange' property :ipv6_access_type, as: 'ipv6AccessType' property :kind, as: 'kind' property :name, as: 'name' property :pdp_scope, as: 'pdpScope' collection :public_delegated_prefixs, as: 'publicDelegatedPrefixs', class: Google::Apis::ComputeV1::PublicAdvertisedPrefixPublicDelegatedPrefix, decorator: Google::Apis::ComputeV1::PublicAdvertisedPrefixPublicDelegatedPrefix::Representation property :self_link, as: 'selfLink' property :shared_secret, as: 'sharedSecret' property :status, as: 'status' end end class PublicAdvertisedPrefixList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::PublicAdvertisedPrefix, decorator: Google::Apis::ComputeV1::PublicAdvertisedPrefix::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::PublicAdvertisedPrefixList::Warning, decorator: Google::Apis::ComputeV1::PublicAdvertisedPrefixList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::PublicAdvertisedPrefixList::Warning::Datum, decorator: Google::Apis::ComputeV1::PublicAdvertisedPrefixList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class PublicAdvertisedPrefixPublicDelegatedPrefix # @private class Representation < Google::Apis::Core::JsonRepresentation property :ip_range, as: 'ipRange' property :name, as: 'name' property :project, as: 'project' property :region, as: 'region' property :status, as: 'status' end end class PublicDelegatedPrefix # @private class Representation < Google::Apis::Core::JsonRepresentation property :allocatable_prefix_length, as: 'allocatablePrefixLength' property :byoip_api_version, as: 'byoipApiVersion' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :enable_enhanced_ipv4_allocation, as: 'enableEnhancedIpv4Allocation' property :fingerprint, :base64 => true, as: 'fingerprint' property :id, :numeric_string => true, as: 'id' property :ip_cidr_range, as: 'ipCidrRange' property :ipv6_access_type, as: 'ipv6AccessType' property :is_live_migration, as: 'isLiveMigration' property :kind, as: 'kind' property :mode, as: 'mode' property :name, as: 'name' property :parent_prefix, as: 'parentPrefix' collection :public_delegated_sub_prefixs, as: 'publicDelegatedSubPrefixs', class: Google::Apis::ComputeV1::PublicDelegatedPrefixPublicDelegatedSubPrefix, decorator: Google::Apis::ComputeV1::PublicDelegatedPrefixPublicDelegatedSubPrefix::Representation property :region, as: 'region' property :self_link, as: 'selfLink' property :status, as: 'status' end end class PublicDelegatedPrefixAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList, decorator: Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList::Warning, decorator: Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::PublicDelegatedPrefixAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class PublicDelegatedPrefixList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::PublicDelegatedPrefix, decorator: Google::Apis::ComputeV1::PublicDelegatedPrefix::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::PublicDelegatedPrefixList::Warning, decorator: Google::Apis::ComputeV1::PublicDelegatedPrefixList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::PublicDelegatedPrefixList::Warning::Datum, decorator: Google::Apis::ComputeV1::PublicDelegatedPrefixList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class PublicDelegatedPrefixPublicDelegatedSubPrefix # @private class Representation < Google::Apis::Core::JsonRepresentation property :allocatable_prefix_length, as: 'allocatablePrefixLength' property :delegatee_project, as: 'delegateeProject' property :description, as: 'description' property :enable_enhanced_ipv4_allocation, as: 'enableEnhancedIpv4Allocation' property :ip_cidr_range, as: 'ipCidrRange' property :ipv6_access_type, as: 'ipv6AccessType' property :is_address, as: 'isAddress' property :mode, as: 'mode' property :name, as: 'name' property :region, as: 'region' property :status, as: 'status' end end class PublicDelegatedPrefixesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :public_delegated_prefixes, as: 'publicDelegatedPrefixes', class: Google::Apis::ComputeV1::PublicDelegatedPrefix, decorator: Google::Apis::ComputeV1::PublicDelegatedPrefix::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList::Warning, decorator: Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::PublicDelegatedPrefixesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class Quota # @private class Representation < Google::Apis::Core::JsonRepresentation property :limit, as: 'limit' property :metric, as: 'metric' property :owner, as: 'owner' property :usage, as: 'usage' end end class QuotaExceededInfo # @private class Representation < Google::Apis::Core::JsonRepresentation hash :dimensions, as: 'dimensions' property :future_limit, as: 'futureLimit' property :limit, as: 'limit' property :limit_name, as: 'limitName' property :metric_name, as: 'metricName' property :rollout_status, as: 'rolloutStatus' end end class Reference # @private class Representation < Google::Apis::Core::JsonRepresentation property :kind, as: 'kind' property :reference_type, as: 'referenceType' property :referrer, as: 'referrer' property :target, as: 'target' end end class Region # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :deprecated, as: 'deprecated', class: Google::Apis::ComputeV1::DeprecationStatus, decorator: Google::Apis::ComputeV1::DeprecationStatus::Representation property :description, as: 'description' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :quota_status_warning, as: 'quotaStatusWarning', class: Google::Apis::ComputeV1::Region::QuotaStatusWarning, decorator: Google::Apis::ComputeV1::Region::QuotaStatusWarning::Representation collection :quotas, as: 'quotas', class: Google::Apis::ComputeV1::Quota, decorator: Google::Apis::ComputeV1::Quota::Representation property :self_link, as: 'selfLink' property :status, as: 'status' property :supports_pzs, as: 'supportsPzs' collection :zones, as: 'zones' end class QuotaStatusWarning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::Region::QuotaStatusWarning::Datum, decorator: Google::Apis::ComputeV1::Region::QuotaStatusWarning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class RegionAddressesMoveRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :description, as: 'description' property :destination_address, as: 'destinationAddress' end end class RegionAutoscalerList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Autoscaler, decorator: Google::Apis::ComputeV1::Autoscaler::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::RegionAutoscalerList::Warning, decorator: Google::Apis::ComputeV1::RegionAutoscalerList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::RegionAutoscalerList::Warning::Datum, decorator: Google::Apis::ComputeV1::RegionAutoscalerList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class RegionDiskTypeList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::DiskType, decorator: Google::Apis::ComputeV1::DiskType::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::RegionDiskTypeList::Warning, decorator: Google::Apis::ComputeV1::RegionDiskTypeList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::RegionDiskTypeList::Warning::Datum, decorator: Google::Apis::ComputeV1::RegionDiskTypeList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class RegionDisksAddResourcePoliciesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :resource_policies, as: 'resourcePolicies' end end class RegionDisksRemoveResourcePoliciesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :resource_policies, as: 'resourcePolicies' end end class RegionDisksResizeRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :size_gb, :numeric_string => true, as: 'sizeGb' end end class RegionDisksStartAsyncReplicationRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :async_secondary_disk, as: 'asyncSecondaryDisk' end end class RegionInstanceGroupList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::InstanceGroup, decorator: Google::Apis::ComputeV1::InstanceGroup::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::RegionInstanceGroupList::Warning, decorator: Google::Apis::ComputeV1::RegionInstanceGroupList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::RegionInstanceGroupList::Warning::Datum, decorator: Google::Apis::ComputeV1::RegionInstanceGroupList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class RegionInstanceGroupManagerDeleteInstanceConfigReq # @private class Representation < Google::Apis::Core::JsonRepresentation collection :names, as: 'names' end end class RegionInstanceGroupManagerList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::InstanceGroupManager, decorator: Google::Apis::ComputeV1::InstanceGroupManager::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::RegionInstanceGroupManagerList::Warning, decorator: Google::Apis::ComputeV1::RegionInstanceGroupManagerList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::RegionInstanceGroupManagerList::Warning::Datum, decorator: Google::Apis::ComputeV1::RegionInstanceGroupManagerList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class RegionInstanceGroupManagerPatchInstanceConfigReq # @private class Representation < Google::Apis::Core::JsonRepresentation collection :per_instance_configs, as: 'perInstanceConfigs', class: Google::Apis::ComputeV1::PerInstanceConfig, decorator: Google::Apis::ComputeV1::PerInstanceConfig::Representation end end class RegionInstanceGroupManagerUpdateInstanceConfigReq # @private class Representation < Google::Apis::Core::JsonRepresentation collection :per_instance_configs, as: 'perInstanceConfigs', class: Google::Apis::ComputeV1::PerInstanceConfig, decorator: Google::Apis::ComputeV1::PerInstanceConfig::Representation end end class RegionInstanceGroupManagersAbandonInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances' end end class RegionInstanceGroupManagersApplyUpdatesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :all_instances, as: 'allInstances' collection :instances, as: 'instances' property :minimal_action, as: 'minimalAction' property :most_disruptive_allowed_action, as: 'mostDisruptiveAllowedAction' end end class RegionInstanceGroupManagersCreateInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances', class: Google::Apis::ComputeV1::PerInstanceConfig, decorator: Google::Apis::ComputeV1::PerInstanceConfig::Representation end end class RegionInstanceGroupManagersDeleteInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances' property :skip_instances_on_validation_error, as: 'skipInstancesOnValidationError' end end class RegionInstanceGroupManagersListErrorsResponse # @private class Representation < Google::Apis::Core::JsonRepresentation collection :items, as: 'items', class: Google::Apis::ComputeV1::InstanceManagedByIgmError, decorator: Google::Apis::ComputeV1::InstanceManagedByIgmError::Representation property :next_page_token, as: 'nextPageToken' end end class RegionInstanceGroupManagersListInstanceConfigsResp # @private class Representation < Google::Apis::Core::JsonRepresentation collection :items, as: 'items', class: Google::Apis::ComputeV1::PerInstanceConfig, decorator: Google::Apis::ComputeV1::PerInstanceConfig::Representation property :next_page_token, as: 'nextPageToken' property :warning, as: 'warning', class: Google::Apis::ComputeV1::RegionInstanceGroupManagersListInstanceConfigsResp::Warning, decorator: Google::Apis::ComputeV1::RegionInstanceGroupManagersListInstanceConfigsResp::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::RegionInstanceGroupManagersListInstanceConfigsResp::Warning::Datum, decorator: Google::Apis::ComputeV1::RegionInstanceGroupManagersListInstanceConfigsResp::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class RegionInstanceGroupManagersListInstancesResponse # @private class Representation < Google::Apis::Core::JsonRepresentation collection :managed_instances, as: 'managedInstances', class: Google::Apis::ComputeV1::ManagedInstance, decorator: Google::Apis::ComputeV1::ManagedInstance::Representation property :next_page_token, as: 'nextPageToken' end end class RegionInstanceGroupManagersRecreateRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances' end end class RegionInstanceGroupManagersResumeInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances' end end class RegionInstanceGroupManagersSetTargetPoolsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :fingerprint, :base64 => true, as: 'fingerprint' collection :target_pools, as: 'targetPools' end end class RegionInstanceGroupManagersSetTemplateRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :instance_template, as: 'instanceTemplate' end end class RegionInstanceGroupManagersStartInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances' end end class RegionInstanceGroupManagersStopInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :force_stop, as: 'forceStop' collection :instances, as: 'instances' end end class RegionInstanceGroupManagersSuspendInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :force_suspend, as: 'forceSuspend' collection :instances, as: 'instances' end end class RegionInstanceGroupsListInstances # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::InstanceWithNamedPorts, decorator: Google::Apis::ComputeV1::InstanceWithNamedPorts::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::RegionInstanceGroupsListInstances::Warning, decorator: Google::Apis::ComputeV1::RegionInstanceGroupsListInstances::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::RegionInstanceGroupsListInstances::Warning::Datum, decorator: Google::Apis::ComputeV1::RegionInstanceGroupsListInstances::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class RegionInstanceGroupsListInstancesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :instance_state, as: 'instanceState' property :port_name, as: 'portName' end end class RegionInstanceGroupsSetNamedPortsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :fingerprint, :base64 => true, as: 'fingerprint' collection :named_ports, as: 'namedPorts', class: Google::Apis::ComputeV1::NamedPort, decorator: Google::Apis::ComputeV1::NamedPort::Representation end end class RegionList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Region, decorator: Google::Apis::ComputeV1::Region::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::RegionList::Warning, decorator: Google::Apis::ComputeV1::RegionList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::RegionList::Warning::Datum, decorator: Google::Apis::ComputeV1::RegionList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class RegionNetworkEndpointGroupsAttachEndpointsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :network_endpoints, as: 'networkEndpoints', class: Google::Apis::ComputeV1::NetworkEndpoint, decorator: Google::Apis::ComputeV1::NetworkEndpoint::Representation end end class RegionNetworkEndpointGroupsDetachEndpointsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :network_endpoints, as: 'networkEndpoints', class: Google::Apis::ComputeV1::NetworkEndpoint, decorator: Google::Apis::ComputeV1::NetworkEndpoint::Representation end end class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse # @private class Representation < Google::Apis::Core::JsonRepresentation collection :firewall_policys, as: 'firewallPolicys', class: Google::Apis::ComputeV1::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy, decorator: Google::Apis::ComputeV1::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy::Representation collection :firewalls, as: 'firewalls', class: Google::Apis::ComputeV1::Firewall, decorator: Google::Apis::ComputeV1::Firewall::Representation end end class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :display_name, as: 'displayName' property :name, as: 'name' collection :packet_mirroring_rules, as: 'packetMirroringRules', class: Google::Apis::ComputeV1::FirewallPolicyRule, decorator: Google::Apis::ComputeV1::FirewallPolicyRule::Representation property :priority, as: 'priority' collection :rules, as: 'rules', class: Google::Apis::ComputeV1::FirewallPolicyRule, decorator: Google::Apis::ComputeV1::FirewallPolicyRule::Representation property :type, as: 'type' end end class RegionSetLabelsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' end end class RegionSetPolicyRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :bindings, as: 'bindings', class: Google::Apis::ComputeV1::Binding, decorator: Google::Apis::ComputeV1::Binding::Representation property :etag, :base64 => true, as: 'etag' property :policy, as: 'policy', class: Google::Apis::ComputeV1::Policy, decorator: Google::Apis::ComputeV1::Policy::Representation end end class RegionTargetHttpsProxiesSetSslCertificatesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :ssl_certificates, as: 'sslCertificates' end end class RegionUrlMapsValidateRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :resource, as: 'resource', class: Google::Apis::ComputeV1::UrlMap, decorator: Google::Apis::ComputeV1::UrlMap::Representation end end class RequestMirrorPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :backend_service, as: 'backendService' property :mirror_percent, as: 'mirrorPercent' end end class Reservation # @private class Representation < Google::Apis::Core::JsonRepresentation property :advanced_deployment_control, as: 'advancedDeploymentControl', class: Google::Apis::ComputeV1::ReservationAdvancedDeploymentControl, decorator: Google::Apis::ComputeV1::ReservationAdvancedDeploymentControl::Representation property :aggregate_reservation, as: 'aggregateReservation', class: Google::Apis::ComputeV1::AllocationAggregateReservation, decorator: Google::Apis::ComputeV1::AllocationAggregateReservation::Representation property :commitment, as: 'commitment' property :creation_timestamp, as: 'creationTimestamp' property :delete_after_duration, as: 'deleteAfterDuration', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation property :delete_at_time, as: 'deleteAtTime' property :deployment_type, as: 'deploymentType' property :description, as: 'description' property :enable_emergent_maintenance, as: 'enableEmergentMaintenance' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' collection :linked_commitments, as: 'linkedCommitments' property :name, as: 'name' property :protection_tier, as: 'protectionTier' property :reservation_sharing_policy, as: 'reservationSharingPolicy', class: Google::Apis::ComputeV1::AllocationReservationSharingPolicy, decorator: Google::Apis::ComputeV1::AllocationReservationSharingPolicy::Representation hash :resource_policies, as: 'resourcePolicies' property :resource_status, as: 'resourceStatus', class: Google::Apis::ComputeV1::AllocationResourceStatus, decorator: Google::Apis::ComputeV1::AllocationResourceStatus::Representation property :satisfies_pzs, as: 'satisfiesPzs' property :scheduling_type, as: 'schedulingType' property :self_link, as: 'selfLink' property :share_settings, as: 'shareSettings', class: Google::Apis::ComputeV1::ShareSettings, decorator: Google::Apis::ComputeV1::ShareSettings::Representation property :specific_reservation, as: 'specificReservation', class: Google::Apis::ComputeV1::AllocationSpecificSkuReservation, decorator: Google::Apis::ComputeV1::AllocationSpecificSkuReservation::Representation property :specific_reservation_required, as: 'specificReservationRequired' property :status, as: 'status' property :zone, as: 'zone' end end class ReservationAdvancedDeploymentControl # @private class Representation < Google::Apis::Core::JsonRepresentation property :reservation_operational_mode, as: 'reservationOperationalMode' end end class ReservationAffinity # @private class Representation < Google::Apis::Core::JsonRepresentation property :consume_reservation_type, as: 'consumeReservationType' property :key, as: 'key' collection :values, as: 'values' end end class ReservationAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::ReservationsScopedList, decorator: Google::Apis::ComputeV1::ReservationsScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::ReservationAggregatedList::Warning, decorator: Google::Apis::ComputeV1::ReservationAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ReservationAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::ReservationAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ReservationBlock # @private class Representation < Google::Apis::Core::JsonRepresentation property :count, as: 'count' property :creation_timestamp, as: 'creationTimestamp' property :health_info, as: 'healthInfo', class: Google::Apis::ComputeV1::ReservationBlockHealthInfo, decorator: Google::Apis::ComputeV1::ReservationBlockHealthInfo::Representation property :id, :numeric_string => true, as: 'id' property :in_use_count, as: 'inUseCount' property :in_use_host_count, as: 'inUseHostCount' property :kind, as: 'kind' property :name, as: 'name' property :physical_topology, as: 'physicalTopology', class: Google::Apis::ComputeV1::ReservationBlockPhysicalTopology, decorator: Google::Apis::ComputeV1::ReservationBlockPhysicalTopology::Representation property :reservation_maintenance, as: 'reservationMaintenance', class: Google::Apis::ComputeV1::GroupMaintenanceInfo, decorator: Google::Apis::ComputeV1::GroupMaintenanceInfo::Representation property :reservation_sub_block_count, as: 'reservationSubBlockCount' property :reservation_sub_block_in_use_count, as: 'reservationSubBlockInUseCount' property :self_link, as: 'selfLink' property :self_link_with_id, as: 'selfLinkWithId' property :status, as: 'status' property :zone, as: 'zone' end end class ReservationBlockHealthInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :degraded_sub_block_count, as: 'degradedSubBlockCount' property :health_status, as: 'healthStatus' property :healthy_sub_block_count, as: 'healthySubBlockCount' end end class ReservationBlockPhysicalTopology # @private class Representation < Google::Apis::Core::JsonRepresentation property :block, as: 'block' property :cluster, as: 'cluster' collection :instances, as: 'instances', class: Google::Apis::ComputeV1::ReservationBlockPhysicalTopologyInstance, decorator: Google::Apis::ComputeV1::ReservationBlockPhysicalTopologyInstance::Representation end end class ReservationBlockPhysicalTopologyInstance # @private class Representation < Google::Apis::Core::JsonRepresentation property :instance_id, :numeric_string => true, as: 'instanceId' property :physical_host_topology, as: 'physicalHostTopology', class: Google::Apis::ComputeV1::ReservationBlockPhysicalTopologyInstancePhysicalHostTopology, decorator: Google::Apis::ComputeV1::ReservationBlockPhysicalTopologyInstancePhysicalHostTopology::Representation property :project_id, :numeric_string => true, as: 'projectId' end end class ReservationBlockPhysicalTopologyInstancePhysicalHostTopology # @private class Representation < Google::Apis::Core::JsonRepresentation property :host, as: 'host' property :sub_block, as: 'subBlock' end end class ReservationBlocksGetResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :resource, as: 'resource', class: Google::Apis::ComputeV1::ReservationBlock, decorator: Google::Apis::ComputeV1::ReservationBlock::Representation end end class ReservationBlocksListResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::ReservationBlock, decorator: Google::Apis::ComputeV1::ReservationBlock::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::ReservationBlocksListResponse::Warning, decorator: Google::Apis::ComputeV1::ReservationBlocksListResponse::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ReservationBlocksListResponse::Warning::Datum, decorator: Google::Apis::ComputeV1::ReservationBlocksListResponse::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ReservationList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Reservation, decorator: Google::Apis::ComputeV1::Reservation::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::ReservationList::Warning, decorator: Google::Apis::ComputeV1::ReservationList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ReservationList::Warning::Datum, decorator: Google::Apis::ComputeV1::ReservationList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ReservationSlot # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :physical_topology, as: 'physicalTopology', class: Google::Apis::ComputeV1::ReservationSlotPhysicalTopology, decorator: Google::Apis::ComputeV1::ReservationSlotPhysicalTopology::Representation property :self_link, as: 'selfLink' property :self_link_with_id, as: 'selfLinkWithId' property :share_settings, as: 'shareSettings', class: Google::Apis::ComputeV1::ShareSettings, decorator: Google::Apis::ComputeV1::ShareSettings::Representation property :state, as: 'state' property :status, as: 'status', class: Google::Apis::ComputeV1::ReservationSlotStatus, decorator: Google::Apis::ComputeV1::ReservationSlotStatus::Representation property :zone, as: 'zone' end end class ReservationSlotPhysicalTopology # @private class Representation < Google::Apis::Core::JsonRepresentation property :block, as: 'block' property :cluster, as: 'cluster' property :host, as: 'host' property :sub_block, as: 'subBlock' end end class ReservationSlotStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :physical_topology, as: 'physicalTopology', class: Google::Apis::ComputeV1::ReservationSlotPhysicalTopology, decorator: Google::Apis::ComputeV1::ReservationSlotPhysicalTopology::Representation collection :rdma_ip_addresses, as: 'rdmaIpAddresses' collection :running_instances, as: 'runningInstances' end end class ReservationSlotsGetResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :resource, as: 'resource', class: Google::Apis::ComputeV1::ReservationSlot, decorator: Google::Apis::ComputeV1::ReservationSlot::Representation end end class ReservationSlotsListResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::ReservationSlot, decorator: Google::Apis::ComputeV1::ReservationSlot::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::ReservationSlotsListResponse::Warning, decorator: Google::Apis::ComputeV1::ReservationSlotsListResponse::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ReservationSlotsListResponse::Warning::Datum, decorator: Google::Apis::ComputeV1::ReservationSlotsListResponse::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ReservationSubBlock # @private class Representation < Google::Apis::Core::JsonRepresentation property :accelerator_topologies_info, as: 'acceleratorTopologiesInfo', class: Google::Apis::ComputeV1::AcceleratorTopologiesInfo, decorator: Google::Apis::ComputeV1::AcceleratorTopologiesInfo::Representation property :count, as: 'count' property :creation_timestamp, as: 'creationTimestamp' property :health_info, as: 'healthInfo', class: Google::Apis::ComputeV1::ReservationSubBlockHealthInfo, decorator: Google::Apis::ComputeV1::ReservationSubBlockHealthInfo::Representation property :id, :numeric_string => true, as: 'id' property :in_use_count, as: 'inUseCount' property :in_use_host_count, as: 'inUseHostCount' property :kind, as: 'kind' property :name, as: 'name' property :physical_topology, as: 'physicalTopology', class: Google::Apis::ComputeV1::ReservationSubBlockPhysicalTopology, decorator: Google::Apis::ComputeV1::ReservationSubBlockPhysicalTopology::Representation property :reservation_sub_block_maintenance, as: 'reservationSubBlockMaintenance', class: Google::Apis::ComputeV1::GroupMaintenanceInfo, decorator: Google::Apis::ComputeV1::GroupMaintenanceInfo::Representation property :self_link, as: 'selfLink' property :self_link_with_id, as: 'selfLinkWithId' property :status, as: 'status' property :zone, as: 'zone' end end class ReservationSubBlockHealthInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :degraded_host_count, as: 'degradedHostCount' property :degraded_infra_count, as: 'degradedInfraCount' property :health_status, as: 'healthStatus' property :healthy_host_count, as: 'healthyHostCount' property :healthy_infra_count, as: 'healthyInfraCount' end end class ReservationSubBlockPhysicalTopology # @private class Representation < Google::Apis::Core::JsonRepresentation property :block, as: 'block' property :cluster, as: 'cluster' property :sub_block, as: 'subBlock' end end class ReservationSubBlocksGetResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :resource, as: 'resource', class: Google::Apis::ComputeV1::ReservationSubBlock, decorator: Google::Apis::ComputeV1::ReservationSubBlock::Representation end end class ReservationSubBlocksListResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::ReservationSubBlock, decorator: Google::Apis::ComputeV1::ReservationSubBlock::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::ReservationSubBlocksListResponse::Warning, decorator: Google::Apis::ComputeV1::ReservationSubBlocksListResponse::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ReservationSubBlocksListResponse::Warning::Datum, decorator: Google::Apis::ComputeV1::ReservationSubBlocksListResponse::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ReservationSubBlocksReportFaultyRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :disruption_schedule, as: 'disruptionSchedule' property :failure_component, as: 'failureComponent' collection :fault_reasons, as: 'faultReasons', class: Google::Apis::ComputeV1::ReservationSubBlocksReportFaultyRequestFaultReason, decorator: Google::Apis::ComputeV1::ReservationSubBlocksReportFaultyRequestFaultReason::Representation end end class ReservationSubBlocksReportFaultyRequestFaultReason # @private class Representation < Google::Apis::Core::JsonRepresentation property :behavior, as: 'behavior' property :description, as: 'description' end end class ReservationsBlocksPerformMaintenanceRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :maintenance_scope, as: 'maintenanceScope' end end class ReservationsPerformMaintenanceRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :maintenance_scope, as: 'maintenanceScope' end end class ReservationsResizeRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :specific_sku_count, :numeric_string => true, as: 'specificSkuCount' end end class ReservationsScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :reservations, as: 'reservations', class: Google::Apis::ComputeV1::Reservation, decorator: Google::Apis::ComputeV1::Reservation::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::ReservationsScopedList::Warning, decorator: Google::Apis::ComputeV1::ReservationsScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ReservationsScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::ReservationsScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ResourceCommitment # @private class Representation < Google::Apis::Core::JsonRepresentation property :accelerator_type, as: 'acceleratorType' property :amount, :numeric_string => true, as: 'amount' property :type, as: 'type' end end class ResourceGroupReference # @private class Representation < Google::Apis::Core::JsonRepresentation property :group, as: 'group' end end class ResourcePoliciesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :resource_policies, as: 'resourcePolicies', class: Google::Apis::ComputeV1::ResourcePolicy, decorator: Google::Apis::ComputeV1::ResourcePolicy::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::ResourcePoliciesScopedList::Warning, decorator: Google::Apis::ComputeV1::ResourcePoliciesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ResourcePoliciesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::ResourcePoliciesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ResourcePolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :disk_consistency_group_policy, as: 'diskConsistencyGroupPolicy', class: Google::Apis::ComputeV1::ResourcePolicyDiskConsistencyGroupPolicy, decorator: Google::Apis::ComputeV1::ResourcePolicyDiskConsistencyGroupPolicy::Representation property :group_placement_policy, as: 'groupPlacementPolicy', class: Google::Apis::ComputeV1::ResourcePolicyGroupPlacementPolicy, decorator: Google::Apis::ComputeV1::ResourcePolicyGroupPlacementPolicy::Representation property :id, :numeric_string => true, as: 'id' property :instance_schedule_policy, as: 'instanceSchedulePolicy', class: Google::Apis::ComputeV1::ResourcePolicyInstanceSchedulePolicy, decorator: Google::Apis::ComputeV1::ResourcePolicyInstanceSchedulePolicy::Representation property :kind, as: 'kind' property :name, as: 'name' property :region, as: 'region' property :resource_status, as: 'resourceStatus', class: Google::Apis::ComputeV1::ResourcePolicyResourceStatus, decorator: Google::Apis::ComputeV1::ResourcePolicyResourceStatus::Representation property :self_link, as: 'selfLink' property :snapshot_schedule_policy, as: 'snapshotSchedulePolicy', class: Google::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicy, decorator: Google::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicy::Representation property :status, as: 'status' property :workload_policy, as: 'workloadPolicy', class: Google::Apis::ComputeV1::ResourcePolicyWorkloadPolicy, decorator: Google::Apis::ComputeV1::ResourcePolicyWorkloadPolicy::Representation end end class ResourcePolicyAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::ResourcePoliciesScopedList, decorator: Google::Apis::ComputeV1::ResourcePoliciesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::ResourcePolicyAggregatedList::Warning, decorator: Google::Apis::ComputeV1::ResourcePolicyAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ResourcePolicyAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::ResourcePolicyAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ResourcePolicyDailyCycle # @private class Representation < Google::Apis::Core::JsonRepresentation property :days_in_cycle, as: 'daysInCycle' property :duration, as: 'duration' property :start_time, as: 'startTime' end end class ResourcePolicyDiskConsistencyGroupPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation end end class ResourcePolicyGroupPlacementPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :accelerator_topology_mode, as: 'acceleratorTopologyMode' property :availability_domain_count, as: 'availabilityDomainCount' property :collocation, as: 'collocation' property :gpu_topology, as: 'gpuTopology' property :vm_count, as: 'vmCount' end end class ResourcePolicyHourlyCycle # @private class Representation < Google::Apis::Core::JsonRepresentation property :duration, as: 'duration' property :hours_in_cycle, as: 'hoursInCycle' property :start_time, as: 'startTime' end end class ResourcePolicyInstanceSchedulePolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :expiration_time, as: 'expirationTime' property :start_time, as: 'startTime' property :time_zone, as: 'timeZone' property :vm_start_schedule, as: 'vmStartSchedule', class: Google::Apis::ComputeV1::ResourcePolicyInstanceSchedulePolicySchedule, decorator: Google::Apis::ComputeV1::ResourcePolicyInstanceSchedulePolicySchedule::Representation property :vm_stop_schedule, as: 'vmStopSchedule', class: Google::Apis::ComputeV1::ResourcePolicyInstanceSchedulePolicySchedule, decorator: Google::Apis::ComputeV1::ResourcePolicyInstanceSchedulePolicySchedule::Representation end end class ResourcePolicyInstanceSchedulePolicySchedule # @private class Representation < Google::Apis::Core::JsonRepresentation property :schedule, as: 'schedule' end end class ResourcePolicyList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::ResourcePolicy, decorator: Google::Apis::ComputeV1::ResourcePolicy::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::ResourcePolicyList::Warning, decorator: Google::Apis::ComputeV1::ResourcePolicyList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ResourcePolicyList::Warning::Datum, decorator: Google::Apis::ComputeV1::ResourcePolicyList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ResourcePolicyResourceStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :instance_schedule_policy, as: 'instanceSchedulePolicy', class: Google::Apis::ComputeV1::ResourcePolicyResourceStatusInstanceSchedulePolicyStatus, decorator: Google::Apis::ComputeV1::ResourcePolicyResourceStatusInstanceSchedulePolicyStatus::Representation end end class ResourcePolicyResourceStatusInstanceSchedulePolicyStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :last_run_start_time, as: 'lastRunStartTime' property :next_run_start_time, as: 'nextRunStartTime' end end class ResourcePolicySnapshotSchedulePolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :retention_policy, as: 'retentionPolicy', class: Google::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicyRetentionPolicy, decorator: Google::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicyRetentionPolicy::Representation property :schedule, as: 'schedule', class: Google::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicySchedule, decorator: Google::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicySchedule::Representation property :snapshot_properties, as: 'snapshotProperties', class: Google::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicySnapshotProperties, decorator: Google::Apis::ComputeV1::ResourcePolicySnapshotSchedulePolicySnapshotProperties::Representation end end class ResourcePolicySnapshotSchedulePolicyRetentionPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :max_retention_days, as: 'maxRetentionDays' property :on_source_disk_delete, as: 'onSourceDiskDelete' end end class ResourcePolicySnapshotSchedulePolicySchedule # @private class Representation < Google::Apis::Core::JsonRepresentation property :daily_schedule, as: 'dailySchedule', class: Google::Apis::ComputeV1::ResourcePolicyDailyCycle, decorator: Google::Apis::ComputeV1::ResourcePolicyDailyCycle::Representation property :hourly_schedule, as: 'hourlySchedule', class: Google::Apis::ComputeV1::ResourcePolicyHourlyCycle, decorator: Google::Apis::ComputeV1::ResourcePolicyHourlyCycle::Representation property :weekly_schedule, as: 'weeklySchedule', class: Google::Apis::ComputeV1::ResourcePolicyWeeklyCycle, decorator: Google::Apis::ComputeV1::ResourcePolicyWeeklyCycle::Representation end end class ResourcePolicySnapshotSchedulePolicySnapshotProperties # @private class Representation < Google::Apis::Core::JsonRepresentation property :chain_name, as: 'chainName' property :guest_flush, as: 'guestFlush' hash :labels, as: 'labels' collection :storage_locations, as: 'storageLocations' end end class ResourcePolicyWeeklyCycle # @private class Representation < Google::Apis::Core::JsonRepresentation collection :day_of_weeks, as: 'dayOfWeeks', class: Google::Apis::ComputeV1::ResourcePolicyWeeklyCycleDayOfWeek, decorator: Google::Apis::ComputeV1::ResourcePolicyWeeklyCycleDayOfWeek::Representation end end class ResourcePolicyWeeklyCycleDayOfWeek # @private class Representation < Google::Apis::Core::JsonRepresentation property :day, as: 'day' property :duration, as: 'duration' property :start_time, as: 'startTime' end end class ResourcePolicyWorkloadPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :accelerator_topology, as: 'acceleratorTopology' property :max_topology_distance, as: 'maxTopologyDistance' property :type, as: 'type' end end class ResourceStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :effective_instance_metadata, as: 'effectiveInstanceMetadata', class: Google::Apis::ComputeV1::ResourceStatusEffectiveInstanceMetadata, decorator: Google::Apis::ComputeV1::ResourceStatusEffectiveInstanceMetadata::Representation property :physical_host, as: 'physicalHost' property :physical_host_topology, as: 'physicalHostTopology', class: Google::Apis::ComputeV1::ResourceStatusPhysicalHostTopology, decorator: Google::Apis::ComputeV1::ResourceStatusPhysicalHostTopology::Representation property :reservation_consumption_info, as: 'reservationConsumptionInfo', class: Google::Apis::ComputeV1::ResourceStatusReservationConsumptionInfo, decorator: Google::Apis::ComputeV1::ResourceStatusReservationConsumptionInfo::Representation property :scheduling, as: 'scheduling', class: Google::Apis::ComputeV1::ResourceStatusScheduling, decorator: Google::Apis::ComputeV1::ResourceStatusScheduling::Representation property :upcoming_maintenance, as: 'upcomingMaintenance', class: Google::Apis::ComputeV1::UpcomingMaintenance, decorator: Google::Apis::ComputeV1::UpcomingMaintenance::Representation end end class ResourceStatusEffectiveInstanceMetadata # @private class Representation < Google::Apis::Core::JsonRepresentation property :block_project_ssh_keys_metadata_value, as: 'blockProjectSshKeysMetadataValue' property :enable_guest_attributes_metadata_value, as: 'enableGuestAttributesMetadataValue' property :enable_os_inventory_metadata_value, as: 'enableOsInventoryMetadataValue' property :enable_osconfig_metadata_value, as: 'enableOsconfigMetadataValue' property :enable_oslogin_metadata_value, as: 'enableOsloginMetadataValue' property :serial_port_enable_metadata_value, as: 'serialPortEnableMetadataValue' property :serial_port_logging_enable_metadata_value, as: 'serialPortLoggingEnableMetadataValue' property :vm_dns_setting_metadata_value, as: 'vmDnsSettingMetadataValue' end end class ResourceStatusPhysicalHostTopology # @private class Representation < Google::Apis::Core::JsonRepresentation property :block, as: 'block' property :cluster, as: 'cluster' property :host, as: 'host' property :subblock, as: 'subblock' end end class ResourceStatusReservationConsumptionInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :consumed_reservation, as: 'consumedReservation' end end class ResourceStatusScheduling # @private class Representation < Google::Apis::Core::JsonRepresentation property :availability_domain, as: 'availabilityDomain' end end class Route # @private class Representation < Google::Apis::Core::JsonRepresentation collection :as_paths, as: 'asPaths', class: Google::Apis::ComputeV1::RouteAsPath, decorator: Google::Apis::ComputeV1::RouteAsPath::Representation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :dest_range, as: 'destRange' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :network, as: 'network' property :next_hop_gateway, as: 'nextHopGateway' property :next_hop_hub, as: 'nextHopHub' property :next_hop_ilb, as: 'nextHopIlb' property :next_hop_instance, as: 'nextHopInstance' property :next_hop_inter_region_cost, as: 'nextHopInterRegionCost' property :next_hop_interconnect_attachment, as: 'nextHopInterconnectAttachment' property :next_hop_ip, as: 'nextHopIp' property :next_hop_med, as: 'nextHopMed' property :next_hop_network, as: 'nextHopNetwork' property :next_hop_origin, as: 'nextHopOrigin' property :next_hop_peering, as: 'nextHopPeering' property :next_hop_vpn_tunnel, as: 'nextHopVpnTunnel' property :params, as: 'params', class: Google::Apis::ComputeV1::RouteParams, decorator: Google::Apis::ComputeV1::RouteParams::Representation property :priority, as: 'priority' property :route_status, as: 'routeStatus' property :route_type, as: 'routeType' property :self_link, as: 'selfLink' collection :tags, as: 'tags' collection :warnings, as: 'warnings', class: Google::Apis::ComputeV1::Route::Warning, decorator: Google::Apis::ComputeV1::Route::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::Route::Warning::Datum, decorator: Google::Apis::ComputeV1::Route::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class RouteAsPath # @private class Representation < Google::Apis::Core::JsonRepresentation collection :as_lists, as: 'asLists' property :path_segment_type, as: 'pathSegmentType' end end class RouteList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Route, decorator: Google::Apis::ComputeV1::Route::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::RouteList::Warning, decorator: Google::Apis::ComputeV1::RouteList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::RouteList::Warning::Datum, decorator: Google::Apis::ComputeV1::RouteList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class RouteParams # @private class Representation < Google::Apis::Core::JsonRepresentation hash :resource_manager_tags, as: 'resourceManagerTags' end end class RoutePolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :description, as: 'description' property :fingerprint, :base64 => true, as: 'fingerprint' property :name, as: 'name' collection :terms, as: 'terms', class: Google::Apis::ComputeV1::RoutePolicyPolicyTerm, decorator: Google::Apis::ComputeV1::RoutePolicyPolicyTerm::Representation property :type, as: 'type' end end class RoutePolicyPolicyTerm # @private class Representation < Google::Apis::Core::JsonRepresentation collection :actions, as: 'actions', class: Google::Apis::ComputeV1::Expr, decorator: Google::Apis::ComputeV1::Expr::Representation property :match, as: 'match', class: Google::Apis::ComputeV1::Expr, decorator: Google::Apis::ComputeV1::Expr::Representation property :priority, as: 'priority' end end class Router # @private class Representation < Google::Apis::Core::JsonRepresentation property :bgp, as: 'bgp', class: Google::Apis::ComputeV1::RouterBgp, decorator: Google::Apis::ComputeV1::RouterBgp::Representation collection :bgp_peers, as: 'bgpPeers', class: Google::Apis::ComputeV1::RouterBgpPeer, decorator: Google::Apis::ComputeV1::RouterBgpPeer::Representation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :encrypted_interconnect_router, as: 'encryptedInterconnectRouter' property :id, :numeric_string => true, as: 'id' collection :interfaces, as: 'interfaces', class: Google::Apis::ComputeV1::RouterInterface, decorator: Google::Apis::ComputeV1::RouterInterface::Representation property :kind, as: 'kind' collection :md5_authentication_keys, as: 'md5AuthenticationKeys', class: Google::Apis::ComputeV1::RouterMd5AuthenticationKey, decorator: Google::Apis::ComputeV1::RouterMd5AuthenticationKey::Representation property :name, as: 'name' collection :nats, as: 'nats', class: Google::Apis::ComputeV1::RouterNat, decorator: Google::Apis::ComputeV1::RouterNat::Representation property :network, as: 'network' property :params, as: 'params', class: Google::Apis::ComputeV1::RouterParams, decorator: Google::Apis::ComputeV1::RouterParams::Representation property :region, as: 'region' property :self_link, as: 'selfLink' end end class RouterAdvertisedIpRange # @private class Representation < Google::Apis::Core::JsonRepresentation property :description, as: 'description' property :range, as: 'range' end end class RouterAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::RoutersScopedList, decorator: Google::Apis::ComputeV1::RoutersScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::RouterAggregatedList::Warning, decorator: Google::Apis::ComputeV1::RouterAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::RouterAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::RouterAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class RouterBgp # @private class Representation < Google::Apis::Core::JsonRepresentation property :advertise_mode, as: 'advertiseMode' collection :advertised_groups, as: 'advertisedGroups' collection :advertised_ip_ranges, as: 'advertisedIpRanges', class: Google::Apis::ComputeV1::RouterAdvertisedIpRange, decorator: Google::Apis::ComputeV1::RouterAdvertisedIpRange::Representation property :asn, as: 'asn' property :identifier_range, as: 'identifierRange' property :keepalive_interval, as: 'keepaliveInterval' end end class RouterBgpPeer # @private class Representation < Google::Apis::Core::JsonRepresentation property :advertise_mode, as: 'advertiseMode' collection :advertised_groups, as: 'advertisedGroups' collection :advertised_ip_ranges, as: 'advertisedIpRanges', class: Google::Apis::ComputeV1::RouterAdvertisedIpRange, decorator: Google::Apis::ComputeV1::RouterAdvertisedIpRange::Representation property :advertised_route_priority, as: 'advertisedRoutePriority' property :bfd, as: 'bfd', class: Google::Apis::ComputeV1::RouterBgpPeerBfd, decorator: Google::Apis::ComputeV1::RouterBgpPeerBfd::Representation collection :custom_learned_ip_ranges, as: 'customLearnedIpRanges', class: Google::Apis::ComputeV1::RouterBgpPeerCustomLearnedIpRange, decorator: Google::Apis::ComputeV1::RouterBgpPeerCustomLearnedIpRange::Representation property :custom_learned_route_priority, as: 'customLearnedRoutePriority' property :enable, as: 'enable' property :enable_ipv4, as: 'enableIpv4' property :enable_ipv6, as: 'enableIpv6' collection :export_policies, as: 'exportPolicies' collection :import_policies, as: 'importPolicies' property :interface_name, as: 'interfaceName' property :ip_address, as: 'ipAddress' property :ipv4_nexthop_address, as: 'ipv4NexthopAddress' property :ipv6_nexthop_address, as: 'ipv6NexthopAddress' property :management_type, as: 'managementType' property :md5_authentication_key_name, as: 'md5AuthenticationKeyName' property :name, as: 'name' property :peer_asn, as: 'peerAsn' property :peer_ip_address, as: 'peerIpAddress' property :peer_ipv4_nexthop_address, as: 'peerIpv4NexthopAddress' property :peer_ipv6_nexthop_address, as: 'peerIpv6NexthopAddress' property :router_appliance_instance, as: 'routerApplianceInstance' end end class RouterBgpPeerBfd # @private class Representation < Google::Apis::Core::JsonRepresentation property :min_receive_interval, as: 'minReceiveInterval' property :min_transmit_interval, as: 'minTransmitInterval' property :multiplier, as: 'multiplier' property :session_initialization_mode, as: 'sessionInitializationMode' end end class RouterBgpPeerCustomLearnedIpRange # @private class Representation < Google::Apis::Core::JsonRepresentation property :range, as: 'range' end end class RouterInterface # @private class Representation < Google::Apis::Core::JsonRepresentation property :ip_range, as: 'ipRange' property :ip_version, as: 'ipVersion' property :linked_interconnect_attachment, as: 'linkedInterconnectAttachment' property :linked_vpn_tunnel, as: 'linkedVpnTunnel' property :management_type, as: 'managementType' property :name, as: 'name' property :private_ip_address, as: 'privateIpAddress' property :redundant_interface, as: 'redundantInterface' property :subnetwork, as: 'subnetwork' end end class RouterList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Router, decorator: Google::Apis::ComputeV1::Router::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::RouterList::Warning, decorator: Google::Apis::ComputeV1::RouterList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::RouterList::Warning::Datum, decorator: Google::Apis::ComputeV1::RouterList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class RouterMd5AuthenticationKey # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :name, as: 'name' end end class RouterNat # @private class Representation < Google::Apis::Core::JsonRepresentation property :auto_network_tier, as: 'autoNetworkTier' collection :drain_nat_ips, as: 'drainNatIps' property :enable_dynamic_port_allocation, as: 'enableDynamicPortAllocation' property :enable_endpoint_independent_mapping, as: 'enableEndpointIndependentMapping' collection :endpoint_types, as: 'endpointTypes' property :icmp_idle_timeout_sec, as: 'icmpIdleTimeoutSec' property :log_config, as: 'logConfig', class: Google::Apis::ComputeV1::RouterNatLogConfig, decorator: Google::Apis::ComputeV1::RouterNatLogConfig::Representation property :max_ports_per_vm, as: 'maxPortsPerVm' property :min_ports_per_vm, as: 'minPortsPerVm' property :name, as: 'name' collection :nat64_subnetworks, as: 'nat64Subnetworks', class: Google::Apis::ComputeV1::RouterNatSubnetworkToNat64, decorator: Google::Apis::ComputeV1::RouterNatSubnetworkToNat64::Representation property :nat_ip_allocate_option, as: 'natIpAllocateOption' collection :nat_ips, as: 'natIps' collection :rules, as: 'rules', class: Google::Apis::ComputeV1::RouterNatRule, decorator: Google::Apis::ComputeV1::RouterNatRule::Representation property :source_subnetwork_ip_ranges_to_nat, as: 'sourceSubnetworkIpRangesToNat' property :source_subnetwork_ip_ranges_to_nat64, as: 'sourceSubnetworkIpRangesToNat64' collection :subnetworks, as: 'subnetworks', class: Google::Apis::ComputeV1::RouterNatSubnetworkToNat, decorator: Google::Apis::ComputeV1::RouterNatSubnetworkToNat::Representation property :tcp_established_idle_timeout_sec, as: 'tcpEstablishedIdleTimeoutSec' property :tcp_time_wait_timeout_sec, as: 'tcpTimeWaitTimeoutSec' property :tcp_transitory_idle_timeout_sec, as: 'tcpTransitoryIdleTimeoutSec' property :type, as: 'type' property :udp_idle_timeout_sec, as: 'udpIdleTimeoutSec' end end class RouterNatLogConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :enable, as: 'enable' property :filter, as: 'filter' end end class RouterNatRule # @private class Representation < Google::Apis::Core::JsonRepresentation property :action, as: 'action', class: Google::Apis::ComputeV1::RouterNatRuleAction, decorator: Google::Apis::ComputeV1::RouterNatRuleAction::Representation property :description, as: 'description' property :match, as: 'match' property :rule_number, as: 'ruleNumber' end end class RouterNatRuleAction # @private class Representation < Google::Apis::Core::JsonRepresentation collection :source_nat_active_ips, as: 'sourceNatActiveIps' collection :source_nat_active_ranges, as: 'sourceNatActiveRanges' collection :source_nat_drain_ips, as: 'sourceNatDrainIps' collection :source_nat_drain_ranges, as: 'sourceNatDrainRanges' end end class RouterNatSubnetworkToNat # @private class Representation < Google::Apis::Core::JsonRepresentation property :name, as: 'name' collection :secondary_ip_range_names, as: 'secondaryIpRangeNames' collection :source_ip_ranges_to_nat, as: 'sourceIpRangesToNat' end end class RouterNatSubnetworkToNat64 # @private class Representation < Google::Apis::Core::JsonRepresentation property :name, as: 'name' end end class RouterParams # @private class Representation < Google::Apis::Core::JsonRepresentation hash :resource_manager_tags, as: 'resourceManagerTags' end end class RouterStatus # @private class Representation < Google::Apis::Core::JsonRepresentation collection :best_routes, as: 'bestRoutes', class: Google::Apis::ComputeV1::Route, decorator: Google::Apis::ComputeV1::Route::Representation collection :best_routes_for_router, as: 'bestRoutesForRouter', class: Google::Apis::ComputeV1::Route, decorator: Google::Apis::ComputeV1::Route::Representation collection :bgp_peer_status, as: 'bgpPeerStatus', class: Google::Apis::ComputeV1::RouterStatusBgpPeerStatus, decorator: Google::Apis::ComputeV1::RouterStatusBgpPeerStatus::Representation collection :nat_status, as: 'natStatus', class: Google::Apis::ComputeV1::RouterStatusNatStatus, decorator: Google::Apis::ComputeV1::RouterStatusNatStatus::Representation property :network, as: 'network' end end class RouterStatusBgpPeerStatus # @private class Representation < Google::Apis::Core::JsonRepresentation collection :advertised_routes, as: 'advertisedRoutes', class: Google::Apis::ComputeV1::Route, decorator: Google::Apis::ComputeV1::Route::Representation property :bfd_status, as: 'bfdStatus', class: Google::Apis::ComputeV1::BfdStatus, decorator: Google::Apis::ComputeV1::BfdStatus::Representation property :enable_ipv4, as: 'enableIpv4' property :enable_ipv6, as: 'enableIpv6' property :ip_address, as: 'ipAddress' property :ipv4_nexthop_address, as: 'ipv4NexthopAddress' property :ipv6_nexthop_address, as: 'ipv6NexthopAddress' property :linked_vpn_tunnel, as: 'linkedVpnTunnel' property :md5_auth_enabled, as: 'md5AuthEnabled' property :name, as: 'name' property :num_learned_routes, as: 'numLearnedRoutes' property :peer_ip_address, as: 'peerIpAddress' property :peer_ipv4_nexthop_address, as: 'peerIpv4NexthopAddress' property :peer_ipv6_nexthop_address, as: 'peerIpv6NexthopAddress' property :router_appliance_instance, as: 'routerApplianceInstance' property :state, as: 'state' property :status, as: 'status' property :status_reason, as: 'statusReason' property :uptime, as: 'uptime' property :uptime_seconds, as: 'uptimeSeconds' end end class RouterStatusNatStatus # @private class Representation < Google::Apis::Core::JsonRepresentation collection :auto_allocated_nat_ips, as: 'autoAllocatedNatIps' collection :drain_auto_allocated_nat_ips, as: 'drainAutoAllocatedNatIps' collection :drain_user_allocated_nat_ips, as: 'drainUserAllocatedNatIps' property :min_extra_nat_ips_needed, as: 'minExtraNatIpsNeeded' property :name, as: 'name' property :num_vm_endpoints_with_nat_mappings, as: 'numVmEndpointsWithNatMappings' collection :rule_status, as: 'ruleStatus', class: Google::Apis::ComputeV1::RouterStatusNatStatusNatRuleStatus, decorator: Google::Apis::ComputeV1::RouterStatusNatStatusNatRuleStatus::Representation collection :user_allocated_nat_ip_resources, as: 'userAllocatedNatIpResources' collection :user_allocated_nat_ips, as: 'userAllocatedNatIps' end end class RouterStatusNatStatusNatRuleStatus # @private class Representation < Google::Apis::Core::JsonRepresentation collection :active_nat_ips, as: 'activeNatIps' collection :drain_nat_ips, as: 'drainNatIps' property :min_extra_ips_needed, as: 'minExtraIpsNeeded' property :num_vm_endpoints_with_nat_mappings, as: 'numVmEndpointsWithNatMappings' property :rule_number, as: 'ruleNumber' end end class RouterStatusResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :kind, as: 'kind' property :result, as: 'result', class: Google::Apis::ComputeV1::RouterStatus, decorator: Google::Apis::ComputeV1::RouterStatus::Representation end end class RoutersGetRoutePolicyResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :resource, as: 'resource', class: Google::Apis::ComputeV1::RoutePolicy, decorator: Google::Apis::ComputeV1::RoutePolicy::Representation end end class RoutersListBgpRoutes # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' collection :result, as: 'result', class: Google::Apis::ComputeV1::BgpRoute, decorator: Google::Apis::ComputeV1::BgpRoute::Representation property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::RoutersListBgpRoutes::Warning, decorator: Google::Apis::ComputeV1::RoutersListBgpRoutes::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::RoutersListBgpRoutes::Warning::Datum, decorator: Google::Apis::ComputeV1::RoutersListBgpRoutes::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class RoutersListRoutePolicies # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' collection :result, as: 'result', class: Google::Apis::ComputeV1::RoutePolicy, decorator: Google::Apis::ComputeV1::RoutePolicy::Representation property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::RoutersListRoutePolicies::Warning, decorator: Google::Apis::ComputeV1::RoutersListRoutePolicies::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::RoutersListRoutePolicies::Warning::Datum, decorator: Google::Apis::ComputeV1::RoutersListRoutePolicies::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class RoutersPreviewResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :resource, as: 'resource', class: Google::Apis::ComputeV1::Router, decorator: Google::Apis::ComputeV1::Router::Representation end end class RoutersScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :routers, as: 'routers', class: Google::Apis::ComputeV1::Router, decorator: Google::Apis::ComputeV1::Router::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::RoutersScopedList::Warning, decorator: Google::Apis::ComputeV1::RoutersScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::RoutersScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::RoutersScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class SslHealthCheck # @private class Representation < Google::Apis::Core::JsonRepresentation property :port, as: 'port' property :port_name, as: 'portName' property :port_specification, as: 'portSpecification' property :proxy_header, as: 'proxyHeader' property :request, as: 'request' property :response, as: 'response' end end class SavedAttachedDisk # @private class Representation < Google::Apis::Core::JsonRepresentation property :auto_delete, as: 'autoDelete' property :boot, as: 'boot' property :device_name, as: 'deviceName' property :disk_encryption_key, as: 'diskEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :disk_size_gb, :numeric_string => true, as: 'diskSizeGb' property :disk_type, as: 'diskType' collection :guest_os_features, as: 'guestOsFeatures', class: Google::Apis::ComputeV1::GuestOsFeature, decorator: Google::Apis::ComputeV1::GuestOsFeature::Representation property :index, as: 'index' property :interface, as: 'interface' property :kind, as: 'kind' collection :licenses, as: 'licenses' property :mode, as: 'mode' property :source, as: 'source' property :storage_bytes, :numeric_string => true, as: 'storageBytes' property :storage_bytes_status, as: 'storageBytesStatus' property :type, as: 'type' end end class SavedDisk # @private class Representation < Google::Apis::Core::JsonRepresentation property :architecture, as: 'architecture' property :kind, as: 'kind' property :source_disk, as: 'sourceDisk' property :storage_bytes, :numeric_string => true, as: 'storageBytes' property :storage_bytes_status, as: 'storageBytesStatus' end end class ScalingScheduleStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :last_start_time, as: 'lastStartTime' property :next_start_time, as: 'nextStartTime' property :state, as: 'state' end end class Scheduling # @private class Representation < Google::Apis::Core::JsonRepresentation property :automatic_restart, as: 'automaticRestart' property :availability_domain, as: 'availabilityDomain' property :host_error_timeout_seconds, as: 'hostErrorTimeoutSeconds' property :instance_termination_action, as: 'instanceTerminationAction' property :local_ssd_recovery_timeout, as: 'localSsdRecoveryTimeout', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation property :location_hint, as: 'locationHint' property :max_run_duration, as: 'maxRunDuration', class: Google::Apis::ComputeV1::Duration, decorator: Google::Apis::ComputeV1::Duration::Representation property :min_node_cpus, as: 'minNodeCpus' collection :node_affinities, as: 'nodeAffinities', class: Google::Apis::ComputeV1::SchedulingNodeAffinity, decorator: Google::Apis::ComputeV1::SchedulingNodeAffinity::Representation property :on_host_maintenance, as: 'onHostMaintenance' property :on_instance_stop_action, as: 'onInstanceStopAction', class: Google::Apis::ComputeV1::SchedulingOnInstanceStopAction, decorator: Google::Apis::ComputeV1::SchedulingOnInstanceStopAction::Representation property :preemptible, as: 'preemptible' property :provisioning_model, as: 'provisioningModel' property :skip_guest_os_shutdown, as: 'skipGuestOsShutdown' property :termination_time, as: 'terminationTime' end end class SchedulingNodeAffinity # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :operator, as: 'operator' collection :values, as: 'values' end end class SchedulingOnInstanceStopAction # @private class Representation < Google::Apis::Core::JsonRepresentation property :discard_local_ssd, as: 'discardLocalSsd' end end class Screenshot # @private class Representation < Google::Apis::Core::JsonRepresentation property :contents, as: 'contents' property :kind, as: 'kind' end end class SecurityPoliciesAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::SecurityPoliciesScopedList, decorator: Google::Apis::ComputeV1::SecurityPoliciesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::SecurityPoliciesAggregatedList::Warning, decorator: Google::Apis::ComputeV1::SecurityPoliciesAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::SecurityPoliciesAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::SecurityPoliciesAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class SecurityPoliciesListPreconfiguredExpressionSetsResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :preconfigured_expression_sets, as: 'preconfiguredExpressionSets', class: Google::Apis::ComputeV1::SecurityPoliciesWafConfig, decorator: Google::Apis::ComputeV1::SecurityPoliciesWafConfig::Representation end end class SecurityPoliciesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :security_policies, as: 'securityPolicies', class: Google::Apis::ComputeV1::SecurityPolicy, decorator: Google::Apis::ComputeV1::SecurityPolicy::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::SecurityPoliciesScopedList::Warning, decorator: Google::Apis::ComputeV1::SecurityPoliciesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::SecurityPoliciesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::SecurityPoliciesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class SecurityPoliciesWafConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :waf_rules, as: 'wafRules', class: Google::Apis::ComputeV1::PreconfiguredWafSet, decorator: Google::Apis::ComputeV1::PreconfiguredWafSet::Representation end end class SecurityPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :adaptive_protection_config, as: 'adaptiveProtectionConfig', class: Google::Apis::ComputeV1::SecurityPolicyAdaptiveProtectionConfig, decorator: Google::Apis::ComputeV1::SecurityPolicyAdaptiveProtectionConfig::Representation property :advanced_options_config, as: 'advancedOptionsConfig', class: Google::Apis::ComputeV1::SecurityPolicyAdvancedOptionsConfig, decorator: Google::Apis::ComputeV1::SecurityPolicyAdvancedOptionsConfig::Representation collection :associations, as: 'associations', class: Google::Apis::ComputeV1::SecurityPolicyAssociation, decorator: Google::Apis::ComputeV1::SecurityPolicyAssociation::Representation property :creation_timestamp, as: 'creationTimestamp' property :ddos_protection_config, as: 'ddosProtectionConfig', class: Google::Apis::ComputeV1::SecurityPolicyDdosProtectionConfig, decorator: Google::Apis::ComputeV1::SecurityPolicyDdosProtectionConfig::Representation property :description, as: 'description' property :fingerprint, :base64 => true, as: 'fingerprint' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' property :name, as: 'name' property :parent, as: 'parent' property :recaptcha_options_config, as: 'recaptchaOptionsConfig', class: Google::Apis::ComputeV1::SecurityPolicyRecaptchaOptionsConfig, decorator: Google::Apis::ComputeV1::SecurityPolicyRecaptchaOptionsConfig::Representation property :region, as: 'region' collection :rules, as: 'rules', class: Google::Apis::ComputeV1::SecurityPolicyRule, decorator: Google::Apis::ComputeV1::SecurityPolicyRule::Representation property :self_link, as: 'selfLink' property :short_name, as: 'shortName' property :type, as: 'type' collection :user_defined_fields, as: 'userDefinedFields', class: Google::Apis::ComputeV1::SecurityPolicyUserDefinedField, decorator: Google::Apis::ComputeV1::SecurityPolicyUserDefinedField::Representation end end class SecurityPolicyAdaptiveProtectionConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :layer7_ddos_defense_config, as: 'layer7DdosDefenseConfig', class: Google::Apis::ComputeV1::SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig, decorator: Google::Apis::ComputeV1::SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig::Representation end end class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :enable, as: 'enable' property :rule_visibility, as: 'ruleVisibility' collection :threshold_configs, as: 'thresholdConfigs', class: Google::Apis::ComputeV1::SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig, decorator: Google::Apis::ComputeV1::SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig::Representation end end class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :auto_deploy_confidence_threshold, as: 'autoDeployConfidenceThreshold' property :auto_deploy_expiration_sec, as: 'autoDeployExpirationSec' property :auto_deploy_impacted_baseline_threshold, as: 'autoDeployImpactedBaselineThreshold' property :auto_deploy_load_threshold, as: 'autoDeployLoadThreshold' property :detection_absolute_qps, as: 'detectionAbsoluteQps' property :detection_load_threshold, as: 'detectionLoadThreshold' property :detection_relative_to_baseline_qps, as: 'detectionRelativeToBaselineQps' property :name, as: 'name' collection :traffic_granularity_configs, as: 'trafficGranularityConfigs', class: Google::Apis::ComputeV1::SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig, decorator: Google::Apis::ComputeV1::SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig::Representation end end class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfigTrafficGranularityConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :enable_each_unique_value, as: 'enableEachUniqueValue' property :type, as: 'type' property :value, as: 'value' end end class SecurityPolicyAdvancedOptionsConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :json_custom_config, as: 'jsonCustomConfig', class: Google::Apis::ComputeV1::SecurityPolicyAdvancedOptionsConfigJsonCustomConfig, decorator: Google::Apis::ComputeV1::SecurityPolicyAdvancedOptionsConfigJsonCustomConfig::Representation property :json_parsing, as: 'jsonParsing' property :log_level, as: 'logLevel' property :request_body_inspection_size, as: 'requestBodyInspectionSize' collection :user_ip_request_headers, as: 'userIpRequestHeaders' end end class SecurityPolicyAdvancedOptionsConfigJsonCustomConfig # @private class Representation < Google::Apis::Core::JsonRepresentation collection :content_types, as: 'contentTypes' end end class SecurityPolicyAssociation # @private class Representation < Google::Apis::Core::JsonRepresentation property :attachment_id, as: 'attachmentId' property :display_name, as: 'displayName' collection :excluded_folders, as: 'excludedFolders' collection :excluded_projects, as: 'excludedProjects' property :name, as: 'name' property :security_policy_id, as: 'securityPolicyId' property :short_name, as: 'shortName' end end class SecurityPolicyDdosProtectionConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :ddos_protection, as: 'ddosProtection' end end class SecurityPolicyList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::SecurityPolicy, decorator: Google::Apis::ComputeV1::SecurityPolicy::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :warning, as: 'warning', class: Google::Apis::ComputeV1::SecurityPolicyList::Warning, decorator: Google::Apis::ComputeV1::SecurityPolicyList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::SecurityPolicyList::Warning::Datum, decorator: Google::Apis::ComputeV1::SecurityPolicyList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class SecurityPolicyRecaptchaOptionsConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :redirect_site_key, as: 'redirectSiteKey' end end class SecurityPolicyReference # @private class Representation < Google::Apis::Core::JsonRepresentation property :security_policy, as: 'securityPolicy' end end class SecurityPolicyRule # @private class Representation < Google::Apis::Core::JsonRepresentation property :action, as: 'action' property :description, as: 'description' property :header_action, as: 'headerAction', class: Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderAction, decorator: Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderAction::Representation property :kind, as: 'kind' property :match, as: 'match', class: Google::Apis::ComputeV1::SecurityPolicyRuleMatcher, decorator: Google::Apis::ComputeV1::SecurityPolicyRuleMatcher::Representation property :network_match, as: 'networkMatch', class: Google::Apis::ComputeV1::SecurityPolicyRuleNetworkMatcher, decorator: Google::Apis::ComputeV1::SecurityPolicyRuleNetworkMatcher::Representation property :preconfigured_waf_config, as: 'preconfiguredWafConfig', class: Google::Apis::ComputeV1::SecurityPolicyRulePreconfiguredWafConfig, decorator: Google::Apis::ComputeV1::SecurityPolicyRulePreconfiguredWafConfig::Representation property :preview, as: 'preview' property :priority, as: 'priority' property :rate_limit_options, as: 'rateLimitOptions', class: Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptions, decorator: Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptions::Representation property :redirect_options, as: 'redirectOptions', class: Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions, decorator: Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions::Representation end end class SecurityPolicyRuleHttpHeaderAction # @private class Representation < Google::Apis::Core::JsonRepresentation collection :request_headers_to_adds, as: 'requestHeadersToAdds', class: Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderActionHttpHeaderOption, decorator: Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderActionHttpHeaderOption::Representation end end class SecurityPolicyRuleHttpHeaderActionHttpHeaderOption # @private class Representation < Google::Apis::Core::JsonRepresentation property :header_name, as: 'headerName' property :header_value, as: 'headerValue' end end class SecurityPolicyRuleMatcher # @private class Representation < Google::Apis::Core::JsonRepresentation property :config, as: 'config', class: Google::Apis::ComputeV1::SecurityPolicyRuleMatcherConfig, decorator: Google::Apis::ComputeV1::SecurityPolicyRuleMatcherConfig::Representation property :expr, as: 'expr', class: Google::Apis::ComputeV1::Expr, decorator: Google::Apis::ComputeV1::Expr::Representation property :expr_options, as: 'exprOptions', class: Google::Apis::ComputeV1::SecurityPolicyRuleMatcherExprOptions, decorator: Google::Apis::ComputeV1::SecurityPolicyRuleMatcherExprOptions::Representation property :versioned_expr, as: 'versionedExpr' end end class SecurityPolicyRuleMatcherConfig # @private class Representation < Google::Apis::Core::JsonRepresentation collection :src_ip_ranges, as: 'srcIpRanges' end end class SecurityPolicyRuleMatcherExprOptions # @private class Representation < Google::Apis::Core::JsonRepresentation property :recaptcha_options, as: 'recaptchaOptions', class: Google::Apis::ComputeV1::SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions, decorator: Google::Apis::ComputeV1::SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions::Representation end end class SecurityPolicyRuleMatcherExprOptionsRecaptchaOptions # @private class Representation < Google::Apis::Core::JsonRepresentation collection :action_token_site_keys, as: 'actionTokenSiteKeys' collection :session_token_site_keys, as: 'sessionTokenSiteKeys' end end class SecurityPolicyRuleNetworkMatcher # @private class Representation < Google::Apis::Core::JsonRepresentation collection :dest_ip_ranges, as: 'destIpRanges' collection :dest_ports, as: 'destPorts' collection :ip_protocols, as: 'ipProtocols' collection :src_asns, as: 'srcAsns' collection :src_ip_ranges, as: 'srcIpRanges' collection :src_ports, as: 'srcPorts' collection :src_region_codes, as: 'srcRegionCodes' collection :user_defined_fields, as: 'userDefinedFields', class: Google::Apis::ComputeV1::SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch, decorator: Google::Apis::ComputeV1::SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch::Representation end end class SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch # @private class Representation < Google::Apis::Core::JsonRepresentation property :name, as: 'name' collection :values, as: 'values' end end class SecurityPolicyRulePreconfiguredWafConfig # @private class Representation < Google::Apis::Core::JsonRepresentation collection :exclusions, as: 'exclusions', class: Google::Apis::ComputeV1::SecurityPolicyRulePreconfiguredWafConfigExclusion, decorator: Google::Apis::ComputeV1::SecurityPolicyRulePreconfiguredWafConfigExclusion::Representation end end class SecurityPolicyRulePreconfiguredWafConfigExclusion # @private class Representation < Google::Apis::Core::JsonRepresentation collection :request_cookies_to_exclude, as: 'requestCookiesToExclude', class: Google::Apis::ComputeV1::SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams, decorator: Google::Apis::ComputeV1::SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams::Representation collection :request_headers_to_exclude, as: 'requestHeadersToExclude', class: Google::Apis::ComputeV1::SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams, decorator: Google::Apis::ComputeV1::SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams::Representation collection :request_query_params_to_exclude, as: 'requestQueryParamsToExclude', class: Google::Apis::ComputeV1::SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams, decorator: Google::Apis::ComputeV1::SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams::Representation collection :request_uris_to_exclude, as: 'requestUrisToExclude', class: Google::Apis::ComputeV1::SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams, decorator: Google::Apis::ComputeV1::SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams::Representation collection :target_rule_ids, as: 'targetRuleIds' property :target_rule_set, as: 'targetRuleSet' end end class SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams # @private class Representation < Google::Apis::Core::JsonRepresentation property :op, as: 'op' property :val, as: 'val' end end class SecurityPolicyRuleRateLimitOptions # @private class Representation < Google::Apis::Core::JsonRepresentation property :ban_duration_sec, as: 'banDurationSec' property :ban_threshold, as: 'banThreshold', class: Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptionsThreshold, decorator: Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptionsThreshold::Representation property :conform_action, as: 'conformAction' property :enforce_on_key, as: 'enforceOnKey' collection :enforce_on_key_configs, as: 'enforceOnKeyConfigs', class: Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig, decorator: Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig::Representation property :enforce_on_key_name, as: 'enforceOnKeyName' property :exceed_action, as: 'exceedAction' property :exceed_redirect_options, as: 'exceedRedirectOptions', class: Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions, decorator: Google::Apis::ComputeV1::SecurityPolicyRuleRedirectOptions::Representation property :rate_limit_threshold, as: 'rateLimitThreshold', class: Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptionsThreshold, decorator: Google::Apis::ComputeV1::SecurityPolicyRuleRateLimitOptionsThreshold::Representation end end class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :enforce_on_key_name, as: 'enforceOnKeyName' property :enforce_on_key_type, as: 'enforceOnKeyType' end end class SecurityPolicyRuleRateLimitOptionsThreshold # @private class Representation < Google::Apis::Core::JsonRepresentation property :count, as: 'count' property :interval_sec, as: 'intervalSec' end end class SecurityPolicyRuleRedirectOptions # @private class Representation < Google::Apis::Core::JsonRepresentation property :target, as: 'target' property :type, as: 'type' end end class SecurityPolicyUserDefinedField # @private class Representation < Google::Apis::Core::JsonRepresentation property :base, as: 'base' property :mask, as: 'mask' property :name, as: 'name' property :offset, as: 'offset' property :size, as: 'size' end end class SecuritySettings # @private class Representation < Google::Apis::Core::JsonRepresentation property :aws_v4_authentication, as: 'awsV4Authentication', class: Google::Apis::ComputeV1::Awsv4Signature, decorator: Google::Apis::ComputeV1::Awsv4Signature::Representation property :client_tls_policy, as: 'clientTlsPolicy' collection :subject_alt_names, as: 'subjectAltNames' end end class SerialPortOutput # @private class Representation < Google::Apis::Core::JsonRepresentation property :contents, as: 'contents' property :kind, as: 'kind' property :next, :numeric_string => true, as: 'next' property :self_link, as: 'selfLink' property :start, :numeric_string => true, as: 'start' end end class ServerBinding # @private class Representation < Google::Apis::Core::JsonRepresentation property :type, as: 'type' end end class ServiceAccount # @private class Representation < Google::Apis::Core::JsonRepresentation property :email, as: 'email' collection :scopes, as: 'scopes' end end class ServiceAttachment # @private class Representation < Google::Apis::Core::JsonRepresentation collection :connected_endpoints, as: 'connectedEndpoints', class: Google::Apis::ComputeV1::ServiceAttachmentConnectedEndpoint, decorator: Google::Apis::ComputeV1::ServiceAttachmentConnectedEndpoint::Representation property :connection_preference, as: 'connectionPreference' collection :consumer_accept_lists, as: 'consumerAcceptLists', class: Google::Apis::ComputeV1::ServiceAttachmentConsumerProjectLimit, decorator: Google::Apis::ComputeV1::ServiceAttachmentConsumerProjectLimit::Representation collection :consumer_reject_lists, as: 'consumerRejectLists' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' collection :domain_names, as: 'domainNames' property :enable_proxy_protocol, as: 'enableProxyProtocol' property :fingerprint, :base64 => true, as: 'fingerprint' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' hash :metadata, as: 'metadata' property :name, as: 'name' collection :nat_subnets, as: 'natSubnets' property :producer_forwarding_rule, as: 'producerForwardingRule' property :propagated_connection_limit, as: 'propagatedConnectionLimit' property :psc_service_attachment_id, as: 'pscServiceAttachmentId', class: Google::Apis::ComputeV1::Uint128, decorator: Google::Apis::ComputeV1::Uint128::Representation property :reconcile_connections, as: 'reconcileConnections' property :region, as: 'region' property :self_link, as: 'selfLink' property :target_service, as: 'targetService' end end class ServiceAttachmentAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::ServiceAttachmentsScopedList, decorator: Google::Apis::ComputeV1::ServiceAttachmentsScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::ServiceAttachmentAggregatedList::Warning, decorator: Google::Apis::ComputeV1::ServiceAttachmentAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ServiceAttachmentAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::ServiceAttachmentAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ServiceAttachmentConnectedEndpoint # @private class Representation < Google::Apis::Core::JsonRepresentation property :consumer_network, as: 'consumerNetwork' property :endpoint, as: 'endpoint' collection :nat_ips, as: 'natIps' property :propagated_connection_count, as: 'propagatedConnectionCount' property :psc_connection_id, :numeric_string => true, as: 'pscConnectionId' property :status, as: 'status' end end class ServiceAttachmentConsumerProjectLimit # @private class Representation < Google::Apis::Core::JsonRepresentation property :connection_limit, as: 'connectionLimit' property :network_url, as: 'networkUrl' property :project_id_or_num, as: 'projectIdOrNum' end end class ServiceAttachmentList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::ServiceAttachment, decorator: Google::Apis::ComputeV1::ServiceAttachment::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::ServiceAttachmentList::Warning, decorator: Google::Apis::ComputeV1::ServiceAttachmentList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ServiceAttachmentList::Warning::Datum, decorator: Google::Apis::ComputeV1::ServiceAttachmentList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ServiceAttachmentsScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :service_attachments, as: 'serviceAttachments', class: Google::Apis::ComputeV1::ServiceAttachment, decorator: Google::Apis::ComputeV1::ServiceAttachment::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::ServiceAttachmentsScopedList::Warning, decorator: Google::Apis::ComputeV1::ServiceAttachmentsScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ServiceAttachmentsScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::ServiceAttachmentsScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class SetCommonInstanceMetadataOperationMetadata # @private class Representation < Google::Apis::Core::JsonRepresentation property :client_operation_id, as: 'clientOperationId' hash :per_location_operations, as: 'perLocationOperations', class: Google::Apis::ComputeV1::SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo, decorator: Google::Apis::ComputeV1::SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo::Representation end end class SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo # @private class Representation < Google::Apis::Core::JsonRepresentation property :error, as: 'error', class: Google::Apis::ComputeV1::Status, decorator: Google::Apis::ComputeV1::Status::Representation property :state, as: 'state' end end class ShareSettings # @private class Representation < Google::Apis::Core::JsonRepresentation hash :project_map, as: 'projectMap', class: Google::Apis::ComputeV1::ShareSettingsProjectConfig, decorator: Google::Apis::ComputeV1::ShareSettingsProjectConfig::Representation property :share_type, as: 'shareType' end end class ShareSettingsProjectConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :project_id, as: 'projectId' end end class ShieldedInstanceConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :enable_integrity_monitoring, as: 'enableIntegrityMonitoring' property :enable_secure_boot, as: 'enableSecureBoot' property :enable_vtpm, as: 'enableVtpm' end end class ShieldedInstanceIdentity # @private class Representation < Google::Apis::Core::JsonRepresentation property :ecc_p256_encryption_key, as: 'eccP256EncryptionKey', class: Google::Apis::ComputeV1::ShieldedInstanceIdentityEntry, decorator: Google::Apis::ComputeV1::ShieldedInstanceIdentityEntry::Representation property :ecc_p256_signing_key, as: 'eccP256SigningKey', class: Google::Apis::ComputeV1::ShieldedInstanceIdentityEntry, decorator: Google::Apis::ComputeV1::ShieldedInstanceIdentityEntry::Representation property :encryption_key, as: 'encryptionKey', class: Google::Apis::ComputeV1::ShieldedInstanceIdentityEntry, decorator: Google::Apis::ComputeV1::ShieldedInstanceIdentityEntry::Representation property :kind, as: 'kind' property :signing_key, as: 'signingKey', class: Google::Apis::ComputeV1::ShieldedInstanceIdentityEntry, decorator: Google::Apis::ComputeV1::ShieldedInstanceIdentityEntry::Representation end end class ShieldedInstanceIdentityEntry # @private class Representation < Google::Apis::Core::JsonRepresentation property :ek_cert, as: 'ekCert' property :ek_pub, as: 'ekPub' end end class ShieldedInstanceIntegrityPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :update_auto_learn_policy, as: 'updateAutoLearnPolicy' end end class SignedUrlKey # @private class Representation < Google::Apis::Core::JsonRepresentation property :key_name, as: 'keyName' property :key_value, as: 'keyValue' end end class Snapshot # @private class Representation < Google::Apis::Core::JsonRepresentation property :architecture, as: 'architecture' property :auto_created, as: 'autoCreated' property :chain_name, as: 'chainName' property :creation_size_bytes, :numeric_string => true, as: 'creationSizeBytes' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :disk_size_gb, :numeric_string => true, as: 'diskSizeGb' property :download_bytes, :numeric_string => true, as: 'downloadBytes' property :enable_confidential_compute, as: 'enableConfidentialCompute' property :guest_flush, as: 'guestFlush' collection :guest_os_features, as: 'guestOsFeatures', class: Google::Apis::ComputeV1::GuestOsFeature, decorator: Google::Apis::ComputeV1::GuestOsFeature::Representation property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' collection :license_codes, as: 'licenseCodes' collection :licenses, as: 'licenses' property :location_hint, as: 'locationHint' property :name, as: 'name' property :params, as: 'params', class: Google::Apis::ComputeV1::SnapshotParams, decorator: Google::Apis::ComputeV1::SnapshotParams::Representation property :satisfies_pzi, as: 'satisfiesPzi' property :satisfies_pzs, as: 'satisfiesPzs' property :self_link, as: 'selfLink' property :snapshot_encryption_key, as: 'snapshotEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :snapshot_type, as: 'snapshotType' property :source_disk, as: 'sourceDisk' property :source_disk_encryption_key, as: 'sourceDiskEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :source_disk_for_recovery_checkpoint, as: 'sourceDiskForRecoveryCheckpoint' property :source_disk_id, as: 'sourceDiskId' property :source_instant_snapshot, as: 'sourceInstantSnapshot' property :source_instant_snapshot_encryption_key, as: 'sourceInstantSnapshotEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :source_instant_snapshot_id, as: 'sourceInstantSnapshotId' property :source_snapshot_schedule_policy, as: 'sourceSnapshotSchedulePolicy' property :source_snapshot_schedule_policy_id, as: 'sourceSnapshotSchedulePolicyId' property :status, as: 'status' property :storage_bytes, :numeric_string => true, as: 'storageBytes' property :storage_bytes_status, as: 'storageBytesStatus' collection :storage_locations, as: 'storageLocations' end end class SnapshotList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Snapshot, decorator: Google::Apis::ComputeV1::Snapshot::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::SnapshotList::Warning, decorator: Google::Apis::ComputeV1::SnapshotList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::SnapshotList::Warning::Datum, decorator: Google::Apis::ComputeV1::SnapshotList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class SnapshotParams # @private class Representation < Google::Apis::Core::JsonRepresentation hash :resource_manager_tags, as: 'resourceManagerTags' end end class SnapshotSettings # @private class Representation < Google::Apis::Core::JsonRepresentation property :storage_location, as: 'storageLocation', class: Google::Apis::ComputeV1::SnapshotSettingsStorageLocationSettings, decorator: Google::Apis::ComputeV1::SnapshotSettingsStorageLocationSettings::Representation end end class SnapshotSettingsStorageLocationSettings # @private class Representation < Google::Apis::Core::JsonRepresentation hash :locations, as: 'locations', class: Google::Apis::ComputeV1::SnapshotSettingsStorageLocationSettingsStorageLocationPreference, decorator: Google::Apis::ComputeV1::SnapshotSettingsStorageLocationSettingsStorageLocationPreference::Representation property :policy, as: 'policy' end end class SnapshotSettingsStorageLocationSettingsStorageLocationPreference # @private class Representation < Google::Apis::Core::JsonRepresentation property :name, as: 'name' end end class SourceDiskEncryptionKey # @private class Representation < Google::Apis::Core::JsonRepresentation property :disk_encryption_key, as: 'diskEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :source_disk, as: 'sourceDisk' end end class SourceInstanceParams # @private class Representation < Google::Apis::Core::JsonRepresentation collection :disk_configs, as: 'diskConfigs', class: Google::Apis::ComputeV1::DiskInstantiationConfig, decorator: Google::Apis::ComputeV1::DiskInstantiationConfig::Representation end end class SourceInstanceProperties # @private class Representation < Google::Apis::Core::JsonRepresentation property :can_ip_forward, as: 'canIpForward' property :deletion_protection, as: 'deletionProtection' property :description, as: 'description' collection :disks, as: 'disks', class: Google::Apis::ComputeV1::SavedAttachedDisk, decorator: Google::Apis::ComputeV1::SavedAttachedDisk::Representation collection :guest_accelerators, as: 'guestAccelerators', class: Google::Apis::ComputeV1::AcceleratorConfig, decorator: Google::Apis::ComputeV1::AcceleratorConfig::Representation property :key_revocation_action_type, as: 'keyRevocationActionType' hash :labels, as: 'labels' property :machine_type, as: 'machineType' property :metadata, as: 'metadata', class: Google::Apis::ComputeV1::Metadata, decorator: Google::Apis::ComputeV1::Metadata::Representation property :min_cpu_platform, as: 'minCpuPlatform' collection :network_interfaces, as: 'networkInterfaces', class: Google::Apis::ComputeV1::NetworkInterface, decorator: Google::Apis::ComputeV1::NetworkInterface::Representation property :post_key_revocation_action_type, as: 'postKeyRevocationActionType' property :scheduling, as: 'scheduling', class: Google::Apis::ComputeV1::Scheduling, decorator: Google::Apis::ComputeV1::Scheduling::Representation collection :service_accounts, as: 'serviceAccounts', class: Google::Apis::ComputeV1::ServiceAccount, decorator: Google::Apis::ComputeV1::ServiceAccount::Representation property :tags, as: 'tags', class: Google::Apis::ComputeV1::Tags, decorator: Google::Apis::ComputeV1::Tags::Representation end end class SslCertificate # @private class Representation < Google::Apis::Core::JsonRepresentation property :certificate, as: 'certificate' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :expire_time, as: 'expireTime' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :managed, as: 'managed', class: Google::Apis::ComputeV1::SslCertificateManagedSslCertificate, decorator: Google::Apis::ComputeV1::SslCertificateManagedSslCertificate::Representation property :name, as: 'name' property :private_key, as: 'privateKey' property :region, as: 'region' property :self_link, as: 'selfLink' property :self_managed, as: 'selfManaged', class: Google::Apis::ComputeV1::SslCertificateSelfManagedSslCertificate, decorator: Google::Apis::ComputeV1::SslCertificateSelfManagedSslCertificate::Representation collection :subject_alternative_names, as: 'subjectAlternativeNames' property :type, as: 'type' end end class SslCertificateAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::SslCertificatesScopedList, decorator: Google::Apis::ComputeV1::SslCertificatesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::SslCertificateAggregatedList::Warning, decorator: Google::Apis::ComputeV1::SslCertificateAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::SslCertificateAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::SslCertificateAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class SslCertificateList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::SslCertificate, decorator: Google::Apis::ComputeV1::SslCertificate::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::SslCertificateList::Warning, decorator: Google::Apis::ComputeV1::SslCertificateList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::SslCertificateList::Warning::Datum, decorator: Google::Apis::ComputeV1::SslCertificateList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class SslCertificateManagedSslCertificate # @private class Representation < Google::Apis::Core::JsonRepresentation hash :domain_status, as: 'domainStatus' collection :domains, as: 'domains' property :status, as: 'status' end end class SslCertificateSelfManagedSslCertificate # @private class Representation < Google::Apis::Core::JsonRepresentation property :certificate, as: 'certificate' property :private_key, as: 'privateKey' end end class SslCertificatesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :ssl_certificates, as: 'sslCertificates', class: Google::Apis::ComputeV1::SslCertificate, decorator: Google::Apis::ComputeV1::SslCertificate::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::SslCertificatesScopedList::Warning, decorator: Google::Apis::ComputeV1::SslCertificatesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::SslCertificatesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::SslCertificatesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class SslPoliciesAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::SslPoliciesScopedList, decorator: Google::Apis::ComputeV1::SslPoliciesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::SslPoliciesAggregatedList::Warning, decorator: Google::Apis::ComputeV1::SslPoliciesAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::SslPoliciesAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::SslPoliciesAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class SslPoliciesList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::SslPolicy, decorator: Google::Apis::ComputeV1::SslPolicy::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::SslPoliciesList::Warning, decorator: Google::Apis::ComputeV1::SslPoliciesList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::SslPoliciesList::Warning::Datum, decorator: Google::Apis::ComputeV1::SslPoliciesList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class SslPoliciesListAvailableFeaturesResponse # @private class Representation < Google::Apis::Core::JsonRepresentation collection :features, as: 'features' end end class SslPoliciesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :ssl_policies, as: 'sslPolicies', class: Google::Apis::ComputeV1::SslPolicy, decorator: Google::Apis::ComputeV1::SslPolicy::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::SslPoliciesScopedList::Warning, decorator: Google::Apis::ComputeV1::SslPoliciesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::SslPoliciesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::SslPoliciesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class SslPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' collection :custom_features, as: 'customFeatures' property :description, as: 'description' collection :enabled_features, as: 'enabledFeatures' property :fingerprint, :base64 => true, as: 'fingerprint' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :min_tls_version, as: 'minTlsVersion' property :name, as: 'name' property :profile, as: 'profile' property :region, as: 'region' property :self_link, as: 'selfLink' collection :warnings, as: 'warnings', class: Google::Apis::ComputeV1::SslPolicy::Warning, decorator: Google::Apis::ComputeV1::SslPolicy::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::SslPolicy::Warning::Datum, decorator: Google::Apis::ComputeV1::SslPolicy::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class SslPolicyReference # @private class Representation < Google::Apis::Core::JsonRepresentation property :ssl_policy, as: 'sslPolicy' end end class StatefulPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :preserved_state, as: 'preservedState', class: Google::Apis::ComputeV1::StatefulPolicyPreservedState, decorator: Google::Apis::ComputeV1::StatefulPolicyPreservedState::Representation end end class StatefulPolicyPreservedState # @private class Representation < Google::Apis::Core::JsonRepresentation hash :disks, as: 'disks', class: Google::Apis::ComputeV1::StatefulPolicyPreservedStateDiskDevice, decorator: Google::Apis::ComputeV1::StatefulPolicyPreservedStateDiskDevice::Representation hash :external_i_ps, as: 'externalIPs', class: Google::Apis::ComputeV1::StatefulPolicyPreservedStateNetworkIp, decorator: Google::Apis::ComputeV1::StatefulPolicyPreservedStateNetworkIp::Representation hash :internal_i_ps, as: 'internalIPs', class: Google::Apis::ComputeV1::StatefulPolicyPreservedStateNetworkIp, decorator: Google::Apis::ComputeV1::StatefulPolicyPreservedStateNetworkIp::Representation end end class StatefulPolicyPreservedStateDiskDevice # @private class Representation < Google::Apis::Core::JsonRepresentation property :auto_delete, as: 'autoDelete' end end class StatefulPolicyPreservedStateNetworkIp # @private class Representation < Google::Apis::Core::JsonRepresentation property :auto_delete, as: 'autoDelete' end end class Status # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :details, as: 'details' property :message, as: 'message' end end class StoragePool # @private class Representation < Google::Apis::Core::JsonRepresentation property :capacity_provisioning_type, as: 'capacityProvisioningType' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :exapool_provisioned_capacity_gb, as: 'exapoolProvisionedCapacityGb', class: Google::Apis::ComputeV1::StoragePoolExapoolProvisionedCapacityGb, decorator: Google::Apis::ComputeV1::StoragePoolExapoolProvisionedCapacityGb::Representation property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' property :name, as: 'name' property :params, as: 'params', class: Google::Apis::ComputeV1::StoragePoolParams, decorator: Google::Apis::ComputeV1::StoragePoolParams::Representation property :performance_provisioning_type, as: 'performanceProvisioningType' property :pool_provisioned_capacity_gb, :numeric_string => true, as: 'poolProvisionedCapacityGb' property :pool_provisioned_iops, :numeric_string => true, as: 'poolProvisionedIops' property :pool_provisioned_throughput, :numeric_string => true, as: 'poolProvisionedThroughput' property :resource_status, as: 'resourceStatus', class: Google::Apis::ComputeV1::StoragePoolResourceStatus, decorator: Google::Apis::ComputeV1::StoragePoolResourceStatus::Representation property :self_link, as: 'selfLink' property :self_link_with_id, as: 'selfLinkWithId' property :state, as: 'state' property :status, as: 'status', class: Google::Apis::ComputeV1::StoragePoolResourceStatus, decorator: Google::Apis::ComputeV1::StoragePoolResourceStatus::Representation property :storage_pool_type, as: 'storagePoolType' property :zone, as: 'zone' end end class StoragePoolAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::StoragePoolsScopedList, decorator: Google::Apis::ComputeV1::StoragePoolsScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::StoragePoolAggregatedList::Warning, decorator: Google::Apis::ComputeV1::StoragePoolAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::StoragePoolAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::StoragePoolAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class StoragePoolDisk # @private class Representation < Google::Apis::Core::JsonRepresentation collection :attached_instances, as: 'attachedInstances' property :creation_timestamp, as: 'creationTimestamp' property :disk, as: 'disk' property :name, as: 'name' property :provisioned_iops, :numeric_string => true, as: 'provisionedIops' property :provisioned_throughput, :numeric_string => true, as: 'provisionedThroughput' collection :resource_policies, as: 'resourcePolicies' property :size_gb, :numeric_string => true, as: 'sizeGb' property :status, as: 'status' property :type, as: 'type' property :used_bytes, :numeric_string => true, as: 'usedBytes' end end class StoragePoolExapoolProvisionedCapacityGb # @private class Representation < Google::Apis::Core::JsonRepresentation property :capacity_optimized, :numeric_string => true, as: 'capacityOptimized' property :read_optimized, :numeric_string => true, as: 'readOptimized' property :write_optimized, :numeric_string => true, as: 'writeOptimized' end end class StoragePoolList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::StoragePool, decorator: Google::Apis::ComputeV1::StoragePool::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::StoragePoolList::Warning, decorator: Google::Apis::ComputeV1::StoragePoolList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::StoragePoolList::Warning::Datum, decorator: Google::Apis::ComputeV1::StoragePoolList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class StoragePoolListDisks # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::StoragePoolDisk, decorator: Google::Apis::ComputeV1::StoragePoolDisk::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::StoragePoolListDisks::Warning, decorator: Google::Apis::ComputeV1::StoragePoolListDisks::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::StoragePoolListDisks::Warning::Datum, decorator: Google::Apis::ComputeV1::StoragePoolListDisks::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class StoragePoolParams # @private class Representation < Google::Apis::Core::JsonRepresentation hash :resource_manager_tags, as: 'resourceManagerTags' end end class StoragePoolResourceStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :disk_count, :numeric_string => true, as: 'diskCount' property :exapool_max_read_iops, :numeric_string => true, as: 'exapoolMaxReadIops' property :exapool_max_read_throughput, :numeric_string => true, as: 'exapoolMaxReadThroughput' property :exapool_max_write_iops, :numeric_string => true, as: 'exapoolMaxWriteIops' property :exapool_max_write_throughput, :numeric_string => true, as: 'exapoolMaxWriteThroughput' property :last_resize_timestamp, as: 'lastResizeTimestamp' property :max_total_provisioned_disk_capacity_gb, :numeric_string => true, as: 'maxTotalProvisionedDiskCapacityGb' property :pool_used_capacity_bytes, :numeric_string => true, as: 'poolUsedCapacityBytes' property :pool_used_iops, :numeric_string => true, as: 'poolUsedIops' property :pool_used_throughput, :numeric_string => true, as: 'poolUsedThroughput' property :pool_user_written_bytes, :numeric_string => true, as: 'poolUserWrittenBytes' property :total_provisioned_disk_capacity_gb, :numeric_string => true, as: 'totalProvisionedDiskCapacityGb' property :total_provisioned_disk_iops, :numeric_string => true, as: 'totalProvisionedDiskIops' property :total_provisioned_disk_throughput, :numeric_string => true, as: 'totalProvisionedDiskThroughput' end end class StoragePoolType # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :deprecated, as: 'deprecated', class: Google::Apis::ComputeV1::DeprecationStatus, decorator: Google::Apis::ComputeV1::DeprecationStatus::Representation property :description, as: 'description' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :max_pool_provisioned_capacity_gb, :numeric_string => true, as: 'maxPoolProvisionedCapacityGb' property :max_pool_provisioned_iops, :numeric_string => true, as: 'maxPoolProvisionedIops' property :max_pool_provisioned_throughput, :numeric_string => true, as: 'maxPoolProvisionedThroughput' property :min_pool_provisioned_capacity_gb, :numeric_string => true, as: 'minPoolProvisionedCapacityGb' property :min_pool_provisioned_iops, :numeric_string => true, as: 'minPoolProvisionedIops' property :min_pool_provisioned_throughput, :numeric_string => true, as: 'minPoolProvisionedThroughput' property :min_size_gb, :numeric_string => true, as: 'minSizeGb' property :name, as: 'name' property :self_link, as: 'selfLink' property :self_link_with_id, as: 'selfLinkWithId' collection :supported_disk_types, as: 'supportedDiskTypes' property :zone, as: 'zone' end end class StoragePoolTypeAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::StoragePoolTypesScopedList, decorator: Google::Apis::ComputeV1::StoragePoolTypesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::StoragePoolTypeAggregatedList::Warning, decorator: Google::Apis::ComputeV1::StoragePoolTypeAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::StoragePoolTypeAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::StoragePoolTypeAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class StoragePoolTypeList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::StoragePoolType, decorator: Google::Apis::ComputeV1::StoragePoolType::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::StoragePoolTypeList::Warning, decorator: Google::Apis::ComputeV1::StoragePoolTypeList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::StoragePoolTypeList::Warning::Datum, decorator: Google::Apis::ComputeV1::StoragePoolTypeList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class StoragePoolTypesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :storage_pool_types, as: 'storagePoolTypes', class: Google::Apis::ComputeV1::StoragePoolType, decorator: Google::Apis::ComputeV1::StoragePoolType::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::StoragePoolTypesScopedList::Warning, decorator: Google::Apis::ComputeV1::StoragePoolTypesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::StoragePoolTypesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::StoragePoolTypesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class StoragePoolsScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :storage_pools, as: 'storagePools', class: Google::Apis::ComputeV1::StoragePool, decorator: Google::Apis::ComputeV1::StoragePool::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::StoragePoolsScopedList::Warning, decorator: Google::Apis::ComputeV1::StoragePoolsScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::StoragePoolsScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::StoragePoolsScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class Subnetwork # @private class Representation < Google::Apis::Core::JsonRepresentation property :allow_subnet_cidr_routes_overlap, as: 'allowSubnetCidrRoutesOverlap' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :enable_flow_logs, as: 'enableFlowLogs' property :external_ipv6_prefix, as: 'externalIpv6Prefix' property :fingerprint, :base64 => true, as: 'fingerprint' property :gateway_address, as: 'gatewayAddress' property :id, :numeric_string => true, as: 'id' property :internal_ipv6_prefix, as: 'internalIpv6Prefix' property :ip_cidr_range, as: 'ipCidrRange' property :ip_collection, as: 'ipCollection' property :ipv6_access_type, as: 'ipv6AccessType' property :ipv6_cidr_range, as: 'ipv6CidrRange' property :ipv6_gce_endpoint, as: 'ipv6GceEndpoint' property :kind, as: 'kind' property :log_config, as: 'logConfig', class: Google::Apis::ComputeV1::SubnetworkLogConfig, decorator: Google::Apis::ComputeV1::SubnetworkLogConfig::Representation property :name, as: 'name' property :network, as: 'network' property :params, as: 'params', class: Google::Apis::ComputeV1::SubnetworkParams, decorator: Google::Apis::ComputeV1::SubnetworkParams::Representation property :private_ip_google_access, as: 'privateIpGoogleAccess' property :private_ipv6_google_access, as: 'privateIpv6GoogleAccess' property :purpose, as: 'purpose' property :region, as: 'region' property :reserved_internal_range, as: 'reservedInternalRange' property :resolve_subnet_mask, as: 'resolveSubnetMask' property :role, as: 'role' collection :secondary_ip_ranges, as: 'secondaryIpRanges', class: Google::Apis::ComputeV1::SubnetworkSecondaryRange, decorator: Google::Apis::ComputeV1::SubnetworkSecondaryRange::Representation property :self_link, as: 'selfLink' property :stack_type, as: 'stackType' property :state, as: 'state' collection :system_reserved_external_ipv6_ranges, as: 'systemReservedExternalIpv6Ranges' collection :system_reserved_internal_ipv6_ranges, as: 'systemReservedInternalIpv6Ranges' property :utilization_details, as: 'utilizationDetails', class: Google::Apis::ComputeV1::SubnetworkUtilizationDetails, decorator: Google::Apis::ComputeV1::SubnetworkUtilizationDetails::Representation end end class SubnetworkAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::SubnetworksScopedList, decorator: Google::Apis::ComputeV1::SubnetworksScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::SubnetworkAggregatedList::Warning, decorator: Google::Apis::ComputeV1::SubnetworkAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::SubnetworkAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::SubnetworkAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class SubnetworkList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Subnetwork, decorator: Google::Apis::ComputeV1::Subnetwork::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::SubnetworkList::Warning, decorator: Google::Apis::ComputeV1::SubnetworkList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::SubnetworkList::Warning::Datum, decorator: Google::Apis::ComputeV1::SubnetworkList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class SubnetworkLogConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :aggregation_interval, as: 'aggregationInterval' property :enable, as: 'enable' property :filter_expr, as: 'filterExpr' property :flow_sampling, as: 'flowSampling' property :metadata, as: 'metadata' collection :metadata_fields, as: 'metadataFields' end end class SubnetworkParams # @private class Representation < Google::Apis::Core::JsonRepresentation hash :resource_manager_tags, as: 'resourceManagerTags' end end class SubnetworkSecondaryRange # @private class Representation < Google::Apis::Core::JsonRepresentation property :ip_cidr_range, as: 'ipCidrRange' property :range_name, as: 'rangeName' property :reserved_internal_range, as: 'reservedInternalRange' end end class SubnetworkUtilizationDetails # @private class Representation < Google::Apis::Core::JsonRepresentation property :external_ipv6_instance_utilization, as: 'externalIpv6InstanceUtilization', class: Google::Apis::ComputeV1::SubnetworkUtilizationDetailsIpv6Utilization, decorator: Google::Apis::ComputeV1::SubnetworkUtilizationDetailsIpv6Utilization::Representation property :external_ipv6_lb_utilization, as: 'externalIpv6LbUtilization', class: Google::Apis::ComputeV1::SubnetworkUtilizationDetailsIpv6Utilization, decorator: Google::Apis::ComputeV1::SubnetworkUtilizationDetailsIpv6Utilization::Representation property :internal_ipv6_utilization, as: 'internalIpv6Utilization', class: Google::Apis::ComputeV1::SubnetworkUtilizationDetailsIpv6Utilization, decorator: Google::Apis::ComputeV1::SubnetworkUtilizationDetailsIpv6Utilization::Representation collection :ipv4_utilizations, as: 'ipv4Utilizations', class: Google::Apis::ComputeV1::SubnetworkUtilizationDetailsIpv4Utilization, decorator: Google::Apis::ComputeV1::SubnetworkUtilizationDetailsIpv4Utilization::Representation end end class SubnetworkUtilizationDetailsIpv4Utilization # @private class Representation < Google::Apis::Core::JsonRepresentation property :range_name, as: 'rangeName' property :total_allocated_ip, :numeric_string => true, as: 'totalAllocatedIp' property :total_free_ip, :numeric_string => true, as: 'totalFreeIp' end end class SubnetworkUtilizationDetailsIpv6Utilization # @private class Representation < Google::Apis::Core::JsonRepresentation property :total_allocated_ip, as: 'totalAllocatedIp', class: Google::Apis::ComputeV1::Uint128, decorator: Google::Apis::ComputeV1::Uint128::Representation property :total_free_ip, as: 'totalFreeIp', class: Google::Apis::ComputeV1::Uint128, decorator: Google::Apis::ComputeV1::Uint128::Representation end end class SubnetworksExpandIpCidrRangeRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :ip_cidr_range, as: 'ipCidrRange' end end class SubnetworksScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :subnetworks, as: 'subnetworks', class: Google::Apis::ComputeV1::Subnetwork, decorator: Google::Apis::ComputeV1::Subnetwork::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::SubnetworksScopedList::Warning, decorator: Google::Apis::ComputeV1::SubnetworksScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::SubnetworksScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::SubnetworksScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class SubnetworksScopedWarning # @private class Representation < Google::Apis::Core::JsonRepresentation property :scope_name, as: 'scopeName' property :warning, as: 'warning', class: Google::Apis::ComputeV1::SubnetworksScopedWarning::Warning, decorator: Google::Apis::ComputeV1::SubnetworksScopedWarning::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::SubnetworksScopedWarning::Warning::Datum, decorator: Google::Apis::ComputeV1::SubnetworksScopedWarning::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class SubnetworksSetPrivateIpGoogleAccessRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :private_ip_google_access, as: 'privateIpGoogleAccess' end end class Subsetting # @private class Representation < Google::Apis::Core::JsonRepresentation property :policy, as: 'policy' end end class TcpHealthCheck # @private class Representation < Google::Apis::Core::JsonRepresentation property :port, as: 'port' property :port_name, as: 'portName' property :port_specification, as: 'portSpecification' property :proxy_header, as: 'proxyHeader' property :request, as: 'request' property :response, as: 'response' end end class Tags # @private class Representation < Google::Apis::Core::JsonRepresentation property :fingerprint, :base64 => true, as: 'fingerprint' collection :items, as: 'items' end end class TargetGrpcProxy # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :fingerprint, :base64 => true, as: 'fingerprint' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :self_link, as: 'selfLink' property :self_link_with_id, as: 'selfLinkWithId' property :url_map, as: 'urlMap' property :validate_for_proxyless, as: 'validateForProxyless' end end class TargetGrpcProxyList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::TargetGrpcProxy, decorator: Google::Apis::ComputeV1::TargetGrpcProxy::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetGrpcProxyList::Warning, decorator: Google::Apis::ComputeV1::TargetGrpcProxyList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetGrpcProxyList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetGrpcProxyList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TargetHttpProxiesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :target_http_proxies, as: 'targetHttpProxies', class: Google::Apis::ComputeV1::TargetHttpProxy, decorator: Google::Apis::ComputeV1::TargetHttpProxy::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetHttpProxiesScopedList::Warning, decorator: Google::Apis::ComputeV1::TargetHttpProxiesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetHttpProxiesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetHttpProxiesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TargetHttpProxy # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :fingerprint, :base64 => true, as: 'fingerprint' property :http_keep_alive_timeout_sec, as: 'httpKeepAliveTimeoutSec' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :proxy_bind, as: 'proxyBind' property :region, as: 'region' property :self_link, as: 'selfLink' property :url_map, as: 'urlMap' end end class TargetHttpProxyAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::TargetHttpProxiesScopedList, decorator: Google::Apis::ComputeV1::TargetHttpProxiesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' end end class TargetHttpProxyList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::TargetHttpProxy, decorator: Google::Apis::ComputeV1::TargetHttpProxy::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetHttpProxyList::Warning, decorator: Google::Apis::ComputeV1::TargetHttpProxyList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetHttpProxyList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetHttpProxyList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TargetHttpsProxiesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :target_https_proxies, as: 'targetHttpsProxies', class: Google::Apis::ComputeV1::TargetHttpsProxy, decorator: Google::Apis::ComputeV1::TargetHttpsProxy::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetHttpsProxiesScopedList::Warning, decorator: Google::Apis::ComputeV1::TargetHttpsProxiesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetHttpsProxiesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetHttpsProxiesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TargetHttpsProxiesSetCertificateMapRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :certificate_map, as: 'certificateMap' end end class TargetHttpsProxiesSetQuicOverrideRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :quic_override, as: 'quicOverride' end end class TargetHttpsProxiesSetSslCertificatesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :ssl_certificates, as: 'sslCertificates' end end class TargetHttpsProxy # @private class Representation < Google::Apis::Core::JsonRepresentation property :authorization_policy, as: 'authorizationPolicy' property :certificate_map, as: 'certificateMap' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :fingerprint, :base64 => true, as: 'fingerprint' property :http_keep_alive_timeout_sec, as: 'httpKeepAliveTimeoutSec' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :proxy_bind, as: 'proxyBind' property :quic_override, as: 'quicOverride' property :region, as: 'region' property :self_link, as: 'selfLink' property :server_tls_policy, as: 'serverTlsPolicy' collection :ssl_certificates, as: 'sslCertificates' property :ssl_policy, as: 'sslPolicy' property :tls_early_data, as: 'tlsEarlyData' property :url_map, as: 'urlMap' end end class TargetHttpsProxyAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::TargetHttpsProxiesScopedList, decorator: Google::Apis::ComputeV1::TargetHttpsProxiesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetHttpsProxyAggregatedList::Warning, decorator: Google::Apis::ComputeV1::TargetHttpsProxyAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetHttpsProxyAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetHttpsProxyAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TargetHttpsProxyList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::TargetHttpsProxy, decorator: Google::Apis::ComputeV1::TargetHttpsProxy::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetHttpsProxyList::Warning, decorator: Google::Apis::ComputeV1::TargetHttpsProxyList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetHttpsProxyList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetHttpsProxyList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TargetInstance # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :id, :numeric_string => true, as: 'id' property :instance, as: 'instance' property :kind, as: 'kind' property :name, as: 'name' property :nat_policy, as: 'natPolicy' property :network, as: 'network' property :security_policy, as: 'securityPolicy' property :self_link, as: 'selfLink' property :zone, as: 'zone' end end class TargetInstanceAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::TargetInstancesScopedList, decorator: Google::Apis::ComputeV1::TargetInstancesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetInstanceAggregatedList::Warning, decorator: Google::Apis::ComputeV1::TargetInstanceAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetInstanceAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetInstanceAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TargetInstanceList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::TargetInstance, decorator: Google::Apis::ComputeV1::TargetInstance::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetInstanceList::Warning, decorator: Google::Apis::ComputeV1::TargetInstanceList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetInstanceList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetInstanceList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TargetInstancesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :target_instances, as: 'targetInstances', class: Google::Apis::ComputeV1::TargetInstance, decorator: Google::Apis::ComputeV1::TargetInstance::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetInstancesScopedList::Warning, decorator: Google::Apis::ComputeV1::TargetInstancesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetInstancesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetInstancesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TargetPool # @private class Representation < Google::Apis::Core::JsonRepresentation property :backup_pool, as: 'backupPool' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :failover_ratio, as: 'failoverRatio' collection :health_checks, as: 'healthChecks' property :id, :numeric_string => true, as: 'id' collection :instances, as: 'instances' property :kind, as: 'kind' property :name, as: 'name' property :region, as: 'region' property :security_policy, as: 'securityPolicy' property :self_link, as: 'selfLink' property :session_affinity, as: 'sessionAffinity' end end class TargetPoolAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::TargetPoolsScopedList, decorator: Google::Apis::ComputeV1::TargetPoolsScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetPoolAggregatedList::Warning, decorator: Google::Apis::ComputeV1::TargetPoolAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetPoolAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetPoolAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TargetPoolInstanceHealth # @private class Representation < Google::Apis::Core::JsonRepresentation collection :health_status, as: 'healthStatus', class: Google::Apis::ComputeV1::HealthStatus, decorator: Google::Apis::ComputeV1::HealthStatus::Representation property :kind, as: 'kind' end end class TargetPoolList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::TargetPool, decorator: Google::Apis::ComputeV1::TargetPool::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetPoolList::Warning, decorator: Google::Apis::ComputeV1::TargetPoolList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetPoolList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetPoolList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class AddTargetPoolsHealthCheckRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :health_checks, as: 'healthChecks', class: Google::Apis::ComputeV1::HealthCheckReference, decorator: Google::Apis::ComputeV1::HealthCheckReference::Representation end end class AddTargetPoolsInstanceRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances', class: Google::Apis::ComputeV1::InstanceReference, decorator: Google::Apis::ComputeV1::InstanceReference::Representation end end class RemoveTargetPoolsHealthCheckRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :health_checks, as: 'healthChecks', class: Google::Apis::ComputeV1::HealthCheckReference, decorator: Google::Apis::ComputeV1::HealthCheckReference::Representation end end class RemoveTargetPoolsInstanceRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :instances, as: 'instances', class: Google::Apis::ComputeV1::InstanceReference, decorator: Google::Apis::ComputeV1::InstanceReference::Representation end end class TargetPoolsScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :target_pools, as: 'targetPools', class: Google::Apis::ComputeV1::TargetPool, decorator: Google::Apis::ComputeV1::TargetPool::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetPoolsScopedList::Warning, decorator: Google::Apis::ComputeV1::TargetPoolsScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetPoolsScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetPoolsScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TargetReference # @private class Representation < Google::Apis::Core::JsonRepresentation property :target, as: 'target' end end class TargetSslProxiesSetBackendServiceRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :service, as: 'service' end end class TargetSslProxiesSetCertificateMapRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :certificate_map, as: 'certificateMap' end end class TargetSslProxiesSetProxyHeaderRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :proxy_header, as: 'proxyHeader' end end class TargetSslProxiesSetSslCertificatesRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :ssl_certificates, as: 'sslCertificates' end end class TargetSslProxy # @private class Representation < Google::Apis::Core::JsonRepresentation property :certificate_map, as: 'certificateMap' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :proxy_header, as: 'proxyHeader' property :self_link, as: 'selfLink' property :service, as: 'service' collection :ssl_certificates, as: 'sslCertificates' property :ssl_policy, as: 'sslPolicy' end end class TargetSslProxyList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::TargetSslProxy, decorator: Google::Apis::ComputeV1::TargetSslProxy::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetSslProxyList::Warning, decorator: Google::Apis::ComputeV1::TargetSslProxyList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetSslProxyList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetSslProxyList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TargetTcpProxiesScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :target_tcp_proxies, as: 'targetTcpProxies', class: Google::Apis::ComputeV1::TargetTcpProxy, decorator: Google::Apis::ComputeV1::TargetTcpProxy::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetTcpProxiesScopedList::Warning, decorator: Google::Apis::ComputeV1::TargetTcpProxiesScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetTcpProxiesScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetTcpProxiesScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TargetTcpProxiesSetBackendServiceRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :service, as: 'service' end end class TargetTcpProxiesSetProxyHeaderRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :proxy_header, as: 'proxyHeader' end end class TargetTcpProxy # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :proxy_bind, as: 'proxyBind' property :proxy_header, as: 'proxyHeader' property :region, as: 'region' property :self_link, as: 'selfLink' property :service, as: 'service' end end class TargetTcpProxyAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::TargetTcpProxiesScopedList, decorator: Google::Apis::ComputeV1::TargetTcpProxiesScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetTcpProxyAggregatedList::Warning, decorator: Google::Apis::ComputeV1::TargetTcpProxyAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetTcpProxyAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetTcpProxyAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TargetTcpProxyList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::TargetTcpProxy, decorator: Google::Apis::ComputeV1::TargetTcpProxy::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetTcpProxyList::Warning, decorator: Google::Apis::ComputeV1::TargetTcpProxyList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetTcpProxyList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetTcpProxyList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TargetVpnGateway # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' collection :forwarding_rules, as: 'forwardingRules' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' property :name, as: 'name' property :network, as: 'network' property :region, as: 'region' property :self_link, as: 'selfLink' property :status, as: 'status' collection :tunnels, as: 'tunnels' end end class TargetVpnGatewayAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::TargetVpnGatewaysScopedList, decorator: Google::Apis::ComputeV1::TargetVpnGatewaysScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetVpnGatewayAggregatedList::Warning, decorator: Google::Apis::ComputeV1::TargetVpnGatewayAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetVpnGatewayAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetVpnGatewayAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TargetVpnGatewayList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::TargetVpnGateway, decorator: Google::Apis::ComputeV1::TargetVpnGateway::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetVpnGatewayList::Warning, decorator: Google::Apis::ComputeV1::TargetVpnGatewayList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetVpnGatewayList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetVpnGatewayList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TargetVpnGatewaysScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :target_vpn_gateways, as: 'targetVpnGateways', class: Google::Apis::ComputeV1::TargetVpnGateway, decorator: Google::Apis::ComputeV1::TargetVpnGateway::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::TargetVpnGatewaysScopedList::Warning, decorator: Google::Apis::ComputeV1::TargetVpnGatewaysScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::TargetVpnGatewaysScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::TargetVpnGatewaysScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class TestFailure # @private class Representation < Google::Apis::Core::JsonRepresentation property :actual_output_url, as: 'actualOutputUrl' property :actual_redirect_response_code, as: 'actualRedirectResponseCode' property :actual_service, as: 'actualService' property :expected_output_url, as: 'expectedOutputUrl' property :expected_redirect_response_code, as: 'expectedRedirectResponseCode' property :expected_service, as: 'expectedService' collection :headers, as: 'headers', class: Google::Apis::ComputeV1::UrlMapTestHeader, decorator: Google::Apis::ComputeV1::UrlMapTestHeader::Representation property :host, as: 'host' property :path, as: 'path' end end class TestPermissionsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :permissions, as: 'permissions' end end class TestPermissionsResponse # @private class Representation < Google::Apis::Core::JsonRepresentation collection :permissions, as: 'permissions' end end class Uint128 # @private class Representation < Google::Apis::Core::JsonRepresentation property :high, :numeric_string => true, as: 'high' property :low, :numeric_string => true, as: 'low' end end class UpcomingMaintenance # @private class Representation < Google::Apis::Core::JsonRepresentation property :can_reschedule, as: 'canReschedule' property :latest_window_start_time, as: 'latestWindowStartTime' property :maintenance_on_shutdown, as: 'maintenanceOnShutdown' collection :maintenance_reasons, as: 'maintenanceReasons' property :maintenance_status, as: 'maintenanceStatus' property :type, as: 'type' property :window_end_time, as: 'windowEndTime' property :window_start_time, as: 'windowStartTime' end end class UrlMap # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :default_custom_error_response_policy, as: 'defaultCustomErrorResponsePolicy', class: Google::Apis::ComputeV1::CustomErrorResponsePolicy, decorator: Google::Apis::ComputeV1::CustomErrorResponsePolicy::Representation property :default_route_action, as: 'defaultRouteAction', class: Google::Apis::ComputeV1::HttpRouteAction, decorator: Google::Apis::ComputeV1::HttpRouteAction::Representation property :default_service, as: 'defaultService' property :default_url_redirect, as: 'defaultUrlRedirect', class: Google::Apis::ComputeV1::HttpRedirectAction, decorator: Google::Apis::ComputeV1::HttpRedirectAction::Representation property :description, as: 'description' property :fingerprint, :base64 => true, as: 'fingerprint' property :header_action, as: 'headerAction', class: Google::Apis::ComputeV1::HttpHeaderAction, decorator: Google::Apis::ComputeV1::HttpHeaderAction::Representation collection :host_rules, as: 'hostRules', class: Google::Apis::ComputeV1::HostRule, decorator: Google::Apis::ComputeV1::HostRule::Representation property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' collection :path_matchers, as: 'pathMatchers', class: Google::Apis::ComputeV1::PathMatcher, decorator: Google::Apis::ComputeV1::PathMatcher::Representation property :region, as: 'region' property :self_link, as: 'selfLink' collection :tests, as: 'tests', class: Google::Apis::ComputeV1::UrlMapTest, decorator: Google::Apis::ComputeV1::UrlMapTest::Representation end end class UrlMapList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::UrlMap, decorator: Google::Apis::ComputeV1::UrlMap::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::UrlMapList::Warning, decorator: Google::Apis::ComputeV1::UrlMapList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::UrlMapList::Warning::Datum, decorator: Google::Apis::ComputeV1::UrlMapList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class UrlMapReference # @private class Representation < Google::Apis::Core::JsonRepresentation property :url_map, as: 'urlMap' end end class UrlMapTest # @private class Representation < Google::Apis::Core::JsonRepresentation property :description, as: 'description' property :expected_output_url, as: 'expectedOutputUrl' property :expected_redirect_response_code, as: 'expectedRedirectResponseCode' collection :headers, as: 'headers', class: Google::Apis::ComputeV1::UrlMapTestHeader, decorator: Google::Apis::ComputeV1::UrlMapTestHeader::Representation property :host, as: 'host' property :path, as: 'path' property :service, as: 'service' end end class UrlMapTestHeader # @private class Representation < Google::Apis::Core::JsonRepresentation property :name, as: 'name' property :value, as: 'value' end end class UrlMapValidationResult # @private class Representation < Google::Apis::Core::JsonRepresentation collection :load_errors, as: 'loadErrors' property :load_succeeded, as: 'loadSucceeded' collection :test_failures, as: 'testFailures', class: Google::Apis::ComputeV1::TestFailure, decorator: Google::Apis::ComputeV1::TestFailure::Representation property :test_passed, as: 'testPassed' end end class UrlMapsAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::UrlMapsScopedList, decorator: Google::Apis::ComputeV1::UrlMapsScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::UrlMapsAggregatedList::Warning, decorator: Google::Apis::ComputeV1::UrlMapsAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::UrlMapsAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::UrlMapsAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class UrlMapsScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :url_maps, as: 'urlMaps', class: Google::Apis::ComputeV1::UrlMap, decorator: Google::Apis::ComputeV1::UrlMap::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::UrlMapsScopedList::Warning, decorator: Google::Apis::ComputeV1::UrlMapsScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::UrlMapsScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::UrlMapsScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ValidateUrlMapsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :load_balancing_schemes, as: 'loadBalancingSchemes' property :resource, as: 'resource', class: Google::Apis::ComputeV1::UrlMap, decorator: Google::Apis::ComputeV1::UrlMap::Representation end end class ValidateUrlMapsResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :result, as: 'result', class: Google::Apis::ComputeV1::UrlMapValidationResult, decorator: Google::Apis::ComputeV1::UrlMapValidationResult::Representation end end class UrlRewrite # @private class Representation < Google::Apis::Core::JsonRepresentation property :host_rewrite, as: 'hostRewrite' property :path_prefix_rewrite, as: 'pathPrefixRewrite' property :path_template_rewrite, as: 'pathTemplateRewrite' end end class UsableSubnetwork # @private class Representation < Google::Apis::Core::JsonRepresentation property :external_ipv6_prefix, as: 'externalIpv6Prefix' property :internal_ipv6_prefix, as: 'internalIpv6Prefix' property :ip_cidr_range, as: 'ipCidrRange' property :ipv6_access_type, as: 'ipv6AccessType' property :network, as: 'network' property :purpose, as: 'purpose' property :role, as: 'role' collection :secondary_ip_ranges, as: 'secondaryIpRanges', class: Google::Apis::ComputeV1::UsableSubnetworkSecondaryRange, decorator: Google::Apis::ComputeV1::UsableSubnetworkSecondaryRange::Representation property :stack_type, as: 'stackType' property :subnetwork, as: 'subnetwork' end end class UsableSubnetworkSecondaryRange # @private class Representation < Google::Apis::Core::JsonRepresentation property :ip_cidr_range, as: 'ipCidrRange' property :range_name, as: 'rangeName' end end class UsableSubnetworksAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::UsableSubnetwork, decorator: Google::Apis::ComputeV1::UsableSubnetwork::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' collection :scoped_warnings, as: 'scopedWarnings', class: Google::Apis::ComputeV1::SubnetworksScopedWarning, decorator: Google::Apis::ComputeV1::SubnetworksScopedWarning::Representation property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::UsableSubnetworksAggregatedList::Warning, decorator: Google::Apis::ComputeV1::UsableSubnetworksAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::UsableSubnetworksAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::UsableSubnetworksAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class UsageExportLocation # @private class Representation < Google::Apis::Core::JsonRepresentation property :bucket_name, as: 'bucketName' property :report_name_prefix, as: 'reportNamePrefix' end end class VmEndpointNatMappings # @private class Representation < Google::Apis::Core::JsonRepresentation property :instance_name, as: 'instanceName' collection :interface_nat_mappings, as: 'interfaceNatMappings', class: Google::Apis::ComputeV1::VmEndpointNatMappingsInterfaceNatMappings, decorator: Google::Apis::ComputeV1::VmEndpointNatMappingsInterfaceNatMappings::Representation end end class VmEndpointNatMappingsInterfaceNatMappings # @private class Representation < Google::Apis::Core::JsonRepresentation collection :drain_nat_ip_port_ranges, as: 'drainNatIpPortRanges' collection :nat_ip_port_ranges, as: 'natIpPortRanges' property :num_total_drain_nat_ports, as: 'numTotalDrainNatPorts' property :num_total_nat_ports, as: 'numTotalNatPorts' collection :rule_mappings, as: 'ruleMappings', class: Google::Apis::ComputeV1::VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings, decorator: Google::Apis::ComputeV1::VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings::Representation property :source_alias_ip_range, as: 'sourceAliasIpRange' property :source_virtual_ip, as: 'sourceVirtualIp' end end class VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings # @private class Representation < Google::Apis::Core::JsonRepresentation collection :drain_nat_ip_port_ranges, as: 'drainNatIpPortRanges' collection :nat_ip_port_ranges, as: 'natIpPortRanges' property :num_total_drain_nat_ports, as: 'numTotalDrainNatPorts' property :num_total_nat_ports, as: 'numTotalNatPorts' property :rule_number, as: 'ruleNumber' end end class VmEndpointNatMappingsList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' collection :result, as: 'result', class: Google::Apis::ComputeV1::VmEndpointNatMappings, decorator: Google::Apis::ComputeV1::VmEndpointNatMappings::Representation property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::VmEndpointNatMappingsList::Warning, decorator: Google::Apis::ComputeV1::VmEndpointNatMappingsList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::VmEndpointNatMappingsList::Warning::Datum, decorator: Google::Apis::ComputeV1::VmEndpointNatMappingsList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class VpnGateway # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :gateway_ip_version, as: 'gatewayIpVersion' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' property :name, as: 'name' property :network, as: 'network' property :region, as: 'region' property :self_link, as: 'selfLink' property :stack_type, as: 'stackType' collection :vpn_interfaces, as: 'vpnInterfaces', class: Google::Apis::ComputeV1::VpnGatewayVpnGatewayInterface, decorator: Google::Apis::ComputeV1::VpnGatewayVpnGatewayInterface::Representation end end class VpnGatewayAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::VpnGatewaysScopedList, decorator: Google::Apis::ComputeV1::VpnGatewaysScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::VpnGatewayAggregatedList::Warning, decorator: Google::Apis::ComputeV1::VpnGatewayAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::VpnGatewayAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::VpnGatewayAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class VpnGatewayList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::VpnGateway, decorator: Google::Apis::ComputeV1::VpnGateway::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::VpnGatewayList::Warning, decorator: Google::Apis::ComputeV1::VpnGatewayList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::VpnGatewayList::Warning::Datum, decorator: Google::Apis::ComputeV1::VpnGatewayList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class VpnGatewayStatus # @private class Representation < Google::Apis::Core::JsonRepresentation collection :vpn_connections, as: 'vpnConnections', class: Google::Apis::ComputeV1::VpnGatewayStatusVpnConnection, decorator: Google::Apis::ComputeV1::VpnGatewayStatusVpnConnection::Representation end end class VpnGatewayStatusHighAvailabilityRequirementState # @private class Representation < Google::Apis::Core::JsonRepresentation property :state, as: 'state' property :unsatisfied_reason, as: 'unsatisfiedReason' end end class VpnGatewayStatusTunnel # @private class Representation < Google::Apis::Core::JsonRepresentation property :local_gateway_interface, as: 'localGatewayInterface' property :peer_gateway_interface, as: 'peerGatewayInterface' property :tunnel_url, as: 'tunnelUrl' end end class VpnGatewayStatusVpnConnection # @private class Representation < Google::Apis::Core::JsonRepresentation property :peer_external_gateway, as: 'peerExternalGateway' property :peer_gcp_gateway, as: 'peerGcpGateway' property :state, as: 'state', class: Google::Apis::ComputeV1::VpnGatewayStatusHighAvailabilityRequirementState, decorator: Google::Apis::ComputeV1::VpnGatewayStatusHighAvailabilityRequirementState::Representation collection :tunnels, as: 'tunnels', class: Google::Apis::ComputeV1::VpnGatewayStatusTunnel, decorator: Google::Apis::ComputeV1::VpnGatewayStatusTunnel::Representation end end class VpnGatewayVpnGatewayInterface # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' property :interconnect_attachment, as: 'interconnectAttachment' property :ip_address, as: 'ipAddress' property :ipv6_address, as: 'ipv6Address' end end class VpnGatewaysGetStatusResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :result, as: 'result', class: Google::Apis::ComputeV1::VpnGatewayStatus, decorator: Google::Apis::ComputeV1::VpnGatewayStatus::Representation end end class VpnGatewaysScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :vpn_gateways, as: 'vpnGateways', class: Google::Apis::ComputeV1::VpnGateway, decorator: Google::Apis::ComputeV1::VpnGateway::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::VpnGatewaysScopedList::Warning, decorator: Google::Apis::ComputeV1::VpnGatewaysScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::VpnGatewaysScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::VpnGatewaysScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class VpnTunnel # @private class Representation < Google::Apis::Core::JsonRepresentation property :cipher_suite, as: 'cipherSuite', class: Google::Apis::ComputeV1::VpnTunnelCipherSuite, decorator: Google::Apis::ComputeV1::VpnTunnelCipherSuite::Representation property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :detailed_status, as: 'detailedStatus' property :id, :numeric_string => true, as: 'id' property :ike_version, as: 'ikeVersion' property :kind, as: 'kind' property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' collection :local_traffic_selector, as: 'localTrafficSelector' property :name, as: 'name' property :peer_external_gateway, as: 'peerExternalGateway' property :peer_external_gateway_interface, as: 'peerExternalGatewayInterface' property :peer_gcp_gateway, as: 'peerGcpGateway' property :peer_ip, as: 'peerIp' property :region, as: 'region' collection :remote_traffic_selector, as: 'remoteTrafficSelector' property :router, as: 'router' property :self_link, as: 'selfLink' property :shared_secret, as: 'sharedSecret' property :shared_secret_hash, as: 'sharedSecretHash' property :status, as: 'status' property :target_vpn_gateway, as: 'targetVpnGateway' property :vpn_gateway, as: 'vpnGateway' property :vpn_gateway_interface, as: 'vpnGatewayInterface' end end class VpnTunnelAggregatedList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' hash :items, as: 'items', class: Google::Apis::ComputeV1::VpnTunnelsScopedList, decorator: Google::Apis::ComputeV1::VpnTunnelsScopedList::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::VpnTunnelAggregatedList::Warning, decorator: Google::Apis::ComputeV1::VpnTunnelAggregatedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::VpnTunnelAggregatedList::Warning::Datum, decorator: Google::Apis::ComputeV1::VpnTunnelAggregatedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class VpnTunnelCipherSuite # @private class Representation < Google::Apis::Core::JsonRepresentation property :phase1, as: 'phase1', class: Google::Apis::ComputeV1::VpnTunnelPhase1Algorithms, decorator: Google::Apis::ComputeV1::VpnTunnelPhase1Algorithms::Representation property :phase2, as: 'phase2', class: Google::Apis::ComputeV1::VpnTunnelPhase2Algorithms, decorator: Google::Apis::ComputeV1::VpnTunnelPhase2Algorithms::Representation end end class VpnTunnelList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::VpnTunnel, decorator: Google::Apis::ComputeV1::VpnTunnel::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::VpnTunnelList::Warning, decorator: Google::Apis::ComputeV1::VpnTunnelList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::VpnTunnelList::Warning::Datum, decorator: Google::Apis::ComputeV1::VpnTunnelList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class VpnTunnelPhase1Algorithms # @private class Representation < Google::Apis::Core::JsonRepresentation collection :dh, as: 'dh' collection :encryption, as: 'encryption' collection :integrity, as: 'integrity' collection :prf, as: 'prf' end end class VpnTunnelPhase2Algorithms # @private class Representation < Google::Apis::Core::JsonRepresentation collection :encryption, as: 'encryption' collection :integrity, as: 'integrity' collection :pfs, as: 'pfs' end end class VpnTunnelsScopedList # @private class Representation < Google::Apis::Core::JsonRepresentation collection :vpn_tunnels, as: 'vpnTunnels', class: Google::Apis::ComputeV1::VpnTunnel, decorator: Google::Apis::ComputeV1::VpnTunnel::Representation property :warning, as: 'warning', class: Google::Apis::ComputeV1::VpnTunnelsScopedList::Warning, decorator: Google::Apis::ComputeV1::VpnTunnelsScopedList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::VpnTunnelsScopedList::Warning::Datum, decorator: Google::Apis::ComputeV1::VpnTunnelsScopedList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class WafExpressionSet # @private class Representation < Google::Apis::Core::JsonRepresentation collection :aliases, as: 'aliases' collection :expressions, as: 'expressions', class: Google::Apis::ComputeV1::WafExpressionSetExpression, decorator: Google::Apis::ComputeV1::WafExpressionSetExpression::Representation property :id, as: 'id' end end class WafExpressionSetExpression # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' property :sensitivity, as: 'sensitivity' end end class WeightedBackendService # @private class Representation < Google::Apis::Core::JsonRepresentation property :backend_service, as: 'backendService' property :header_action, as: 'headerAction', class: Google::Apis::ComputeV1::HttpHeaderAction, decorator: Google::Apis::ComputeV1::HttpHeaderAction::Representation property :weight, as: 'weight' end end class Wire # @private class Representation < Google::Apis::Core::JsonRepresentation property :admin_enabled, as: 'adminEnabled' collection :endpoints, as: 'endpoints', class: Google::Apis::ComputeV1::WireEndpoint, decorator: Google::Apis::ComputeV1::WireEndpoint::Representation property :label, as: 'label' property :wire_properties, as: 'wireProperties', class: Google::Apis::ComputeV1::WireProperties, decorator: Google::Apis::ComputeV1::WireProperties::Representation end end class WireEndpoint # @private class Representation < Google::Apis::Core::JsonRepresentation property :interconnect, as: 'interconnect' property :vlan_tag, as: 'vlanTag' end end class WireGroup # @private class Representation < Google::Apis::Core::JsonRepresentation property :admin_enabled, as: 'adminEnabled' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' hash :endpoints, as: 'endpoints', class: Google::Apis::ComputeV1::WireGroupEndpoint, decorator: Google::Apis::ComputeV1::WireGroupEndpoint::Representation property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :reconciling, as: 'reconciling' property :self_link, as: 'selfLink' property :topology, as: 'topology', class: Google::Apis::ComputeV1::WireGroupTopology, decorator: Google::Apis::ComputeV1::WireGroupTopology::Representation property :wire_properties, as: 'wireProperties', class: Google::Apis::ComputeV1::WireProperties, decorator: Google::Apis::ComputeV1::WireProperties::Representation collection :wires, as: 'wires', class: Google::Apis::ComputeV1::Wire, decorator: Google::Apis::ComputeV1::Wire::Representation end end class WireGroupEndpoint # @private class Representation < Google::Apis::Core::JsonRepresentation hash :interconnects, as: 'interconnects', class: Google::Apis::ComputeV1::WireGroupEndpointInterconnect, decorator: Google::Apis::ComputeV1::WireGroupEndpointInterconnect::Representation end end class WireGroupEndpointInterconnect # @private class Representation < Google::Apis::Core::JsonRepresentation property :interconnect, as: 'interconnect' collection :vlan_tags, as: 'vlanTags' end end class WireGroupList # @private class Representation < Google::Apis::Core::JsonRepresentation property :etag, as: 'etag' property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::WireGroup, decorator: Google::Apis::ComputeV1::WireGroup::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' collection :unreachables, as: 'unreachables' property :warning, as: 'warning', class: Google::Apis::ComputeV1::WireGroupList::Warning, decorator: Google::Apis::ComputeV1::WireGroupList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::WireGroupList::Warning::Datum, decorator: Google::Apis::ComputeV1::WireGroupList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class WireGroupTopology # @private class Representation < Google::Apis::Core::JsonRepresentation collection :endpoints, as: 'endpoints', class: Google::Apis::ComputeV1::WireGroupTopologyEndpoint, decorator: Google::Apis::ComputeV1::WireGroupTopologyEndpoint::Representation end end class WireGroupTopologyEndpoint # @private class Representation < Google::Apis::Core::JsonRepresentation property :city, as: 'city' property :label, as: 'label' end end class WireProperties # @private class Representation < Google::Apis::Core::JsonRepresentation property :bandwidth_allocation, as: 'bandwidthAllocation' property :bandwidth_unmetered, :numeric_string => true, as: 'bandwidthUnmetered' property :fault_response, as: 'faultResponse' end end class XpnHostList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Project, decorator: Google::Apis::ComputeV1::Project::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::XpnHostList::Warning, decorator: Google::Apis::ComputeV1::XpnHostList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::XpnHostList::Warning::Datum, decorator: Google::Apis::ComputeV1::XpnHostList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class XpnResourceId # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' property :type, as: 'type' end end class Zone # @private class Representation < Google::Apis::Core::JsonRepresentation collection :available_cpu_platforms, as: 'availableCpuPlatforms' property :creation_timestamp, as: 'creationTimestamp' property :deprecated, as: 'deprecated', class: Google::Apis::ComputeV1::DeprecationStatus, decorator: Google::Apis::ComputeV1::DeprecationStatus::Representation property :description, as: 'description' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' property :region, as: 'region' property :self_link, as: 'selfLink' property :status, as: 'status' property :supports_pzs, as: 'supportsPzs' end end class ZoneList # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' collection :items, as: 'items', class: Google::Apis::ComputeV1::Zone, decorator: Google::Apis::ComputeV1::Zone::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' property :self_link, as: 'selfLink' property :warning, as: 'warning', class: Google::Apis::ComputeV1::ZoneList::Warning, decorator: Google::Apis::ComputeV1::ZoneList::Warning::Representation end class Warning # @private class Representation < Google::Apis::Core::JsonRepresentation property :code, as: 'code' collection :data, as: 'data', class: Google::Apis::ComputeV1::ZoneList::Warning::Datum, decorator: Google::Apis::ComputeV1::ZoneList::Warning::Datum::Representation property :message, as: 'message' end class Datum # @private class Representation < Google::Apis::Core::JsonRepresentation property :key, as: 'key' property :value, as: 'value' end end end end class ZoneSetLabelsRequest # @private class Representation < Google::Apis::Core::JsonRepresentation property :label_fingerprint, :base64 => true, as: 'labelFingerprint' hash :labels, as: 'labels' end end class ZoneSetNestedPolicyRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :bindings, as: 'bindings', class: Google::Apis::ComputeV1::Binding, decorator: Google::Apis::ComputeV1::Binding::Representation property :etag, :base64 => true, as: 'etag' property :policy, as: 'policy', class: Google::Apis::ComputeV1::Policy, decorator: Google::Apis::ComputeV1::Policy::Representation end end class ZoneSetPolicyRequest # @private class Representation < Google::Apis::Core::JsonRepresentation collection :bindings, as: 'bindings', class: Google::Apis::ComputeV1::Binding, decorator: Google::Apis::ComputeV1::Binding::Representation property :etag, :base64 => true, as: 'etag' property :policy, as: 'policy', class: Google::Apis::ComputeV1::Policy, decorator: Google::Apis::ComputeV1::Policy::Representation end end end end end google-apis-compute_v1-0.140.0/lib/google/apis/compute_v1.rb0000644000004100000410000000403715140136377023572 0ustar www-datawww-data# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require 'google/apis/compute_v1/service.rb' require 'google/apis/compute_v1/classes.rb' require 'google/apis/compute_v1/representations.rb' require 'google/apis/compute_v1/gem_version.rb' module Google module Apis # Compute Engine API # # Creates and runs virtual machines on Google Cloud Platform. # # @see https://cloud.google.com/compute/ module ComputeV1 # Version of the Compute Engine API this client connects to. # This is NOT the gem version. VERSION = 'V1' # See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account. AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' # View and manage your Google Compute Engine resources AUTH_COMPUTE = 'https://www.googleapis.com/auth/compute' # View your Google Compute Engine resources AUTH_COMPUTE_READONLY = 'https://www.googleapis.com/auth/compute.readonly' # Manage your data and permissions in Cloud Storage and see the email address for your Google Account AUTH_DEVSTORAGE_FULL_CONTROL = 'https://www.googleapis.com/auth/devstorage.full_control' # View your data in Google Cloud Storage AUTH_DEVSTORAGE_READ_ONLY = 'https://www.googleapis.com/auth/devstorage.read_only' # Manage your data in Cloud Storage and see the email address of your Google Account AUTH_DEVSTORAGE_READ_WRITE = 'https://www.googleapis.com/auth/devstorage.read_write' end end end google-apis-compute_v1-0.140.0/lib/google-apis-compute_v1.rb0000644000004100000410000000114115140136377023557 0ustar www-datawww-data# Copyright 2020 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require "google/apis/compute_v1" google-apis-compute_v1-0.140.0/.yardopts0000644000004100000410000000035615140136377020053 0ustar www-datawww-data--hide-void-return --no-private --verbose --title=google-apis-compute_v1 --markup-provider=redcarpet --markup=markdown --main OVERVIEW.md lib/google/apis/compute_v1/*.rb lib/google/apis/compute_v1.rb - OVERVIEW.md CHANGELOG.md LICENSE.md google-apis-compute_v1-0.140.0/LICENSE.md0000644000004100000410000002636115140136377017615 0ustar www-datawww-data Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] 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. google-apis-compute_v1-0.140.0/google-apis-compute_v1.gemspec0000644000004100000410000000460615140136377024042 0ustar www-datawww-data######################################################### # This file has been automatically generated by gem2tgz # ######################################################### # -*- encoding: utf-8 -*- # stub: google-apis-compute_v1 0.140.0 ruby lib Gem::Specification.new do |s| s.name = "google-apis-compute_v1".freeze s.version = "0.140.0".freeze s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= s.metadata = { "bug_tracker_uri" => "https://github.com/googleapis/google-api-ruby-client/issues", "changelog_uri" => "https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-compute_v1/CHANGELOG.md", "documentation_uri" => "https://googleapis.dev/ruby/google-apis-compute_v1/v0.140.0", "source_code_uri" => "https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-compute_v1" } if s.respond_to? :metadata= s.require_paths = ["lib".freeze] s.authors = ["Google LLC".freeze] s.date = "1980-01-02" s.description = "This is the simple REST client for Compute Engine API V1. Simple REST clients are Ruby client libraries that provide access to Google services via their HTTP REST API endpoints. These libraries are generated and updated automatically based on the discovery documents published by the service, and they handle most concerns such as authentication, pagination, retry, timeouts, and logging. You can use this client to access the Compute Engine API, but note that some services may provide a separate modern client that is easier to use.".freeze s.email = "googleapis-packages@google.com".freeze s.files = [".yardopts".freeze, "CHANGELOG.md".freeze, "LICENSE.md".freeze, "OVERVIEW.md".freeze, "lib/google-apis-compute_v1.rb".freeze, "lib/google/apis/compute_v1.rb".freeze, "lib/google/apis/compute_v1/classes.rb".freeze, "lib/google/apis/compute_v1/gem_version.rb".freeze, "lib/google/apis/compute_v1/representations.rb".freeze, "lib/google/apis/compute_v1/service.rb".freeze] s.homepage = "https://github.com/google/google-api-ruby-client".freeze s.licenses = ["Apache-2.0".freeze] s.required_ruby_version = Gem::Requirement.new(">= 3.1".freeze) s.rubygems_version = "3.6.9".freeze s.summary = "Simple REST client for Compute Engine API V1".freeze s.specification_version = 4 s.add_runtime_dependency(%q.freeze, [">= 0.15.0".freeze, "< 2.a".freeze]) end google-apis-compute_v1-0.140.0/CHANGELOG.md0000644000004100000410000003036215140136377020016 0ustar www-datawww-data# Release history for google-apis-compute_v1 ### v0.140.0 (2026-02-01) * Regenerated from discovery document revision 20260122 ### v0.139.0 (2026-01-18) * Regenerated from discovery document revision 20260113 ### v0.138.0 (2026-01-11) * Regenerated from discovery document revision 20251230 ### v0.137.0 (2025-12-14) * Regenerated from discovery document revision 20251210 ### v0.136.0 (2025-12-07) * Regenerated from discovery document revision 20251202 ### v0.135.0 (2025-11-09) * Regenerated from discovery document revision 20251031 ### v0.134.0 (2025-10-26) * Regenerated from discovery document revision 20251019 ### v0.133.0 (2025-10-12) * Regenerated from discovery document revision 20250930 ### v0.132.0 (2025-09-28) * Regenerated from discovery document revision 20250916 ### v0.131.0 (2025-09-21) * Regenerated from discovery document revision 20250909 ### v0.130.0 (2025-09-14) * Regenerated from discovery document revision 20250902 ### v0.129.0 (2025-08-24) * Regenerated from discovery document revision 20250810 ### v0.128.0 (2025-08-17) * Regenerated from discovery document revision 20250807 ### v0.127.0 (2025-08-10) * Regenerated from discovery document revision 20250729 ### v0.126.0 (2025-08-03) * Regenerated from discovery document revision 20250728 ### v0.125.0 (2025-07-20) * Regenerated from discovery document revision 20250717 ### v0.124.0 (2025-07-13) * Regenerated from discovery document revision 20250708 ### v0.123.0 (2025-07-06) * Regenerated from discovery document revision 20250626 ### v0.122.0 (2025-06-08) * Regenerated from discovery document revision 20250601 * Regenerated using generator version 0.18.0 ### v0.121.0 (2025-05-21) * Regenerated from discovery document revision 20250511 ### v0.120.0 (2025-05-11) * Regenerated from discovery document revision 20250505 ### v0.119.0 (2025-05-04) * Regenerated from discovery document revision 20250427 * Regenerated using generator version 0.17.0 ### v0.118.0 (2025-04-20) * Regenerated from discovery document revision 20250415 ### v0.117.0 (2025-03-23) * Regenerated from discovery document revision 20250320 ### v0.116.0 (2025-03-16) * Regenerated from discovery document revision 20250302 ### v0.115.0 (2025-03-02) * Regenerated from discovery document revision 20250224 ### v0.114.0 (2025-01-12) * Regenerated from discovery document revision 20241231 * Regenerated using generator version 0.16.0 ### v0.113.0 (2024-12-15) * Regenerated from discovery document revision 20241201 ### v0.112.0 (2024-11-17) * Regenerated from discovery document revision 20241105 ### v0.111.0 (2024-11-03) * Regenerated from discovery document revision 20241021 ### v0.110.0 (2024-10-27) * Regenerated from discovery document revision 20241015 ### v0.109.0 (2024-10-13) * Regenerated from discovery document revision 20241001 ### v0.108.0 (2024-09-22) * Regenerated from discovery document revision 20240919 ### v0.107.0 (2024-09-15) * Regenerated from discovery document revision 20240903 ### v0.106.0 (2024-09-01) * Regenerated from discovery document revision 20240820 ### v0.105.0 (2024-08-18) * Regenerated from discovery document revision 20240813 ### v0.104.0 (2024-08-11) * Regenerated from discovery document revision 20240730 ### v0.103.0 (2024-08-04) * Regenerated from discovery document revision 20240723 * Regenerated using generator version 0.15.1 ### v0.102.0 (2024-07-25) * Regenerated from discovery document revision 20240702 ### v0.101.0 (2024-06-26) * Regenerated from discovery document revision 20240618 ### v0.100.0 (2024-06-16) * Regenerated from discovery document revision 20240604 ### v0.99.0 (2024-06-02) * Regenerated from discovery document revision 20240526 ### v0.98.0 (2024-05-26) * Regenerated from discovery document revision 20240519 * Regenerated using generator version 0.15.0 ### v0.97.0 (2024-04-28) * Regenerated from discovery document revision 20240421 ### v0.96.0 (2024-04-21) * Regenerated from discovery document revision 20240407 ### v0.95.0 (2024-04-07) * Regenerated from discovery document revision 20240326 ### v0.94.0 (2024-03-31) * Regenerated from discovery document revision 20240324 ### v0.93.0 (2024-03-24) * Regenerated from discovery document revision 20240312 ### v0.92.0 (2024-03-17) * Regenerated from discovery document revision 20240305 ### v0.91.0 (2024-03-10) * Regenerated from discovery document revision 20240227 ### v0.90.0 (2024-02-24) * Regenerated from discovery document revision 20240218 * Regenerated using generator version 0.14.0 ### v0.89.0 (2024-02-11) * Regenerated from discovery document revision 20240130 ### v0.88.0 (2024-02-04) * Regenerated from discovery document revision 20240129 * Regenerated using generator version 0.13.1 ### v0.87.0 (2024-01-22) * Regenerated from discovery document revision 20240109 * Regenerated using generator version 0.13.0 ### v0.86.0 (2024-01-07) * Regenerated from discovery document revision 20231231 ### v0.85.0 (2023-12-10) * Regenerated from discovery document revision 20231128 ### v0.84.0 (2023-11-12) * Regenerated from discovery document revision 20231031 ### v0.83.0 (2023-10-29) * Regenerated from discovery document revision 20231017 ### v0.82.0 (2023-10-22) * Regenerated from discovery document revision 20231011 ### v0.81.0 (2023-10-08) * Regenerated from discovery document revision 20230923 ### v0.80.0 (2023-10-01) * Regenerated from discovery document revision 20230920 ### v0.79.0 (2023-09-24) * Regenerated from discovery document revision 20230912 ### v0.78.0 (2023-09-10) * Regenerated from discovery document revision 20230829 ### v0.77.0 (2023-08-27) * Regenerated from discovery document revision 20230814 ### v0.76.0 (2023-08-13) * Regenerated from discovery document revision 20230801 ### v0.75.0 (2023-08-06) * Regenerated from discovery document revision 20230725 ### v0.74.0 (2023-07-16) * Regenerated from discovery document revision 20230711 ### v0.73.0 (2023-07-09) * Regenerated from discovery document revision 20230701 ### v0.72.0 (2023-07-02) * Regenerated from discovery document revision 20230620 ### v0.71.0 (2023-06-18) * Regenerated from discovery document revision 20230606 ### v0.70.0 (2023-06-11) * Regenerated from discovery document revision 20230530 ### v0.69.0 (2023-05-28) * Regenerated from discovery document revision 20230516 ### v0.68.0 (2023-05-21) * Regenerated from discovery document revision 20230509 ### v0.67.0 (2023-05-14) * Regenerated from discovery document revision 20230502 ### v0.66.0 (2023-04-16) * Regenerated from discovery document revision 20230403 ### v0.65.0 (2023-04-02) * Regenerated from discovery document revision 20230322 ### v0.64.0 (2023-03-12) * Regenerated from discovery document revision 20230307 ### v0.63.0 (2023-03-05) * Regenerated from discovery document revision 20230221 ### v0.62.0 (2023-02-19) * Regenerated from discovery document revision 20230210 * Regenerated using generator version 0.12.0 ### v0.61.0 (2023-02-12) * Regenerated from discovery document revision 20230201 ### v0.60.0 (2023-01-29) * Regenerated from discovery document revision 20230119 ### v0.59.0 (2023-01-22) * Regenerated from discovery document revision 20230103 ### v0.58.0 (2023-01-15) * Regenerated from discovery document revision 20221224 * Regenerated using generator version 0.11.1 ### v0.57.0 (2022-12-22) * Regenerated from discovery document revision 20221206 ### v0.56.0 (2022-12-03) * Regenerated from discovery document revision 20221126 ### v0.55.0 (2022-11-03) * Regenerated from discovery document revision 20221026 ### v0.54.0 (2022-10-30) * Regenerated from discovery document revision 20221018 * Regenerated using generator version 0.11.0 ### v0.53.0 (2022-09-30) * Regenerated from discovery document revision 20220918 ### v0.52.0 (2022-09-21) * Regenerated from discovery document revision 20220911 * Regenerated using generator version 0.10.0 ### v0.51.0 (2022-09-16) * Unspecified changes ### v0.50.0 (2022-09-09) * Regenerated from discovery document revision 20220831 ### v0.49.0 (2022-08-31) * Regenerated from discovery document revision 20220823 ### v0.48.0 (2022-08-26) * Regenerated from discovery document revision 20220816 ### v0.47.0 (2022-08-14) * Regenerated from discovery document revision 20220809 ### v0.46.0 (2022-08-06) * Regenerated from discovery document revision 20220726 ### v0.45.0 (2022-07-26) * Regenerated from discovery document revision 20220720 ### v0.44.0 (2022-07-20) * Regenerated from discovery document revision 20220714 ### v0.43.0 (2022-07-13) * Regenerated from discovery document revision 20220705 ### v0.42.0 (2022-07-04) * Regenerated from discovery document revision 20220621 * Regenerated using generator version 0.9.0 ### v0.41.0 (2022-06-30) * Regenerated using generator version 0.8.0 ### v0.40.0 (2022-06-23) * Regenerated from discovery document revision 20220614 ### v0.39.0 (2022-06-18) * Regenerated using generator version 0.7.0 * Regenerated from discovery document revision 20220607 ### v0.38.0 (2022-06-03) * Regenerated from discovery document revision 20220526 * Regenerated using generator version 0.5.0 ### v0.37.0 (2022-05-25) * Regenerated from discovery document revision 20220517 ### v0.36.0 (2022-05-18) * Regenerated from discovery document revision 20220510 ### v0.35.0 (2022-05-11) * Regenerated from discovery document revision 20220506 ### v0.34.0 (2022-04-29) * Regenerated from discovery document revision 20220426 ### v0.33.0 (2022-04-22) * Regenerated from discovery document revision 20220420 ### v0.32.0 (2022-04-16) * Regenerated from discovery document revision 20220405 ### v0.31.0 (2022-03-30) * Regenerated from discovery document revision 20220322 ### v0.30.0 (2022-03-22) * Regenerated from discovery document revision 20220315 ### v0.29.0 (2022-03-18) * Regenerated from discovery document revision 20220312 ### v0.28.0 (2022-03-09) * Regenerated from discovery document revision 20220301 ### v0.27.0 (2022-02-25) * Regenerated from discovery document revision 20220224 ### v0.26.0 (2022-02-18) * Regenerated from discovery document revision 20220215 ### v0.25.0 (2022-02-12) * Regenerated from discovery document revision 20220206 ### v0.24.0 (2022-01-29) * Regenerated from discovery document revision 20220112 * Regenerated using generator version 0.4.1 ### v0.23.0 (2022-01-08) * Regenerated from discovery document revision 20211228 * Unspecified changes ### v0.22.0 (2021-12-10) * Regenerated from discovery document revision 20211208 ### v0.21.0 (2021-12-02) * Regenerated from discovery document revision 20211130 ### v0.20.0 (2021-11-09) * Regenerated from discovery document revision 20211025 ### v0.19.0 (2021-10-26) * Regenerated from discovery document revision 20211019 * Unspecified changes ### v0.18.0 (2021-10-02) * Regenerated from discovery document revision 20210918 ### v0.17.0 (2021-09-13) * Regenerated from discovery document revision 20210907 ### v0.16.0 (2021-09-04) * Regenerated from discovery document revision 20210820 ### v0.15.0 (2021-07-29) * Regenerated from discovery document revision 20210719 ### v0.14.0 (2021-06-29) * Regenerated using generator version 0.4.0 ### v0.13.0 (2021-06-24) * Unspecified changes ### v0.12.0 (2021-06-10) * Regenerated from discovery document revision 20210525 * Regenerated using generator version 0.3.0 ### v0.11.0 (2021-05-28) * Regenerated from discovery document revision 20210518 ### v0.10.0 (2021-05-20) * Regenerated from discovery document revision 20210505 * Unspecified changes ### v0.9.0 (2021-05-05) * Regenerated from discovery document revision 20210415 ### v0.8.0 (2021-03-30) * Regenerated from discovery document revision 20210316 ### v0.7.0 (2021-03-19) * Regenerated from discovery document revision 20210310 ### v0.6.0 (2021-03-10) * Regenerated from discovery document revision 20210301 * Regenerated using generator version 0.2.0 ### v0.5.0 (2021-03-04) * Unspecified changes ### v0.4.0 (2021-02-24) * Regenerated from discovery document revision 20210209 ### v0.3.0 (2021-02-16) * Regenerated from discovery document revision 20210129 ### v0.2.0 (2021-01-29) * Regenerated from discovery document revision 20210111 * Regenerated using generator version 0.1.2 ### v0.1.0 (2021-01-07) * Regenerated using generator version 0.1.1 * Regenerated from discovery document revision 20201122