google-apis-compute-v1-0.57.0/0000755000175000017500000000000014410330657015050 5ustar vinayvinaygoogle-apis-compute-v1-0.57.0/LICENSE.md0000644000175000017500000002636114410330657016464 0ustar vinayvinay 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.57.0/CHANGELOG.md0000644000175000017500000001203614410330657016663 0ustar vinayvinay# Release history for google-apis-compute_v1 ### 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 google-apis-compute-v1-0.57.0/OVERVIEW.md0000644000175000017500000001366114410330657016647 0ustar vinayvinay# 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 2.5+. 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. Currently, this means Ruby 2.5 and later. 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.57.0/lib/0000755000175000017500000000000014410330657015616 5ustar vinayvinaygoogle-apis-compute-v1-0.57.0/lib/google-apis-compute_v1.rb0000644000175000017500000000114114410330657022426 0ustar vinayvinay# 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.57.0/lib/google/0000755000175000017500000000000014410330657017072 5ustar vinayvinaygoogle-apis-compute-v1-0.57.0/lib/google/apis/0000755000175000017500000000000014410330657020026 5ustar vinayvinaygoogle-apis-compute-v1-0.57.0/lib/google/apis/compute_v1/0000755000175000017500000000000014410330657022110 5ustar vinayvinaygoogle-apis-compute-v1-0.57.0/lib/google/apis/compute_v1/service.rb0000644000175000017500001227366614410330657024124 0ustar vinayvinay# 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 # @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('https://compute.googleapis.com/', '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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # Sets the labels on an Address. 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_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 # Retrieves an aggregated list of autoscalers. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available # autoscalers by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 supports PATCH semantics and uses the JSON 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 # 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. Gets a list of available backend # buckets by making a list() request. # @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 # 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 supports PATCH semantics and uses the JSON 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 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_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 # 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available # backend services. # @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 # 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # 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, see Google 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 # Updates the specified 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] 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 # Retrieves an aggregated list of disk types. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available disk types 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] 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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 separately delete 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 a specified persistent disk. Gets a list of available persistent disks # 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] 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, or # sourceDisk) 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 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_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 # 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 # 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so # that if you must retry your request, the server will know to ignore the # request if it has already been completed. For example, consider a situation # where you make an initial request and the request times out. If you make the # request again with the same request ID, the server can check if original # operation with the same request ID was received, and if so, will ignore the # second request. This prevents clients from accidentally creating duplicate # commitments. The request ID must be a valid UUID with the exception that zero # UUID is not supported ( 00000000-0000-0000-0000-000000000000). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 supports PATCH semantics and uses the JSON 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 # 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 supports PATCH semantics and uses the JSON 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 # 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. Gets a list of available addresses by # making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # Sets the labels on a GlobalAddress. 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_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 # 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 supports PATCH semantics and uses the JSON 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. Gets a list of available network # endpoint groups by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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. # @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. # @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 [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 supports PATCH semantics and uses JSON # 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available health # checks by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 supports PATCH semantics and uses the # JSON 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 # 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. Gets a list of available HTTP # health checks by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 supports PATCH semantics and uses the # JSON 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 # 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. Gets a list of available # HTTPS health checks by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 supports PATCH semantics and uses the # JSON 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 # 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. Gets a list of available images by making a list() # request. # @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. # @param [String] project # Project ID 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::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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 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_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 # 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 the targetSize of the managed instance group by the number # of instances that you abandon. This operation is marked as DONE 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 the # listmanagedinstances 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 the zone 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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 the zone 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. 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 the creating or actions with the listmanagedinstances # method. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone 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 the zone 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 the targetSize 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 the # listmanagedinstances 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 the zone 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 the zone 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. Gets a # list of available managed instance groups by making a list() request. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone 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 the # listmanagedinstances 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 the zone 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 the zone 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # in the alpha and beta API and 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 the zone 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 the zone 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 the # listManagedInstances method. This method supports PATCH semantics and uses the # JSON 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, see Updating 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 the zone 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 its currentAction 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 the zone 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 marked DONE 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 the listmanagedinstances 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 the zone 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 # 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, run applyUpdatesToInstances, or set the group's # updatePolicy.type to PROACTIVE. # @param [String] project # Project ID for this request. # @param [String] zone # The name of the zone 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 marked DONE 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 the zone 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 # 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 the zone 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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 # the instanceGroupManagers 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 the instanceGroupManagers 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] 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # 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. Gets a list of available instance # templates by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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, read Adding 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, see About 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, see Deleting 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 # 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. Gets a list of available instances 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] 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, read Viewing 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # 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 # Performs a reset on the instance. This is a hard reset. The VM does not do a # graceful shutdown. For more information, see Resetting 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 the instances().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 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] 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, read # Specifying 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 an instance's scheduling options. You can only call this method on a # stopped instance, that is, a VM instance that is in a `TERMINATED` state. See # Instance Life Cycle for more information on the possible instance states. For # more information about setting scheduling options for a VM, see Set 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 service account on the instance. For more information, read Changing # 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] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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, 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['fields'] = fields unless fields.nil? command.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 the instances().stop method. For # more information, see Restart 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 the instances().stop method. For # more information, see Restart 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, see Stopping 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 # If true, discard the contents of any attached localSSD partitions. Default # value is false. # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so # that if you must retry your request, the server will know to ignore the # request if it has already been completed. For example, consider a situation # where you make an initial request and the request times out. If you make the # request again with the same request ID, the server can check if original # operation with the same request ID was received, and if so, will ignore the # second request. This prevents clients from accidentally creating duplicate # commitments. The request ID must be a valid UUID with the exception that zero # UUID is not supported ( 00000000-0000-0000-0000-000000000000). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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 # If true, discard the contents of any attached localSSD partitions. Default # value is false. # @param [String] request_id # An optional request ID to identify requests. Specify a unique request ID so # that if you must retry your request, the server will know to ignore the # request if it has already been completed. For example, consider a situation # where you make an initial request and the request times out. If you make the # request again with the same request ID, the server can check if original # operation with the same request ID was received, and if so, will ignore the # second request. This prevents clients from accidentally creating duplicate # commitments. The request ID must be a valid UUID with the exception that zero # UUID is not supported ( 00000000-0000-0000-0000-000000000000). # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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 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 # 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 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 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 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::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 interconnect attachments. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 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] 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 # 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # 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. # @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 # 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 supports PATCH semantics and uses the JSON 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 creating # Cloud 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 # creating Cloud 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 creating Cloud 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 creating Cloud 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 creating Cloud 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 creating Cloud # 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 or windows-cloud. *Caution* # This resource is intended for use only by third-party partners who are # creating Cloud 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 creating Cloud 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 # creating Cloud 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 # 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. Gets a list of available machine images # by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available machine types 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] 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available network # endpoint groups by making a list() request. # @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 the zone 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 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 between # minPriority and maxPriority>. This field is exclusive with rule.priority. # @param [Fixnum] min_priority # When rule.priority is not specified, auto choose a unused priority between # minPriority 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 # 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 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 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 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 # 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. Gets a list of available networks by making a # list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 the # following fields can be modified: routingConfig.routingMode. # @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 # 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # 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 # 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available node templates # by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available node types 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] 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # Retrieves an aggregated list of packetMirrorings. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 supports PATCH semantics and uses JSON 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 # 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. # @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) # . # @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 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 the usage 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 # 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 supports PATCH semantics and uses JSON 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 # Lists all PublicDelegatedPrefix resources owned by the specific project across # all scopes. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 supports PATCH semantics and uses JSON 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 # 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 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 [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 # 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # 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 # 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available # commitments by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 modified: auto_renew. # @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 for which auto renew is being updated. # @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. Gets a list of available disk types # by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # 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 any snapshots previously made from the disk. # You must separately delete 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # 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 # 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 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] 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 # 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. Gets a list of available health # checks 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] 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 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] 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 # 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 the targetSize of the managed instance # group by the number of instances that you abandon. This operation is marked as # DONE 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 the listmanagedinstances 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 the creating or actions with the listmanagedinstances # method. # @param [String] project # Project ID for this request. # @param [String] region # The name of the region 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 the targetSize 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 the deleting action with the listmanagedinstances 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 the # listmanagedinstances 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 and orderBy 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 in the alpha and beta API # and 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 supports PATCH semantics and uses the # JSON 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, see Updating 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 its currentAction 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 the resize request is successful. The underlying # actions take additional time. You must separately verify the status of the # creating or deleting actions with the listmanagedinstances 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 # 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 # 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # 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 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 # Returns the specified network endpoint group. Gets a list of available network # endpoint groups by making a list() request. # @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 the region 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # 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 between # minPriority and maxPriority>. This field is exclusive with rule.priority. # @param [Fixnum] min_priority # When rule.priority is not specified, auto choose a unused priority between # minPriority 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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 # 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 # 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 rule, leave the fields empty and specify them in the updateMask. # This cannot be used to be update the rules in the policy. Please use the per # rule methods like addRule, patchRule, and removeRule instead. # @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] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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, 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['fields'] = fields unless fields.nil? command.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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. Gets a # list of available target HTTP proxies 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] 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. Gets # a list of available target HTTP proxies 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] 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 uses JSON # 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. Gets a list of available URL maps 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] 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 supports PATCH semantics and uses 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] 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 # Returns the specified Region resource. Gets a list of available regions by # making a list() request. To decrease latency for this method, you can # optionally omit any unneeded information from the response by using a field # mask. This practice is especially recommended for unused quota information ( # the `quotas` field). To exclude one or more fields, set your request's `fields` # query parameter to only include the fields you need. For example, to only # include the `id` and `selfLink` fields, add the query parameter `?fields=id, # selfLink` to your request. # @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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 an aggregated list of reservations. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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, read Reserving 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # Resizes the reservation (applicable to standalone reservations only). For more # information, read Modifying 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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 # Returns the specified Router resource. Gets a list of available routers by # making a list() request. # @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 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['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 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # Patches the specified Router resource with the data included in the request. # This method supports PATCH semantics and uses JSON 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 # Preview fields auto-generated during router create and update 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 to PUT 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 # 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. Gets a list of available routes by # making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 rule, leave the fields empty and specify them in the updateMask. # This cannot be used to be update the rules in the policy. Please use the per # rule methods like addRule, patchRule, and removeRule instead. # @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] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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, 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['fields'] = fields unless fields.nil? command.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. # @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 [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, 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['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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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 [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 uses JSON 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 # 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, see Deleting 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. Gets a list of available snapshots by # making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 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_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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available SSL # certificates by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available SSL # policies by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 subnetworks. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available subnetworks list() # request. # @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 [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 uses JSON 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available # target HTTP proxies by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 uses JSON 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available # target HTTPS proxies by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 uses JSON 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available target # instances by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available target pools 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] 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # 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. Gets a list of available target # SSL proxies by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 SSL 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_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 # Retrieves the list of all TargetTcpProxy resources, regional and global, # available to the specified project. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available target # TCP proxies by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 # Retrieves an aggregated list of target VPN gateways. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available target VPN # gateways by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 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_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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available URL maps by # making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 supports PATCH semantics and uses the JSON 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 # 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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available VPN gateways by # making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 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_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. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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, 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['fields'] = fields unless fields.nil? command.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. Gets a list of available VPN tunnels # by making a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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 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_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 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been superseded by `quotaUser`. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::ComputeV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::ComputeV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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. Gets a list of available zones by making # a list() request. # @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. If you want to use AIP-160, your expression must specify the # field name, an operator, and the value that you want to use for filtering. The # value must be a string, a number, or a boolean. The operator must be either `=` # , `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute # Engine instances, you can exclude instances named `example-instance` by # specifying `name != example-instance`. The `:` operator can be used with # string fields to match substrings. For non-string fields it is equivalent to # the `=` operator. The `:*` comparison can be used to test whether a key has # been defined. For example, to find all objects with `owner` label use: ``` # labels.owner:* ``` You can also filter nested fields. For example, you could # specify `scheduling.automaticRestart = false` to include instances only if # they are not scheduled for automatic restarts. You can use filtering on nested # fields to filter based on resource labels. To filter on multiple expressions, # provide each separate expression within parentheses. For example: ``` ( # scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By # default, each expression is an `AND` expression. However, you can include `AND` # and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel # Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling. # automaticRestart = true) ``` If you want to use a regular expression, use the ` # eq` (equal) or `ne` (not equal) operator against a single un-parenthesized # expression with or without quotes or against multiple parenthesized # expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single # quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq # literal) (fieldname2 ne "literal")` The literal value is interpreted as a # regular expression using Google RE2 library syntax. The literal value must # match the entire field. For example, to filter for instances that do not end # with name "instance", you would use `name ne .*instance`. # @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. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [String] user_ip # Legacy name for parameter that has been 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.57.0/lib/google/apis/compute_v1/gem_version.rb0000644000175000017500000000164014410330657024753 0ustar vinayvinay# 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.57.0" # Version of the code generator used to generate this client GENERATOR_VERSION = "0.11.0" # Revision of the discovery document this client was generated from REVISION = "20221206" end end end google-apis-compute-v1-0.57.0/lib/google/apis/compute_v1/classes.rb0000644000175000017500000721626214410330657024112 0ustar vinayvinay# 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 # 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 # 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, read GPUs on Compute Engine. class AcceleratorType include Google::Apis::Core::Hashable # [Output Only] Creation timestamp in RFC3339 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] The type of the resource. Always compute#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] 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] Type of resource. Always compute#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 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] 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] Type of resource. Always compute#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 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::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 # The first IPv6 address of the external IPv6 range associated with this # instance, prefix length is stored in externalIpv6PrefixLength in # ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork # associated with the instance will be allocated dynamically. # Corresponds to the JSON property `externalIpv6` # @return [String] attr_accessor :external_ipv6 # The prefix length of the external IPv6 range. # Corresponds to the JSON property `externalIpv6PrefixLength` # @return [Fixnum] attr_accessor :external_ipv6_prefix_length # [Output Only] Type of the resource. Always compute#accessConfig for access # configs. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The name of this access configuration. The default and recommended name is # External NAT, but you can use any arbitrary string, such as My external IP or # Network Access. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # An external IP address associated with this instance. Specify an unused static # external IP address available to the project or leave this field undefined to # use an IP from a shared ephemeral IP address pool. If you specify a static # external IP address, it must live in the same region as the zone of the # instance. # 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 in accessConfig. If this field is # unspecified in ipv6AccessConfig, a default PTR record will be createc for # first IP in associated external IPv6 range. # Corresponds to the JSON property `publicPtrDomainName` # @return [String] attr_accessor :public_ptr_domain_name # 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. The default and only option is ONE_TO_ONE_NAT. # 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) @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 or EXTERNAL. If unspecified, # defaults to EXTERNAL. # Corresponds to the JSON property `addressType` # @return [String] attr_accessor :address_type # [Output Only] Creation timestamp in RFC3339 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] 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 IP version that will be used by this address. Valid options are IPV4 or # IPV6. This can only be specified for a global address. # 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] Type of the resource. Always compute#address for addresses. # 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 with RFC1035. Specifically, the # name must be 1-63 characters long and match the regular expression `[a-z]([-a- # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all # following characters (except for the last character) must be a dash, lowercase # letter, or digit. The last character must be a lowercase letter or digit. # 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 the VPC_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 or STANDARD. Internal IP addresses are # always Premium Tier; global external IP addresses are always Premium Tier; # regional external IP addresses can be either Standard or Premium Tier. If this # field is not specified, it is assumed to be PREMIUM. # 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] 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] The status of the address, which can be one of RESERVING, # 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 a GCE_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_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) @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] Type of resource. Always compute#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 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] 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] 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 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::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 an Image (e.g., whether or not the OS in the Image 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 # 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 # 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) @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core) @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 as 10.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 # 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 is SCSI. For performance characteristics of SCSI # over NVMe, see Local 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. # Next ID: 6 class AllocationSpecificSkuReservation include Google::Apis::Core::Hashable # [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] 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 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) end end # An instance-attached disk resource. class AttachedDisk include Google::Apis::Core::Hashable # [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 a customer-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. Instance templates do not store customer-supplied encryption keys, # so you cannot use your own keys to encrypt disks in a managed instance group. # 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] 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, see About persistent disks. # Corresponds to the JSON property `interface` # @return [String] attr_accessor :interface # [Output Only] Type of the resource. Always compute#attachedDisk for attached # disks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [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 or READ_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 # 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, one of initializeParams.sourceImage or # initializeParams.sourceSnapshot or disks.source is required except for local # SSD. If desired, you can also attach existing non-root persistent disks using # this property. This field is only applicable for persistent disks. Note that # for InstanceTemplate, specify the disk name for zonal disk, and the URL for # regional disk. # Corresponds to the JSON property `source` # @return [String] attr_accessor :source # Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, # the default is PERSISTENT. # 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) @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, see Persistent disk types. If you # specify this field when creating a VM, you can provide either the full or # partial URL. For example, the following values are valid: - https://www. # googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/diskType - # projects/project/zones/zone/diskTypes/diskType - zones/zone/diskTypes/diskType # If you specify this field when creating or updating an instance template or # all-instances configuration, specify the type of the disk, not the URL. For # example: pd-standard. # Corresponds to the JSON property `diskType` # @return [String] attr_accessor :disk_type # Labels to apply to this disk. These can be later modified by the disks. # 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 the Extreme persistent disk documentation. # Corresponds to the JSON property `provisionedIops` # @return [Fixnum] attr_accessor :provisioned_iops # Resource manager tags to be bound to the disk. Tag keys and values have the # same definition as resource manager tags. Keys must be in the format `tagKeys/` # tag_key_id``, and values are in the format `tagValues/456`. The field is # ignored (both PUT & PATCH) when empty. # 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, one of # initializeParams.sourceImage or initializeParams.sourceSnapshot or disks. # source is required except for local SSD. To create a disk with one of the # public operating system images, specify the image by its family name. For # example, specify family/debian-9 to use the latest Debian 9 image: projects/ # debian-cloud/global/images/family/debian-9 Alternatively, use a specific # version of a public operating system image: projects/debian-cloud/global/ # images/debian-9-stretch-vYYYYMMDD To create a disk with a custom image that # you created, specify the image name in the following format: global/images/my- # custom-image You can also specify a custom image by its image family, which # returns the latest version of the image in that family. Replace the image name # with family/family-name: global/images/family/my-image-family If the source # image is deleted later, this field will not be set. # 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. # InstanceTemplate and InstancePropertiesPatch do not store customer-supplied # encryption keys, so you cannot create disks for instances in a managed # instance group if the source images are encrypted with your own keys. # 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, one of # initializeParams.sourceSnapshot or initializeParams.sourceImage or disks. # source is required except for local SSD. To create a disk with a snapshot that # you created, specify the snapshot name in the following format: global/ # snapshots/my-backup If the source snapshot is deleted later, this field will # not be set. # Corresponds to the JSON property `sourceSnapshot` # @return [String] attr_accessor :source_snapshot # The customer-supplied encryption key of the source snapshot. # Corresponds to the JSON property `sourceSnapshotEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :source_snapshot_encryption_key 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) @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) @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) 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 # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `exemptedMembers` # @return [Array] attr_accessor :exempted_members # 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) @exempted_members = args[:exempted_members] if args.key?(:exempted_members) @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 # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `ignoreChildExemptions` # @return [Boolean] attr_accessor :ignore_child_exemptions alias_method :ignore_child_exemptions?, :ignore_child_exemptions # 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) @ignore_child_exemptions = args[:ignore_child_exemptions] if args.key?(:ignore_child_exemptions) @log_type = args[:log_type] if args.key?(:log_type) end end # This is deprecated and has no effect. Do not use. class AuthorizationLoggingOptions include Google::Apis::Core::Hashable # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `permissionType` # @return [String] attr_accessor :permission_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @permission_type = args[:permission_type] if args.key?(:permission_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 the # regionAutoscalers 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] Creation timestamp in RFC3339 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] 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 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 # [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] URL of the region where the instance group resides (for # autoscalers living in regional scope). # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [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 for Commonly 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] URL of the zone 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] Type of resource. Always compute#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 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] 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] 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 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::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 the autoscaler waits before it starts collecting # information from a new instance. This prevents the autoscaler from collecting # information when the instance is initializing, during which the collected # usage would not be reliable. The default time autoscaler waits is 60 seconds. # Virtual machine initialization times might vary because of numerous factors. # We recommend that you test how long an instance may take to initialize. To do # this, create an instance and time the startup process. # 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 operating mode for this policy. # 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 is 0.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 Monitoring filter string for # TimeSeries.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 or DOUBLE. # 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 example pubsub.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 is https://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: http://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 on balancingMode). A setting of 0 means the # group is completely drained, offering 0% of its available capacity. The valid # ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and # smaller than 0.1. You cannot configure a setting of 0 when there is only one # backend attached to the backend service. Not available with backends that don' # t support using a balancingMode. This includes backends such as global # internet NEGs, regional serverless NEGs, and PSC NEGs. # Corresponds to the JSON property `capacityScaler` # @return [Float] attr_accessor :capacity_scaler # 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 an instance group or network endpoint group (NEG) # resource. To determine what types of backends a load balancer supports, see # the [Backend services overview](https://cloud.google.com/load-balancing/docs/ # backend-service#backends). You must use the *fully-qualified* URL (starting # with https://www.googleapis.com/) to specify the instance group or NEG. # Partial URLs are not supported. # Corresponds to the JSON property `group` # @return [String] attr_accessor :group # Defines a target maximum number of simultaneous connections. For usage # guidelines, see Connection balancing mode and Utilization balancing mode. Not # available if the backend's balancingMode 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, see Connection balancing mode and Utilization balancing mode. Not # available if the backend's balancingMode is RATE. # 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, see Connection balancing mode and Utilization balancing mode. Not # available if the backend's balancingMode is RATE. # 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, see Rate balancing mode and Utilization balancing mode. Not # available if the backend's balancingMode is CONNECTION. # Corresponds to the JSON property `maxRate` # @return [Fixnum] attr_accessor :max_rate # Defines a maximum target for requests per second (RPS). For usage guidelines, # see Rate balancing mode and Utilization balancing mode. Not available if the # backend's balancingMode is CONNECTION. # 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, # see Rate balancing mode and Utilization balancing mode. Not available if the # backend's balancingMode is CONNECTION. # Corresponds to the JSON property `maxRatePerInstance` # @return [Float] attr_accessor :max_rate_per_instance # Optional parameter to define a target capacity for the UTILIZATION balancing # mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization # balancing mode. # Corresponds to the JSON property `maxUtilization` # @return [Float] attr_accessor :max_utilization 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) @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) 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, read # Backend 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 in RFC3339 text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # Headers that the HTTP/S 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 # 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 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 # [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) @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) @name = args[:name] if args.key?(:name) @self_link = args[:self_link] if args.key?(:self_link) 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. # 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-max-age). # 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), 421 (Misdirected Request), 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-max-age) 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 are 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 # 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 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::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 # 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, see Backend Services. class BackendService include Google::Apis::Core::Hashable # Lifetime of cookies in seconds. This setting is applicable to external and # internal HTTP(S) load balancers and Traffic Director and requires # GENERATED_COOKIE or HTTP_COOKIE session affinity. If set to 0, the cookie is # non-persistent and lasts only until the end of the browser session (or # equivalent). The maximum allowed value is two weeks (1,209,600). Not supported # when the backend service is referenced by a URL map that is bound to target # gRPC proxy that has validateForProxyless field set to true. # 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] Creation timestamp in RFC3339 text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # 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 an external HTTP(S) load # balancer. # Corresponds to the JSON property `enableCDN` # @return [Boolean] attr_accessor :enable_cdn alias_method :enable_cdn?, :enable_cdn # For load balancers that have configurable failover: [Internal TCP/UDP Load # Balancing](https://cloud.google.com/load-balancing/docs/internal/failover- # overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load- # balancing/docs/network/networklb-failover-overview). On failover or failback, # this field indicates whether connection draining will be honored. Google Cloud # has a fixed connection draining timeout of 10 minutes. A setting of true # terminates existing TCP connections to the active pool during failover and # failback, immediately draining traffic. A setting of false allows existing TCP # connections to persist, even on VMs no longer in the active pool, for up to # the duration of the connection draining timeout (10 minutes). # 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 # The list of URLs to the healthChecks, httpHealthChecks (legacy), or # httpsHealthChecks (legacy) resource for health checking this backend service. # Not all backend services support legacy health checks. See Load balancer guide. # Currently, at most one health check can be specified for each backend service. # Backend services with instance group or zonal NEG backends must have a health # check. Backend services with internet or serverless NEG backends must not have # a health check. # 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 # [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 to # Choosing 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. # Either the policy or the customPolicy field should be set. Overrides any value # set in the localityLbPolicy field. localityLbPolicies is only supported when # the BackendService is referenced by a URL Map that is referenced by a target # gRPC proxy that has the validateForProxyless field set to true. # 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 https://ai.google/research/pubs/pub44824 This field is # applicable to either: - A regional backend service with the service_protocol # set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme # set to INTERNAL_SELF_MANAGED. If sessionAffinity is not NONE, and this field # is not set to MAGLEV or RING_HASH, session affinity settings will not take # effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service # is referenced by a URL map that is bound to target gRPC proxy that has # validateForProxyless field set to true. # 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 # Name of the resource. Provided by the client when the resource is created. The # name must be 1-63 characters long, and comply with RFC1035. Specifically, the # name must be 1-63 characters long and match the regular expression `[a-z]([-a- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, # and all following characters must be a dash, lowercase letter, or digit, # except the last character, which cannot be a dash. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The URL of the network to which this backend service belongs. This field can # only be specified when the load balancing scheme is set to INTERNAL. # Corresponds to the JSON property `network` # @return [String] attr_accessor :network # 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 # Deprecated in favor of portName. The TCP port to connect on the backend. The # default value is 80. For Internal TCP/UDP Load Balancing and Network Load # Balancing, omit port. # 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 TCP/UDP Load Balancing and Network Load # Balancing, 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, 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] 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 # 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). # Corresponds to the JSON property `sessionAffinity` # @return [String] attr_accessor :session_affinity # 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 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_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) @failover_policy = args[:failover_policy] if args.key?(:failover_policy) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @health_checks = args[:health_checks] if args.key?(:health_checks) @iap = args[:iap] if args.key?(:iap) @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) @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) @name = args[:name] if args.key?(:name) @network = args[:network] if args.key?(:network) @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection) @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) @session_affinity = args[:session_affinity] if args.key?(:session_affinity) @subsetting = args[:subsetting] if args.key?(:subsetting) @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec) 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 # 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 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] 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. # 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-max-age). # 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), 421 (Misdirected Request), 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-max-age) 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 are 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 is PER_CONNECTION ( # default tracking mode) or the Session Affinity is configured for 5-tuple. They # do not persist for UDP. If set to NEVER_PERSIST, after a backend becomes # unhealthy, the existing connections on the unhealthy backend are never # persisted on the unhealthy backend. They are always diverted to newly selected # healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST, # existing connections always persist on unhealthy backends regardless of # protocol and session affinity. It is generally not recommended to use this # mode overriding the default. For more details, see [Connection Persistence for # Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/ # networklb-backend-service#connection-persistence) and [Connection Persistence # for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/ # docs/internal#connection-persistence). # Corresponds to the JSON property `connectionPersistenceOnUnhealthyBackends` # @return [String] attr_accessor :connection_persistence_on_unhealthy_backends # Enable Strong Session Affinity for Network Load Balancing. 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 TCP/UDP Load Balancing: - The # minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set # only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is # CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is # PER_SESSION). For Network Load Balancer the default is 60 seconds. This option # is not available publicly. # 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 # For load balancers that have configurable failover: [Internal TCP/UDP Load # Balancing](https://cloud.google.com/load-balancing/docs/internal/failover- # overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load- # balancing/docs/network/networklb-failover-overview). On failover or failback, # this field indicates whether connection draining will be honored. Google Cloud # has a fixed connection draining timeout of 10 minutes. A setting of true # terminates existing TCP connections to the active pool during failover and # failback, immediately draining traffic. A setting of false allows existing TCP # connections to persist, even on VMs no longer in the active pool, for up to # the duration of the connection draining timeout (10 minutes). class BackendServiceFailoverPolicy include Google::Apis::Core::Hashable # This can be set to true only if the protocol is TCP. 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 # TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/ # failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google. # com/load-balancing/docs/network/networklb-failover-overview). The default is # false. # 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] Type of resource. Always compute#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 # Identity-Aware Proxy class BackendServiceIap include Google::Apis::Core::Hashable # Whether the serving infrastructure will authenticate and authorize all # incoming requests. If true, the oauth2ClientId and oauth2ClientSecret fields # must be non-empty. # 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] 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] Type of resource. Always compute#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 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::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 # 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 type the custom # implementation is registered with on the gRPC clients. It should follow # protocol buffer message naming conventions and include the full path (e.g. # myorg.CustomLbPolicy). The maximum length is 256 characters. Note that # specifying the same custom policy more than once for a backend is not a valid # configuration and will be rejected. # 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 balancer policy to be used. The value should be # one of the predefined ones as supported by localityLbPolicy, although at the # moment only ROUND_ROBIN is supported. This field should only be populated when # the customPolicy field is not used. Note that specifying the same policy more # than once for a backend is not a valid configuration and will be rejected. # 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. 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) @sample_rate = args[:sample_rate] if args.key?(:sample_rate) 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 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 of RFC5880 # 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 of RFC5880 # 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 of RFC5880 # 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 of RFC5880 # 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 of RFC5880 # 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 of RFC5880 # 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 of RFC5880 # 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 of RFC5880 # 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 of RFC5880 # 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 of RFC5880 # 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 of # RFC5880 # 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 # of RFC5880 # 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 of RFC5880 # 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 of RFC5880 # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # The version number of the BFD protocol, as specified in section 4.1 of RFC5880. # 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 of RFC5880 # 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 of RFC5880 # 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 of RFC5880 # 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 # Associates `members`, or principals, with a `role`. class Binding include Google::Apis::Core::Hashable # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `bindingId` # @return [String] attr_accessor :binding_id # 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` # . * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique # identifier) representing a user that has been recently deleted. For example, ` # alice@example.com?uid=123456789012345678901`. If the user is recovered, this # value reverts to `user:`emailid`` and the recovered user retains the role in # the binding. * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email # address (plus unique identifier) representing a service account that has been # recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid= # 123456789012345678901`. If the service account is undeleted, this value # reverts to `serviceAccount:`emailid`` and the undeleted service account # retains the role in the binding. * `deleted:group:`emailid`?uid=`uniqueid``: # An email address (plus unique identifier) representing a Google group that has # been recently deleted. For example, `admins@example.com?uid= # 123456789012345678901`. If the group is recovered, this value reverts to ` # group:`emailid`` and the recovered group retains the role in the binding. * ` # domain:`domain``: The G Suite domain (primary) that represents all the users # of that domain. For example, `google.com` or `example.com`. # 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`. # 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) @binding_id = args[:binding_id] if args.key?(:binding_id) @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.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 # 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. If min_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 as inst-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 name inst-0050, then instance # names generated using the pattern inst-#### 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 with instanceProperties 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_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 # 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) @name = args[:name] if args.key?(:name) end end # class CacheInvalidationRule include Google::Apis::Core::Hashable # 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) @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 # 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 Commitment resource. Creating a commitment resource # means that you are purchasing a committed use contract with an explicit start # and end time. You can create commitments based on vCPUs and memory usage and # receive discounted rates. For full details, read Signing Up for Committed Use # Discounts. class Commitment include Google::Apis::Core::Hashable # Specifies whether to enable automatic renewal for the commitment. The default # value is false if not specified. The field can be updated until the day of the # commitment expiration at 12:00am PST. If the field is set to true, the # commitment will be automatically renewed for either one or three years # according to the terms of the existing commitment. # Corresponds to the JSON property `autoRenew` # @return [Boolean] attr_accessor :auto_renew alias_method :auto_renew?, :auto_renew # The category of the commitment. Category MACHINE specifies commitments # composed of machine resources such as VCPU or MEMORY, listed in resources. # Category LICENSE specifies commitments composed of software licenses, listed # in licenseResources. Note that only MACHINE commitments should have a Type # specified. # Corresponds to the JSON property `category` # @return [String] attr_accessor :category # [Output Only] Creation timestamp in RFC3339 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] Commitment end time in RFC3339 text format. # Corresponds to the JSON property `endTimestamp` # @return [String] attr_accessor :end_timestamp # [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. 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 # List of source commitments to be merged into a new commitment. # Corresponds to the JSON property `mergeSourceCommitments` # @return [Array] attr_accessor :merge_source_commitments # Name of the resource. Provided by the client when the resource is created. The # name must be 1-63 characters long, and comply with RFC1035. Specifically, the # name must be 1-63 characters long and match the regular expression `[a-z]([-a- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, # and all following characters must be a dash, lowercase letter, or digit, # except the last character, which cannot be a dash. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The plan for this commitment, which determines duration and discount rate. The # currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 # years). # Corresponds to the JSON property `plan` # @return [String] attr_accessor :plan # [Output Only] URL of the region where this commitment may be used. # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # List of reservations in this commitment. # Corresponds to the JSON property `reservations` # @return [Array] attr_accessor :reservations # A list of commitment amounts for particular resources. Note that VCPU and # MEMORY resource commitments must occur together. # Corresponds to the JSON property `resources` # @return [Array] attr_accessor :resources # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Source commitment to be splitted into a new commitment. # Corresponds to the JSON property `splitSourceCommitment` # @return [String] attr_accessor :split_source_commitment # [Output Only] Commitment start time in RFC3339 text format. # Corresponds to the JSON property `startTimestamp` # @return [String] attr_accessor :start_timestamp # [Output Only] Status of the commitment with regards to eventual expiration ( # each commitment has an end date defined). One of the following values: # NOT_YET_ACTIVE, ACTIVE, EXPIRED. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # [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, which affects the discount rate and the eligible # resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply # to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a # commitment that will only apply to accelerator optimized machines. # 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) @description = args[:description] if args.key?(:description) @end_timestamp = args[:end_timestamp] if args.key?(:end_timestamp) @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) @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] Type of resource. Always compute#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 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] 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] 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 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::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 # class CommitmentsScopedList include Google::Apis::Core::Hashable # [Output Only] A 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 # This is deprecated and has no effect. Do not use. class Condition include Google::Apis::Core::Hashable # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `iam` # @return [String] attr_accessor :iam # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `op` # @return [String] attr_accessor :op # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `svc` # @return [String] attr_accessor :svc # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `sys` # @return [String] attr_accessor :sys # This is deprecated and has no effect. Do not use. # 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) @iam = args[:iam] if args.key?(:iam) @op = args[:op] if args.key?(:op) @svc = args[:svc] if args.key?(:svc) @sys = args[:sys] if args.key?(:sys) @values = args[:values] if args.key?(:values) end end # A set of Confidential Instance options. class ConfidentialInstanceConfig include Google::Apis::Core::Hashable # 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) @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 in Enabling # 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 to HEADER_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 about the regular expression syntax, see Syntax. An origin is # allowed if it matches either an item in allowOrigins or an item in # allowOriginRegexes. Regular expressions can only be used when the # loadBalancingScheme is set to INTERNAL_SELF_MANAGED. # 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 in allowOrigins or an item in # allowOriginRegexes. # Corresponds to the JSON property `allowOrigins` # @return [Array] attr_accessor :allow_origins # If true, the setting specifies the CORS policy is disabled. The default value # of 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 # 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 # 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 the rsaEncryptedKey. 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 the rsaEncryptedKey. For example: "rsaEncryptedKey": " # ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" The # key must meet the following requirements before you can provide it to Compute # Engine: 1. The key is wrapped using a RSA public key certificate provided by # Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64 # encoding. Gets the RSA public key certificate provided by Google at: https:// # cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem # Corresponds to the JSON property `rsaEncryptedKey` # @return [String] attr_accessor :rsa_encrypted_key # [Output only] The RFC 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 a customer-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 # 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 use ACTIVE. Operations which create a new resource using a # DEPRECATED resource will return successfully, but with a warning indicating # the deprecated resource and recommending its replacement. Operations which use # OBSOLETE or DELETED 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, read Zonal persistent disks. The regionDisks resource # represents a regional persistent disk. For more information, read Regional # resources. class Disk include Google::Apis::Core::Hashable # The architecture of the disk. Valid values are ARM64 or X86_64. # Corresponds to the JSON property `architecture` # @return [String] attr_accessor :architecture # [Output Only] Creation timestamp in RFC3339 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, the diskEncryptionKey.kmsKeyName is set to a key *version* name once the # disk is created. The disk is encrypted with this version of the key. In the # response, diskEncryptionKey.kmsKeyName appears in the following format: " # diskEncryptionKey.kmsKeyName": "projects/kms_project_id/locations/region/ # keyRings/ key_region/cryptoKeys/key /cryptoKeysVersions/version If you do not # provide an encryption key when creating the disk, then the disk is encrypted # using an automatically generated key and you don't need to provide a key to # use the disk later. # Corresponds to the JSON property `diskEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :disk_encryption_key # 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] 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. 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 # error 412 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] Last attach timestamp in RFC3339 text format. # Corresponds to the JSON property `lastAttachTimestamp` # @return [String] attr_accessor :last_attach_timestamp # [Output Only] Last detach timestamp in RFC3339 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 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 # 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 the Extreme persistent disk documentation. # Corresponds to the JSON property `provisionedIops` # @return [Fixnum] attr_accessor :provisioned_iops # [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] Reserved for future use. # Corresponds to the JSON property `satisfiesPzs` # @return [Boolean] attr_accessor :satisfies_pzs alias_method :satisfies_pzs?, :satisfies_pzs # [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 the sourceImage, sourceSnapshot, or sourceDisk # parameter, or specify it alone to create an empty persistent disk. If you # specify this field along with a source, the value of sizeGb must not be less # than the size of the source. Acceptable values are 1 to 65536, inclusive. # Corresponds to the JSON property `sizeGb` # @return [Fixnum] attr_accessor :size_gb # 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] 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, specify # family/debian-9 to use the latest Debian 9 image: projects/debian-cloud/global/ # images/family/debian-9 Alternatively, use a specific version of a public # operating system image: projects/debian-cloud/global/images/debian-9-stretch- # vYYYYMMDD To create a disk with a custom image that you created, specify the # image name in the following format: global/images/my-custom-image You can also # specify a custom image by its image family, which returns the latest version # of the image in that family. Replace the image name with family/family-name: # global/images/family/my-image-family # 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] 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 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 # 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] 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] 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 # 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] 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] 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) @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_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key) @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) @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) @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_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_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) @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] Type of resource. Always compute#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 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] 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 # 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] 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 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::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 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 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 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, read Storage # options. The diskTypes resource represents disk types for a zonal persistent # disk. For more information, read Zonal 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 in RFC3339 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] 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] Type of resource. Always compute#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 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] 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] 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 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::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 # 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 in updatePolicy. # 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 the zone. 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 should match /[a-zA-Z0-9- # _]/ and be limited to 64 characters in length. When identifying the current # value of an exceeded limit, the units should be contained in the key, not the # value. For example, rather than `"instanceLimit": "100/request"`, should be # returned as, `"instanceLimitPerRequest": "100"`, if the client exceeds the # number of instances that can be created in a single (batch) request. # 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] Type of resource. Always compute#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 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::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] Creation timestamp in RFC3339 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 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] Type of the resource. Always compute#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 error 412 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 the setLabels # method. Each label key/value pair must comply with RFC1035. 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 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 # 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] 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 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) 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] 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 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::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, read # Firewall 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] Creation timestamp in RFC3339 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 in CIDR 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] 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. 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 with RFC1035. Specifically, the # name must be 1-63 characters long and match the regular expression `[a-z]([-a- # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all # following characters (except for the last character) must be a dash, lowercase # letter, or digit. The last character must be a lowercase letter or digit. # 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 # 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 in # CIDR 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 the sourceTags 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 as # sourceServiceAccounts. 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 in sourceServiceAccount. The # connection does not need to match both fields for the firewall to apply. # sourceServiceAccounts cannot be used at the same time as sourceTags 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 in allowed[]. # targetServiceAccounts cannot be used at the same time as targetTags 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) @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] 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 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::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 # class FirewallPoliciesListAssociationsResponse include Google::Apis::Core::Hashable # A list of associations. # Corresponds to the JSON property `associations` # @return [Array] attr_accessor :associations # [Output Only] Type of firewallPolicy associations. Always compute# # 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 # 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] Creation timestamp in RFC3339 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 error 412 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] Type of the resource. Always compute#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 # [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 # [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] 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] 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) @parent = args[:parent] if args.key?(:parent) @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] 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] 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] Type of resource. Always compute#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 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] 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. Can # currently be either "allow" or "deny()" where valid values for status are 403, # 404, and 502. # 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] Type of the resource. Always compute#firewallPolicyRule for # firewall 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::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 # prority. # 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] Calculation of the complexity of a single firewall policy rule. # Corresponds to the JSON property `ruleTupleCount` # @return [Fixnum] attr_accessor :rule_tuple_count # 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 as # targetServiceAccounts. If neither targetServiceAccounts nor targetSecureTag # are specified, the firewall rule applies to all instances on the specified # network. Maximum number of target label tags allowed is 256. # 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 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) @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) 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 # 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 # Pairs of IP protocols and ports that the rule should match. # Corresponds to the JSON property `layer4Configs` # @return [Array] attr_accessor :layer4_configs # 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 # 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 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) @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs) @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges) @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags) 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] 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] 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 # Represents a Forwarding Rule resource. Forwarding rule resources in Google # Cloud can be either regional or global in scope: * [Global](https://cloud. # google.com/compute/docs/reference/rest/v1/globalForwardingRules) * [Regional]( # https://cloud.google.com/compute/docs/reference/rest/v1/forwardingRules) A # forwarding rule and its corresponding IP address represent the frontend # configuration of a Google Cloud Platform load balancer. Forwarding rules can # also reference target instances and Cloud VPN Classic gateways ( # targetVpnGateway). For more information, read Forwarding rule concepts and # Using protocol forwarding. 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 and validateForProxyless is set to true, # the IPAddress should be set to 0.0.0.0. - When the target is a Private Service # Connect Google APIs bundle, you must specify an IPAddress. Otherwise, you can # optionally specify an IP address that references an existing static (reserved) # IP address resource. When omitted, Google Cloud assigns an ephemeral IP # address. Use one of the following formats to specify an IP address while # creating a forwarding rule: * IP address number, as in `100.1.2.3` * IPv6 # address range, as in `2600:1234::/96` * Full resource URL, as in https://www. # googleapis.com/compute/v1/projects/ project_id/regions/region/addresses/ # address-name * Partial URL or by name, as in: - projects/project_id/regions/ # region/addresses/address-name - regions/region/addresses/address-name - global/ # addresses/address-name - address-name The forwarding rule's target or # backendService, and in most cases, also the loadBalancingScheme, determine the # type of IP address that you can use. For detailed information, see [IP address # specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule- # concepts#ip_address_specifications). When reading an IPAddress, the API always # returns the IP address number. # 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 and L3_DEFAULT. The valid IP # protocols are different for different load balancing products as described in [ # Load balancing features](https://cloud.google.com/load-balancing/docs/features# # protocols_from_the_load_balancer_to_the_backends). # Corresponds to the JSON property `IPProtocol` # @return [String] attr_accessor :ip_protocol # This field can only be used: - If IPProtocol is one of TCP, UDP, or SCTP. - By # internal TCP/UDP load balancers, backend service-based 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 ports, port_range, and # allPorts fields are mutually exclusive. # Corresponds to the JSON property `allPorts` # @return [Boolean] attr_accessor :all_ports alias_method :all_ports?, :all_ports # This field is used along with the backend_service field for internal load # balancing or with the target field for internal TargetInstance. If the field # is set to TRUE, clients can access ILB from all regions. Otherwise only allows # access from clients in the same region as the internal load balancer. # Corresponds to the JSON property `allowGlobalAccess` # @return [Boolean] attr_accessor :allow_global_access alias_method :allow_global_access?, :allow_global_access # Identifies the backend service to which the forwarding rule sends traffic. # Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must # be omitted for all other load balancer types. # Corresponds to the JSON property `backendService` # @return [String] attr_accessor :backend_service # [Output Only] Creation timestamp in RFC3339 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 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 # 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 a PacketMirroring rule # applies to them. This can only be set to true for load balancers that have # their loadBalancingScheme 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] Type of the resource. Always compute#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 error 412 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 the setLabels # method. Each label key/value pair must comply with RFC1035. 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 its # filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must # match the corresponding label provided in the metadata. If its # filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must # match with corresponding labels provided in the metadata. If multiple # metadataFilters are specified, all of them need to be satisfied in order to be # considered a match. metadataFilters specified here will be applifed before # those specified in the UrlMap that this ForwardingRule references. # metadataFilters only applies to Loadbalancers that have their # loadBalancingScheme set to INTERNAL_SELF_MANAGED. # 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 with RFC1035. Specifically, the # name must be 1-63 characters long and match the regular expression `[a-z]([-a- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, # and all following characters must be a dash, lowercase letter, or digit, # except the last character, which cannot be a dash. For Private Service Connect # forwarding rules that forward traffic to Google APIs, the forwarding rule name # must be a 1-20 characters string with lowercase letters and numbers and must # start with a letter. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # This field is not used for external load balancing. For Internal TCP/UDP Load # Balancing, this field identifies the network that the load balanced IP should # belong to for this Forwarding Rule. If this field is not specified, the # default network will be used. For Private Service Connect forwarding rules # that forward traffic to Google APIs, a network must be provided. # 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 and STANDARD. For # GlobalForwardingRule, the valid value is PREMIUM. If this field is not # specified, it is assumed to be PREMIUM. If IPAddress is specified, this value # must be equal to the networkTier of the Address. # 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. # Corresponds to the JSON property `noAutomateDnsZone` # @return [Boolean] attr_accessor :no_automate_dns_zone alias_method :no_automate_dns_zone?, :no_automate_dns_zone # This field can only be used: - If IPProtocol is one of TCP, UDP, or SCTP. - By # backend service-based network load balancers, target pool-based network load # balancers, internal proxy load balancers, external proxy load balancers, # Traffic Director, external protocol forwarding, and Classic VPN. Some products # have restrictions on what ports can be used. See port specifications for # details. Only packets addressed to ports in the specified range will be # forwarded to the backends configured with this forwarding rule. The ports, # port_range, and allPorts fields are mutually exclusive. For external # forwarding rules, two or more forwarding rules cannot use the same [IPAddress, # IPProtocol] pair, and cannot have overlapping portRanges. For internal # forwarding rules within the same VPC network, two or more forwarding rules # cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping # portRanges. @pattern: \\d+(?:-\\d+)? # Corresponds to the JSON property `portRange` # @return [String] attr_accessor :port_range # This field can only be used: - If IPProtocol is one of TCP, UDP, or SCTP. - By # internal TCP/UDP load balancers, backend service-based 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. # Only packets addressed to these ports will be forwarded to the backends # configured with this forwarding rule. For external forwarding rules, two or # more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and # cannot share any values defined in ports. For internal forwarding rules within # the same VPC network, two or more forwarding rules cannot use the same [ # IPAddress, IPProtocol] pair, and cannot share any values defined in ports. The # ports, port_range, and allPorts fields are mutually exclusive. @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] 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 # 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 with RFC1035. Specifically, the label # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]* # [a-z0-9])?` which means the first character must be a lowercase letter, and # all following characters must be a dash, lowercase letter, or digit, except # the last character, which cannot be a dash. This field is only used for # internal load balancing. # 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 # This field identifies the subnetwork that the load balanced IP should belong # to for this Forwarding Rule, used in internal load balancing and network load # balancing with IPv6. If the network specified is in auto subnet mode, this # field is optional. However, a subnetwork must be specified if the network is # in custom subnet mode or when creating external forwarding rule with IPv6. # 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. # 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) @backend_service = args[:backend_service] if args.key?(:backend_service) @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) @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) @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) @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] Type of resource. Always compute#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 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] 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 # 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 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::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 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 the # port field in the health check. Supported by backend services for pass-through # load balancers and backend services for proxy load balancers. Not supported by # target pools. The health check supports all backends supported by the backend # service provided the backend can be health checked. For example, GCE_VM_IP # network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an # indirect method of specifying the health check port by referring to the # backend service. Only supported by backend services for proxy load balancers. # Not supported by target pools. Not supported by backend services for pass- # through load balancers. Supports all backends that can be health checked; for # example, GCE_VM_IP_PORT network endpoint groups and instance group backends. # For GCE_VM_IP_PORT network endpoint group backends, the health check uses the # port number specified for each endpoint in the network endpoint group. For # instance group backends, the health check uses the port number determined by # looking up the backend service's named port in the instance group's list of # named ports. # 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 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 error 412 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 # A guest attributes entry. class GuestAttributes include Google::Apis::Core::Hashable # [Output Only] Type of the resource. Always compute#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] 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] 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_SNP_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 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 the # port field in the health check. Supported by backend services for pass-through # load balancers and backend services for proxy load balancers. Not supported by # target pools. The health check supports all backends supported by the backend # service provided the backend can be health checked. For example, GCE_VM_IP # network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an # indirect method of specifying the health check port by referring to the # backend service. Only supported by backend services for proxy load balancers. # Not supported by target pools. Not supported by backend services for pass- # through load balancers. Supports all backends that can be health checked; for # example, GCE_VM_IP_PORT network endpoint groups and instance group backends. # For GCE_VM_IP_PORT network endpoint group backends, the health check uses the # port number specified for each endpoint in the network endpoint group. For # instance group backends, the health check uses the port number determined by # looking up the backend service's named port in the instance group's list of # named ports. # 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 /. # 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 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 the # port field in the health check. Supported by backend services for pass-through # load balancers and backend services for proxy load balancers. Also supported # in legacy HTTP health checks for target pools. The health check supports all # backends supported by the backend service provided the backend can be health # checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT # network endpoint groups, and instance group backends. USE_NAMED_PORT: Not # supported. USE_SERVING_PORT: Provides an indirect method of specifying the # health check port by referring to the backend service. Only supported by # backend services for proxy load balancers. Not supported by target pools. Not # supported by backend services for pass-through load balancers. Supports all # backends that can be health checked; for example, GCE_VM_IP_PORT network # endpoint groups and instance group backends. For GCE_VM_IP_PORT network # endpoint group backends, the health check uses the port number specified for # each endpoint in the network endpoint group. For instance group backends, the # health check uses the port number determined by looking up the backend service' # s named port in the instance group's list of named ports. # 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 /. # 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 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 the # port field in the health check. Supported by backend services for pass-through # load balancers and backend services for proxy load balancers. Not supported by # target pools. The health check supports all backends supported by the backend # service provided the backend can be health checked. For example, GCE_VM_IP # network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an # indirect method of specifying the health check port by referring to the # backend service. Only supported by backend services for proxy load balancers. # Not supported by target pools. Not supported by backend services for pass- # through load balancers. Supports all backends that can be health checked; for # example, GCE_VM_IP_PORT network endpoint groups and instance group backends. # For GCE_VM_IP_PORT network endpoint group backends, the health check uses the # port number specified for each endpoint in the network endpoint group. For # instance group backends, the health check uses the port number determined by # looking up the backend service's named port in the instance group's list of # named ports. # 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 /. # 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: * [Global](/compute/docs/reference/rest/v1/healthChecks) * [ # Regional](/compute/docs/reference/rest/v1/regionHealthChecks) Internal HTTP(S) # load balancers must use regional health checks (`compute.v1.regionHealthChecks` # ). Traffic Director must use global health checks (`compute.v1.HealthChecks`). # Internal TCP/UDP load balancers can use either regional or global health # checks (`compute.v1.regionHealthChecks` or `compute.v1.HealthChecks`). # External HTTP(S), TCP proxy, and SSL proxy load balancers as well as managed # instance group auto-healing must use global health checks (`compute.v1. # HealthChecks`). Backend service-based network load balancers must use regional # health checks (`compute.v1.regionHealthChecks`). Target pool-based network # load balancers must use legacy HTTP health checks (`compute.v1. # httpHealthChecks`). For more information, see Health checks overview. 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] Creation timestamp in 3339 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 # 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 # 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 with RFC1035. 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] 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 # # 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 match type 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) @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) @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 # 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 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::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] Creation timestamp in RFC3339 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 regional HealthCheckService, and not # more than 1 for global HealthCheckService. HealthCheck resources must have # portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For # regional HealthCheckService, the HealthCheck must be regional and in the same # region. For global HealthCheckService, HealthCheck must be global. Mix of # regional and global HealthChecks is not supported. Multiple regional # HealthChecks must belong to the same region. Regional HealthChecks must belong # to the same region as zones of NetworkEndpointGroups. For global # HealthCheckService using global INTERNET_IP_PORT NetworkEndpointGroups, the # global HealthChecks must specify sourceRegions, and HealthChecks that specify # sourceRegions can only be used with global INTERNET_IP_PORT # NetworkEndpointGroups. # 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 reports # UNHEALTHY, then UNHEALTHY is the HealthState of the endpoint. If all health # checks report HEALTHY, the HealthState of the endpoint is HEALTHY. . This is # only allowed with regional HealthCheckService. # Corresponds to the JSON property `healthStatusAggregationPolicy` # @return [String] attr_accessor :health_status_aggregation_policy # [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. Always compute#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 regional HealthCheckService, NEGs must be in zones in the region of # the HealthCheckService. For global HealthCheckServices, 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 regional HealthCheckService, 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] 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] 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] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of HealthCheckService resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # [Output Only] Type of the resource. Always compute#healthCheckServicesList for # lists of HealthCheckServices. # 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::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 # 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 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] 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 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 # 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) @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 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) 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 named # PathMatcher 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 the # backendService. # 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 of prefixMatch. 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 in # regexMatch. 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. # Corresponds to the JSON property `regexMatch` # @return [String] attr_accessor :regex_match # The value of the header must end with the contents of suffixMatch. 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 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, see Health checks overview . class HttpHealthCheck 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 in RFC3339 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] Type of the resource. Always compute#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 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 # The TCP port number for the HTTP health check request. The default value is 80. # 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. # 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 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 # 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 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::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, or # regexMatch 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, or regexMatch 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 by regexMatch. For more information about regular # expression syntax, see Syntax. Only one of presentMatch, exactMatch, or # regexMatch must be set. Regular expressions can only be used when the # loadBalancingScheme is set to INTERNAL_SELF_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 in # TargetHttpProxys. Setting this true for TargetHttpsProxy 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 with # prefixRedirect. 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 with pathRedirect. 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 or 504. - 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 to deadline- # exceeded. - internal: a retry is attempted if the gRPC status code in the # response header is set to internal. - resource-exhausted: a retry is attempted # if the gRPC status code in the response header is set to resource-exhausted. - # unavailable: a retry is attempted if the gRPC status code in the response # header is set to unavailable. 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 one weightedBackendService with weight set to a non- # zero number. After a backend service is identified and before forwarding the # request to the backend service, advanced routing actions such as URL rewrites # and header transformations are applied depending on additional settings # specified in this HttpRouteAction. # 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 # 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 this routeRule. # This list has OR semantics: the request matches this routeRule when any of the # matchRules are satisfied. However predicates within a given matchRule have AND # semantics. All predicates within a matchRule must match for the request to # match the rule. # 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 interprets routeRules. RouteRules are evaluated in order # of priority, from the lowest to highest number. The priority of a rule # decreases as its number increases (1, 2, 3, N+1). The first rule that matches # the request is applied. You cannot configure two or more routeRules with the # same priority. Priority for each rule must be set to a number from 0 to # 2147483647 inclusive. Priority numbers can have gaps, which enable you to add # or remove rules in the future without affecting the rest of the rules. For # example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to # which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the # future without any impact on existing rules. # 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. If routeAction specifies any # weightedBackendServices, service must not be set. Conversely if service is set, # routeAction cannot contain any weightedBackendServices. Only one of # urlRedirect, service or routeAction.weightedBackendService must be set. URL # maps for Classic external HTTP(S) load balancers only support the urlRewrite # action within a route rule's routeAction. # 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. However, if service is specified, routeAction cannot contain # any weightedBackendServices. Conversely, if routeAction specifies any # weightedBackendServices, service must not be specified. Only one of # urlRedirect, service or routeAction.weightedBackendService must be set. # 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) @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 in fullPathMatch 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 or regexMatch 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 its filterMatchCriteria is set to # MATCH_ANY, at least one of the filterLabels must match the corresponding label # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then # all of its filterLabels must match with corresponding labels provided in the # metadata. If multiple metadata filters are specified, all of them need to be # satisfied in order to be considered a match. metadataFilters specified here is # applied after those specified in ForwardingRule that refers to the UrlMap this # HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers # that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when # the URL map is bound to a target gRPC proxy that has validateForProxyless # field set to true. # Corresponds to the JSON property `metadataFilters` # @return [Array] attr_accessor :metadata_filters # For satisfying the matchRule condition, the request's path must begin with the # specified prefixMatch. prefixMatch must begin with a /. The value must be from # 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch # must be specified. # 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 in regexMatch after removing any query # parameters and anchor supplied with the original URL. For more information # about regular expression syntax, see Syntax. Only one of prefixMatch, # fullPathMatch or regexMatch must be specified. Regular expressions can only be # used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. # 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) @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, see Health 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 in RFC3339 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 # 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 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 # 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 "/". # 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 # 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 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::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] Creation timestamp in RFC3339 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 # The name of the image family to which this image belongs. You can create disks # by specifying an image family instead of a specific image name. The image # family always returns its latest image that is not deprecated. The name of the # image family must comply with RFC1035. # 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 the # guestOSfeatures[].type parameter. # Corresponds to the JSON property `guestOsFeatures` # @return [Array] attr_accessor :guest_os_features # [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 a customer-supplied encryption key. After you encrypt # an image with a customer-supplied key, you must provide the same key if you # use the image later (e.g. to create a disk from the image). Customer-supplied # encryption keys do not protect access to metadata of the disk. If you do not # provide an encryption key when creating the image, then the disk will be # encrypted using an automatically generated key and you do not need to provide # a key to use the image later. # Corresponds to the JSON property `imageEncryptionKey` # @return [Google::Apis::ComputeV1::CustomerEncryptionKey] attr_accessor :image_encryption_key # [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 error 412 # 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 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 # 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 `satisfiesPzs` # @return [Boolean] attr_accessor :satisfies_pzs alias_method :satisfies_pzs?, :satisfies_pzs # [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 # 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 # [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] 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] 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] The status of the image. An image can be used to create other # resources, such as instances, only after the image has been successfully # created and the status is set to READY. Possible values are FAILED, PENDING, # or READY. # 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) @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) @raw_disk = args[:raw_disk] if args.key?(:raw_disk) @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 be TAR. # 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 # 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 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::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 # 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, read Virtual 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 an Image (e.g., whether or not the OS in the Image 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, see Enabling 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] The CPU platform used by this instance. # Corresponds to the JSON property `cpuPlatform` # @return [String] attr_accessor :cpu_platform # [Output Only] Creation timestamp in RFC3339 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] The unique identifier for the resource. This identifier is # defined by the server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # 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] 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] Last start timestamp in RFC3339 text format. # Corresponds to the JSON property `lastStartTimestamp` # @return [String] attr_accessor :last_start_timestamp # [Output Only] Last stop timestamp in RFC3339 text format. # Corresponds to the JSON property `lastStopTimestamp` # @return [String] attr_accessor :last_stop_timestamp # [Output Only] Last suspended timestamp in RFC3339 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 a custom 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 the # Specifications 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 a minimum 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 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 # 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] 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] 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. See Service # 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] 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] The status of the instance. One of the following values: # PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, # and TERMINATED. 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] 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] 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) @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_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] Type of resource. Always compute#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 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] 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 # Resources consumed by the instance. # Corresponds to the JSON property `consumptionInfo` # @return [Google::Apis::ComputeV1::InstanceConsumptionInfo] attr_accessor :consumption_info # 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 # The number of virtual CPUs that are available to the instance. # Corresponds to the JSON property `guestCpus` # @return [Fixnum] attr_accessor :guest_cpus # 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 # The amount of physical memory available to the instance, defined in MiB. # Corresponds to the JSON property `memoryMb` # @return [Fixnum] attr_accessor :memory_mb # 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 # Represents an Instance Group resource. Instance Groups can be used to # configure a target for load balancing. Instance groups can either be managed # or unmanaged. To create managed instance groups, use the instanceGroupManager # or regionInstanceGroupManager resource instead. Use zonal unmanaged instance # groups if you need to apply load 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, read Instance groups. class InstanceGroup include Google::Apis::Core::Hashable # [Output Only] The creation timestamp for this instance group in RFC3339 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 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] A unique identifier for this instance group, generated by the # server. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # [Output Only] The resource type, which is always compute#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 with RFC1035. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # 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] The URL of the region where the instance group is located (for # regional resources). # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [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] The total number of instances in the instance group. # Corresponds to the JSON property `size` # @return [Fixnum] attr_accessor :size # [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] The URL of the zone 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] 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] The resource type, which is always compute# # instanceGroupAggregatedList for aggregated lists of instance 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 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] 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::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] 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] 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, which is always compute#instanceGroupList for # instance 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 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::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] 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, read Instance groups. For zonal Managed Instance Group, use the # instanceGroupManagers resource. For regional Managed Instance Group, use the # regionInstanceGroupManagers resource. class InstanceGroupManager include Google::Apis::Core::Hashable # 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 to use for instances in this group. The value must be 1- # 58 characters long. Instances are named by appending a hyphen and a random # four-character string to the base instance name. The base instance name must # comply with RFC1035. # Corresponds to the JSON property `baseInstanceName` # @return [String] attr_accessor :base_instance_name # [Output Only] The creation timestamp for this managed instance group in # RFC3339 text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # [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 error 412 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] 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] The URL of the Instance Group resource. # Corresponds to the JSON property `instanceGroup` # @return [String] attr_accessor :instance_group # The URL of the instance template that is specified for this managed instance # group. The group uses this template to create all new instances in the managed # instance group. The templates for existing instances in the group do not # change unless you run recreateInstances, run applyUpdatesToInstances, or set # the group's updatePolicy.type to PROACTIVE. # Corresponds to the JSON property `instanceTemplate` # @return [String] attr_accessor :instance_template # [Output Only] The resource type, which is always compute#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 with RFC1035. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Named ports configured for the Instance Groups complementary to this Instance # Group Manager. # Corresponds to the JSON property `namedPorts` # @return [Array] attr_accessor :named_ports # [Output Only] The URL of the region where the managed instance group resides ( # for regional resources). # Corresponds to the JSON property `region` # @return [String] attr_accessor :region # [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 # Stateful configuration for this Instanced Group Manager # Corresponds to the JSON property `statefulPolicy` # @return [Google::Apis::ComputeV1::StatefulPolicy] attr_accessor :stateful_policy # [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 the instanceGroup # 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 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 a name. Every # version can appear at most once per instance group. This field overrides the # top-level instanceTemplate field. Read more about the relationships between # these fields. Exactly one version must leave the targetSize field unset. That # version will be applied to all remaining instances. For more information, read # about canary updates. # Corresponds to the JSON property `versions` # @return [Array] attr_accessor :versions # [Output Only] The URL of a zone 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) @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_group = args[:instance_group] if args.key?(:instance_group) @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) @self_link = args[:self_link] if args.key?(:self_link) @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) @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] 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] 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] 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] 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] 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] 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] 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] 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] 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] 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] 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] 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] 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] 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] The resource type, which is always compute# # instanceGroupManagerAggregatedList for an aggregated list of managed instance # 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 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] 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::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] 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 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 number of seconds that the managed instance group waits before it applies # autohealing policies to new instances or recently recreated instances. This # initial delay allows instances to initialize and run their startup scripts # before the instance group determines that they are UNHEALTHY. This prevents # the managed instance group from recreating its instances prematurely. This # value must be from range [0, 3600]. # 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 # [Output Only] A list of managed instance groups. class InstanceGroupManagerList 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 InstanceGroupManager resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # [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] 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::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] 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 InstanceGroupManagerStatus include Google::Apis::Core::Hashable # [Output Only] The URL of the Autoscaler that targets this instance group # manager. # Corresponds to the JSON property `autoscaler` # @return [String] attr_accessor :autoscaler # [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] Stateful status of the given Instance Group Manager. # Corresponds to the JSON property `stateful` # @return [Google::Apis::ComputeV1::InstanceGroupManagerStatusStateful] attr_accessor :stateful # [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) @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 InstanceGroupManagerStatusStateful include Google::Apis::Core::Hashable # [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] Status of per-instance configurations on the instance. # 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 # 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] 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 by version 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 # to REFRESH. If your update requires a more disruptive action, Compute Engine # performs the necessary action to execute the update. - To apply a more # disruptive action than is strictly necessary, set the minimal action to # RESTART or REPLACE. For example, Compute Engine does not need to restart a VM # to change its metadata. But if your application reads instance metadata only # when a VM is restarted, you can set the minimal action to RESTART in order to # pick up metadata changes. # 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 allow actions that do # not need instance restart, RESTART to allow actions that can be applied # without instance replacing or REPLACE to allow all possible actions. If the # Updater determines that the minimal update action needed is more disruptive # than most disruptive allowed action you specify it will not perform the update # at all. # 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 # instance group manager proactively executes actions in order to bring # instances to their target versions or OPPORTUNISTIC so that no action is # proactively executed but the update will be performed as part of other actions # (for example, resizes or recreateInstances calls). # 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, run applyUpdatesToInstances, or set the group's # updatePolicy.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 as zones/[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. - # 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. - # 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]. # 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] The list of errors of the managed instance group. # 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 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 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] The list of instances in the managed instance group. # Corresponds to the JSON property `managedInstances` # @return [Array] attr_accessor :managed_instances # [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 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] The list of PerInstanceConfig. # 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 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] 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] 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 InstanceGroupManagersScopedList include Google::Apis::Core::Hashable # [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] 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] 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, run applyUpdatesToInstances, or set # the group's updatePolicy.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 the instanceGroupManagers.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 # 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] 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, which is always compute# # instanceGroupsListInstances for the list of instances in the specified # instance 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 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::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] 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] The list of instance groups that are contained in this scope. # Corresponds to the JSON property `instanceGroups` # @return [Array] attr_accessor :instance_groups # [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] 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 the # instanceGroups.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 # error 412 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] 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 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::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] Type of resource. Always compute#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 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::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] Contents of the error. # Corresponds to the JSON property `error` # @return [Google::Apis::ComputeV1::InstanceManagedByIgmErrorManagedInstanceError] attr_accessor :error # [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] 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] 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] 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] 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] Error code. # Corresponds to the JSON property `code` # @return [String] attr_accessor :code # [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 # 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 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 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 an Image (e.g., whether or not the OS in the Image 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 to false. See the Enable 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. # 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 as minCpuPlatform: "Intel Haswell" or minCpuPlatform: " # 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 # 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 an Instance Template resource. You can use instance templates to # create VM instances and managed instance groups. For more information, read # Instance Templates. class InstanceTemplate include Google::Apis::Core::Hashable # [Output Only] The creation timestamp for this instance template in RFC3339 # 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 unique identifier for this instance template. The server # defines this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # [Output Only] The resource type, which is always compute#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 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 # The instance properties for this instance template. # Corresponds to the JSON property `properties` # @return [Google::Apis::ComputeV1::InstanceProperties] attr_accessor :properties # [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) @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 # 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] The resource type, which is always compute# # 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 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::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 InstanceWithNamedPorts include Google::Apis::Core::Hashable # [Output Only] The URL of the instance. # Corresponds to the JSON property `instance` # @return [String] attr_accessor :instance # [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] 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 InstancesGetEffectiveFirewallsResponse include Google::Apis::Core::Hashable # 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] 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] The name of the firewall policy. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The rules that apply to the network. # Corresponds to the JSON property `rules` # @return [Array] attr_accessor :rules # [Output Only] The short name of the firewall policy. # Corresponds to the JSON property `shortName` # @return [String] attr_accessor :short_name # [Output Only] The type of the firewall policy. Can be one of HIERARCHY, # NETWORK, NETWORK_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) @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 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 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 a # customer-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 # 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 GCP network and your on-premises network. For more # information, read the Dedicated Interconnect Overview. class Interconnect 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 # [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] Creation timestamp in RFC3339 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] A list of outages expected for this Interconnect. # Corresponds to the JSON property `expectedOutages` # @return [Array] attr_accessor :expected_outages # [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] 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] 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] 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 # 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] Type of the resource. Always compute#interconnect for # interconnects. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Type of link requested, which can take one of the following values: - # LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics - # LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. Note that this # field indicates the speed of each of the links in the bundle, not the speed of # the entire bundle. # 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 # Name of the resource. Provided by the client when the resource is created. The # name must be 1-63 characters long, and comply with RFC1035. Specifically, the # name must be 1-63 characters long and match the regular expression `[a-z]([-a- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, # and all following characters must be a dash, lowercase letter, or digit, # except the last character, which cannot be a dash. # 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] 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 # [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] Number of links actually provisioned in this interconnect. # Corresponds to the JSON property `provisionedLinkCount` # @return [Fixnum] attr_accessor :provisioned_link_count # 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] Set to true if the resource satisfies the zone separation # organization policy constraints and false otherwise. Defaults to false if the # field is not present. # Corresponds to the JSON property `satisfiesPzs` # @return [Boolean] attr_accessor :satisfies_pzs alias_method :satisfies_pzs?, :satisfies_pzs # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [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 def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled) @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_type = args[:interconnect_type] if args.key?(:interconnect_type) @kind = args[:kind] if args.key?(:kind) @link_type = args[:link_type] if args.key?(:link_type) @location = args[:location] if args.key?(:location) @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) @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) @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) 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 # 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 # Corresponds to the JSON property `bandwidth` # @return [String] attr_accessor :bandwidth # This field is not available. # Corresponds to the JSON property `candidateIpv6Subnets` # @return [Array] attr_accessor :candidate_ipv6_subnets # 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] 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] 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] Creation timestamp in RFC3339 text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # [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] 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] 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 # 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] 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] 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. Not currently available publicly. # Corresponds to the JSON property `ipsecInternalAddresses` # @return [Array] attr_accessor :ipsec_internal_addresses # [Output Only] Type of the resource. Always compute#interconnectAttachment for # interconnect attachments. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Maximum Transmission Unit (MTU), in bytes, of packets passing through this # interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the # value will default to 1440. # 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 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 # [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 an 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 # 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] 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 # 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] Set to true if the resource satisfies the zone separation # organization policy constraints and false otherwise. Defaults to false if the # field is not present. # Corresponds to the JSON property `satisfiesPzs` # @return [Boolean] attr_accessor :satisfies_pzs alias_method :satisfies_pzs?, :satisfies_pzs # [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] 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 # 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. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. 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) @bandwidth = args[:bandwidth] if args.key?(:bandwidth) @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) @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) @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) @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) @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) @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] Type of resource. Always compute# # 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 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] 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 # 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] Type of resource. Always compute#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 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::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 # 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 interconnect, 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 # 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) @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 # 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] Type of resource. Always compute#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 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::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] 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] 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] Creation timestamp in RFC3339 text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # [Output Only] An optional description of the resource. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [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] 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] 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. Always compute#interconnectLocation for # interconnect locations. # 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] 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] 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] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [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] Set to true for locations that support physical zone separation. # Defaults to false if the field is not present. # 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) @city = args[:city] if args.key?(:city) @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) @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) @status = args[:status] if args.key?(:status) @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs) 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] Type of resource. Always compute#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 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::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 # 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 # Identifies the network presence of this location. # Corresponds to the JSON property `locationPresence` # @return [String] attr_accessor :location_presence # 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) @location_presence = args[:location_presence] if args.key?(:location_presence) @region = args[:region] if args.key?(:region) 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 # Response for the InterconnectsGetDiagnosticsRequest. class InterconnectsGetDiagnosticsResponse include Google::Apis::Core::Hashable # Diagnostics information about interconnect, 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 # Represents a License resource. A License represents billing and aggregate # usage data for public and marketplace images. *Caution* This resource is # intended for use only by third-party partners who are creating Cloud # Marketplace images. class License include Google::Apis::Core::Hashable # [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] Creation timestamp in RFC3339 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 # [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 # Name of the resource. The name must be 1-63 characters long and comply with # RFC1035. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # # Corresponds to the JSON property `resourceRequirements` # @return [Google::Apis::ComputeV1::LicenseResourceRequirements] attr_accessor :resource_requirements # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # 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 def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @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) @kind = args[:kind] if args.key?(:kind) @license_code = args[:license_code] if args.key?(:license_code) @name = args[:name] if args.key?(:name) @resource_requirements = args[:resource_requirements] if args.key?(:resource_requirements) @self_link = args[:self_link] if args.key?(:self_link) @transferable = args[:transferable] if args.key?(:transferable) end end # Represents a License Code resource. A License Code is a unique identifier used # to represent a license resource. *Caution* This resource is intended for use # only by third-party partners who are creating Cloud Marketplace images. class LicenseCode include Google::Apis::Core::Hashable # [Output Only] Creation timestamp in RFC3339 text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # [Output Only] Description of this License Code. # 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] 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] 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] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [Output Only] Current state of this License Code. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # [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] Description of this License Code. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # [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 # Commitment for a particular license resource. class LicenseResourceCommitment include Google::Apis::Core::Hashable # The number of licenses purchased. # Corresponds to the JSON property `amount` # @return [Fixnum] attr_accessor :amount # Specifies the core range of the instance for which this license applies. # Corresponds to the JSON property `coresPerLicense` # @return [String] attr_accessor :cores_per_license # Any 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 # Minimum number of guest cpus required to use the Instance. Enforced at # Instance creation and Instance start. # Corresponds to the JSON property `minGuestCpuCount` # @return [Fixnum] attr_accessor :min_guest_cpu_count # Minimum memory required to use the Instance. Enforced at Instance creation and # Instance start. # 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 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::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 or DENY. # 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 # This is deprecated and has no effect. Do not use. class LogConfig include Google::Apis::Core::Hashable # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `cloudAudit` # @return [Google::Apis::ComputeV1::LogConfigCloudAuditOptions] attr_accessor :cloud_audit # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `counter` # @return [Google::Apis::ComputeV1::LogConfigCounterOptions] attr_accessor :counter # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `dataAccess` # @return [Google::Apis::ComputeV1::LogConfigDataAccessOptions] attr_accessor :data_access def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit) @counter = args[:counter] if args.key?(:counter) @data_access = args[:data_access] if args.key?(:data_access) end end # This is deprecated and has no effect. Do not use. class LogConfigCloudAuditOptions include Google::Apis::Core::Hashable # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `authorizationLoggingOptions` # @return [Google::Apis::ComputeV1::AuthorizationLoggingOptions] attr_accessor :authorization_logging_options # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `logName` # @return [String] attr_accessor :log_name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @authorization_logging_options = args[:authorization_logging_options] if args.key?(:authorization_logging_options) @log_name = args[:log_name] if args.key?(:log_name) end end # This is deprecated and has no effect. Do not use. class LogConfigCounterOptions include Google::Apis::Core::Hashable # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `customFields` # @return [Array] attr_accessor :custom_fields # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `field` # @return [String] attr_accessor :field # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `metric` # @return [String] attr_accessor :metric def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @custom_fields = args[:custom_fields] if args.key?(:custom_fields) @field = args[:field] if args.key?(:field) @metric = args[:metric] if args.key?(:metric) end end # This is deprecated and has no effect. Do not use. class LogConfigCounterOptionsCustomField include Google::Apis::Core::Hashable # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # This is deprecated and has no effect. Do not use. # 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 # This is deprecated and has no effect. Do not use. class LogConfigDataAccessOptions include Google::Apis::Core::Hashable # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `logMode` # @return [String] attr_accessor :log_mode def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @log_mode = args[:log_mode] if args.key?(:log_mode) 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, see Machine images. class MachineImage include Google::Apis::Core::Hashable # [Output Only] The creation timestamp for this machine image in RFC3339 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] 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] The resource type, which is always compute#machineImage for # machine image. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Encrypts the machine image using a customer-supplied encryption key. After you # encrypt a machine image using a customer-supplied key, you must provide the # same key if you use the machine image later. For example, you must provide the # encryption key when you create an instance from the encrypted machine image in # a future request. Customer-supplied encryption keys do not protect access to # metadata of the machine image. If you do not provide an encryption key when # creating the machine image, then the machine image will be encrypted using an # automatically generated key and you do not need to provide a key to use the # machine image later. # 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 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 # [Output Only] Reserved for future use. # Corresponds to the JSON property `satisfiesPzs` # @return [Boolean] attr_accessor :satisfies_pzs alias_method :satisfies_pzs?, :satisfies_pzs # 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] 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] The customer-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] 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 the machine # image is stored. # Corresponds to the JSON property `storageLocations` # @return [Array] attr_accessor :storage_locations # [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) @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key) @name = args[:name] if args.key?(:name) @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] The resource type, which is always compute# # 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 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::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 # Represents a Machine Type resource. You can use specific machine types for # your VM instances based on performance and pricing requirements. For more # information, read Machine 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] Creation timestamp in RFC3339 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. See Shared-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] The type of the resource. Always compute#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] A list of extended scratch disks assigned to the instance. # Corresponds to the JSON property `scratchDisks` # @return [Array] attr_accessor :scratch_disks # [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) @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) @scratch_disks = args[:scratch_disks] if args.key?(:scratch_disks) @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-k80'. # 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 # class ScratchDisk include Google::Apis::Core::Hashable # Size of the scratch disk, defined in GB. # Corresponds to the JSON property `diskGb` # @return [Fixnum] attr_accessor :disk_gb def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disk_gb = args[:disk_gb] if args.key?(:disk_gb) 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] Type of resource. Always compute#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 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] 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] 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 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::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] 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's targetSize 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] 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] 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] Health state of the instance per health-check. # Corresponds to the JSON property `instanceHealth` # @return [Array] attr_accessor :instance_health # [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] 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 # 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] 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) @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) @version = args[:version] if args.key?(:version) end end # class ManagedInstanceInstanceHealth include Google::Apis::Core::Hashable # [Output Only] The current detailed instance health state. # Corresponds to the JSON property `detailedHealthState` # @return [String] attr_accessor :detailed_health_state # [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] 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] 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 ManagedInstanceVersion include Google::Apis::Core::Hashable # [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] 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 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 # 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] 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 its filterMatchCriteria is set to MATCH_ANY, # at least one of the filterLabels must match the corresponding label provided # in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of # its filterLabels must match with corresponding labels provided in the metadata. # An example for using metadataFilters would be: if load balancing involves # Envoys, they receive routing configuration when values in metadataFilters # 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 with RFC1035. # 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 # Represents a VPC Network resource. Networks connect resources to each other # and to the internet. For more information, read Virtual 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 a CIDR 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 # in Auto mode VPC network IP ranges. For custom mode VPC networks, you can add # subnets using the subnetworks insert method. # Corresponds to the JSON property `autoCreateSubnetworks` # @return [Boolean] attr_accessor :auto_create_subnetworks alias_method :auto_create_subnetworks?, :auto_create_subnetworks # [Output Only] Creation timestamp in RFC3339 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] 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 GCP. # Corresponds to the JSON property `gatewayIPv4` # @return [String] attr_accessor :gateway_i_pv4 # [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] 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 with RFC1035. Specifically, the # name must be 1-63 characters long and match the regular expression `[a-z]([-a- # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all # following characters (except for the last character) must be a dash, lowercase # letter, or digit. The last character must be a lowercase letter or digit. # 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 # [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] 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) @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] 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] Creation timestamp in RFC3339 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] 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] 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] 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 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 # [Output Only] The URL of the network which the Network Attachment belongs to. # 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] 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] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [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 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::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 IP 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 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 def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ip_address = args[:ip_address] if args.key?(:ip_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) 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 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::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] Creation timestamp in RFC3339 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 error 412 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] 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. Always compute#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 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 # [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] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [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] Type of resource. Always compute# # 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 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] 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 # Metadata defined as annotations on the network endpoint. # Corresponds to the JSON property `annotations` # @return [Hash] attr_accessor :annotations # Optional fully qualified domain name of network endpoint. This can only be # specified when NetworkEndpointGroup.network_endpoint_type is NON_GCP_FQDN_PORT. # Corresponds to the JSON property `fqdn` # @return [String] attr_accessor :fqdn # The name for a specific VM instance that the IP address belongs to. This is # required for network endpoints of type GCE_VM_IP_PORT. The instance must be in # the same zone of network endpoint group. The name must be 1-63 characters long, # and comply with RFC1035. # 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. # Corresponds to the JSON property `ipAddress` # @return [String] attr_accessor :ip_address # Optional port number of network endpoint. If not specified, the defaultPort # for the network endpoint group will be used. # 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) @fqdn = args[:fqdn] if args.key?(:fqdn) @instance = args[:instance] if args.key?(:instance) @ip_address = args[:ip_address] if args.key?(:ip_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, see Setting # up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs, # or Setting up external HTTP(S) Load Balancing with serverless NEGs. class NetworkEndpointGroup 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 # 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] Creation timestamp in RFC3339 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. # 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] 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. Always compute#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 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 # 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 of # GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, # INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT. # 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" # Corresponds to the JSON property `pscTargetService` # @return [String] attr_accessor :psc_target_service # [Output Only] The URL of the region where the network endpoint group is # located. # 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] 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] The URL of the zone 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] The resource type, which is always compute# # 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 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] 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 # A template to parse service and version fields from a request URL. URL mask # allows for routing to multiple App Engine services without having to create # multiple Network Endpoint Groups and backend services. For example, the # request URLs "foo1-dot-appname.appspot.com/v1" and "foo1-dot-appname.appspot. # com/v2" can be backed by the same Serverless NEG with URL mask "-dot- # appname.appspot.com/". The URL mask will parse them to ` service = " # foo1", version = "v1" ` and ` service = "foo1", version = "v2" ` respectively. # 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 # A template to parse function field from a request URL. URL mask allows for # routing to multiple Cloud Functions without having to create multiple Network # Endpoint Groups and backend services. For example, request URLs " mydomain.com/ # function1" and "mydomain.com/function2" can be backed by the same Serverless # NEG with URL mask "/". The URL mask will parse them to ` function = " # function1" ` and ` function = "function2" ` respectively. # 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 with RFC1035. 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 with RFC1035. Example value: "revision-0010". # Corresponds to the JSON property `tag` # @return [String] attr_accessor :tag # A template to parse and fields from a request URL. URL mask # allows for routing to multiple Run services without having to create multiple # network endpoint groups and backend services. For example, request URLs "foo1. # domain.com/bar1" and "foo1.domain.com/bar2" can be backed by the same # Serverless Network Endpoint Group (NEG) with URL mask ".domain.com/< # service>". 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] The resource type, which is always compute# # 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 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::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] 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 # [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] 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) @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] The resource type, which is always compute# # 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 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] 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] The list of network endpoint groups that are contained in this # scope. # Corresponds to the JSON property `networkEndpointGroups` # @return [Array] attr_accessor :network_endpoint_groups # [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] 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] The health status of network endpoint; # 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 # 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 no accessConfigs 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 the NetworkInterface. The # request will fail with error 400 Bad Request if the fingerprint is not # provided, or 412 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 # 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] 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. # Corresponds to the JSON property `ipv6Address` # @return [String] attr_accessor :ipv6_address # [Output Only] Type of the resource. Always compute#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 and 7. 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 # 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 # 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 identify whether the IPv6 feature # is enabled or not. If not specified, IPV4_ONLY will be used. This field can be # both set at instance creation and update network interface operations. # 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 in legacy mode, do not specify this field. If the network is in auto subnet # mode, specifying the subnetwork is optional. If the network is in custom # subnet mode, specifying the subnetwork is required. If you specify this field, # you can specify the subnetwork as a full or partial URL. For example, the # following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/ # project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/ # subnetwork # 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) @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) @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_ip = args[:network_ip] if args.key?(:network_ip) @nic_type = args[:nic_type] if args.key?(:nic_type) @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) 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] 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 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::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 # 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 the exchange_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 is ACTIVE. # Corresponds to the JSON property `autoCreateRoutes` # @return [Boolean] attr_accessor :auto_create_routes alias_method :auto_create_routes?, :auto_create_routes # 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 is ACTIVE. # 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 with RFC1035. 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 # Maximum Transmission Unit in bytes. # 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] State for the peering, either `ACTIVE` or `INACTIVE`. The # peering is `ACTIVE` when there's a matching configuration in the peer network. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # [Output Only] Details about the current state of the peering. # Corresponds to the JSON property `stateDetails` # @return [String] attr_accessor :state_details 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) @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) 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 # 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 # 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 to GLOBAL, 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) @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. Use exchange_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 is ACTIVE. # 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 # Effective firewalls from firewall policy. # 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] 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] The name of the firewall policy. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The rules that apply to the network. # Corresponds to the JSON property `rules` # @return [Array] attr_accessor :rules # [Output Only] The short name of the firewall policy. # Corresponds to the JSON property `shortName` # @return [String] attr_accessor :short_name # [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) @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 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, read Sole-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] Creation timestamp in RFC3339 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] 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] The type of the resource. Always compute#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 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 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 # 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] 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] 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] 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_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] Type of resource.Always compute#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 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] 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] 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 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::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 # 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 # 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] 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 # Total amount of available resources on the node. # Corresponds to the JSON property `totalResources` # @return [Google::Apis::ComputeV1::InstanceConsumptionInfo] attr_accessor :total_resources 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) 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] 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] The resource type, which is always compute.nodeGroupsListNodes # for the list of nodes in the specified node 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 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::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] 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 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 # Represent a sole-tenant Node Template resource. You can use a template to # define properties for nodes in a node group. For more information, read # Creating 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] Creation timestamp in RFC3339 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] 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] The type of the resource. Always compute#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 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 # 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 # The flexible properties of the desired node type. Node groups that use this # node template will create nodes of a type that matches these properties. This # field is mutually exclusive with the node_type property; you can only define # one or the other, but not both. # Corresponds to the JSON property `nodeTypeFlexibility` # @return [Google::Apis::ComputeV1::NodeTemplateNodeTypeFlexibility] attr_accessor :node_type_flexibility # [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] 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] 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] 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] Type of resource.Always compute#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 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] 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] 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 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::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 read Node 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 in RFC3339 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] The type of the resource. Always compute#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] 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] 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 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) @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] Type of resource.Always compute#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 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] 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] 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 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::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] Creation timestamp in RFC3339 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] 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] Type of the resource. Always compute#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 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 # [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] 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] Type of the resource. Always compute#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 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::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, read Handling API # responses. Operations can be global, regional or zonal. - For global # operations, use the `globalOperations` resource. - For regional operations, # use the `regionOperations` resource. - For zonal operations, use the ` # zonalOperations` resource. For more information, read Global, Regional, and # Zonal Resources. 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 in # RFC3339 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 in # RFC3339 text format. # Corresponds to the JSON property `insertTime` # @return [String] attr_accessor :insert_time # [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] 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] The time that this operation was started by the server. This # value is in RFC3339 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 persistent 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` # . # 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) @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) @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] 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] 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] 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 # 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 errors before a host is ejected from the connection pool. When the # backend host is accessed over HTTP, a 5xx return code qualifies as an error. # Defaults to 5. Not supported when the backend service is referenced by a URL # map that is bound to target gRPC proxy that has validateForProxyless field set # to true. # 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. 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 `consecutiveGatewayFailure` # @return [Fixnum] attr_accessor :consecutive_gateway_failure # The percentage chance that a host will be actually ejected when an outlier # status is detected through consecutive 5xx. This setting can be used to # disable ejection or to ramp it up slowly. Defaults to 0. Not supported when # the backend service is referenced by a URL map that is bound to target gRPC # proxy that has validateForProxyless field set to true. # Corresponds to the JSON property `enforcingConsecutiveErrors` # @return [Fixnum] attr_accessor :enforcing_consecutive_errors # The percentage chance that a host will be actually ejected when an outlier # status is detected through consecutive gateway failures. This setting can be # used to disable ejection or to ramp it up slowly. Defaults to 100. Not # supported when the backend service is referenced by a URL map that is bound to # target gRPC proxy that has validateForProxyless field set to true. # Corresponds to the JSON property `enforcingConsecutiveGatewayFailure` # @return [Fixnum] attr_accessor :enforcing_consecutive_gateway_failure # The percentage chance that a host will be actually ejected when an outlier # status is detected through success rate statistics. This setting can be used # to disable ejection or to ramp it up slowly. Defaults to 100. # 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 hosts in the load balancing pool for the backend service # that can be ejected. Defaults to 50%. # Corresponds to the JSON property `maxEjectionPercent` # @return [Fixnum] attr_accessor :max_ejection_percent # The number of hosts in a cluster that must have enough request volume to # detect success rate outliers. If the number of hosts is less than this setting, # outlier detection via success rate statistics is not performed for any host # in the cluster. Defaults to 5. # 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 host in success # rate based outlier detection. If the volume is lower than this setting, # outlier detection via success rate statistics is not performed for that host. # Defaults to 100. # 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 * success_rate_stdev_factor). This factor is # divided by a thousand to get a double. That is, if the desired factor is 1.9, # the runtime value should be 1900. Defaults to 1900. # 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, see Using Packet Mirroring. class PacketMirroring include Google::Apis::Core::Hashable # The Forwarding Rule resource of type loadBalancingScheme=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] Creation timestamp in RFC3339 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 traffic is mirrored. # Corresponds to the JSON property `filter` # @return [Google::Apis::ComputeV1::PacketMirroringFilter] attr_accessor :filter # [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. Always compute#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 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 # 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] 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 # 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 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] 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 traffic is mirrored. # Corresponds to the JSON property `IPProtocols` # @return [Array] attr_accessor :ip_protocols # IP CIDR ranges that apply as filter on the source (ingress) or destination ( # egress) IP in the IP header. Only IPv4 is supported. If no ranges are # specified, all traffic that matches the specified IPProtocols is mirrored. If # neither cidrRanges nor IPProtocols is specified, all traffic is mirrored. # 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] 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] 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 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::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] 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] 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] 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 # defaultRouteAction takes effect when none of the pathRules or routeRules match. # The load balancer performs advanced routing actions, such as URL rewrites and # header transformations, before forwarding the request to the selected backend. # If defaultRouteAction specifies any weightedBackendServices, defaultService # must not be set. Conversely if defaultService is set, defaultRouteAction # cannot contain any weightedBackendServices. Only one of defaultRouteAction or # defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load # balancers only support the urlRewrite action within a path matcher's # defaultRouteAction. # 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 or routeRules defined by this PathMatcher are matched. # For example, the following are all valid URLs to a BackendService resource: - # https://www.googleapis.com/compute/v1/projects/project /global/backendServices/ # backendService - compute/v1/projects/project/global/backendServices/ # backendService - global/backendServices/backendService If defaultRouteAction # is also specified, advanced routing actions, such as URL rewrites, take effect # before sending the request to the backend. However, if defaultService is # specified, defaultRouteAction cannot contain any weightedBackendServices. # Conversely, if defaultRouteAction specifies any weightedBackendServices, # defaultService must not be specified. Only one of defaultService, # defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set. # Authorization requires one or more of the following Google IAM permissions on # the specified resource default_service: - compute.backendBuckets.use - compute. # backendServices.use # 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 the HostRule. # 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. 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 of pathRules 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 of pathRules 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 of pathRules 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_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 specified # BackendService to handle the traffic arriving at this URL. class PathRule include Google::Apis::Core::Hashable # 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. If routeAction specifies any # weightedBackendServices, service must not be set. Conversely if service is set, # routeAction cannot contain any weightedBackendServices. Only one of # routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) # load balancers only support the urlRewrite action within a path rule's # routeAction. # 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. However, if service is specified, routeAction cannot contain # any weightedBackendServices. Conversely, if routeAction specifies any # weightedBackendServices, service must not be specified. Only one of # urlRedirect, service or routeAction.weightedBackendService must be set. # 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) @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 configconfiguration 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 # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `rules` # @return [Array] attr_accessor :rules # 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) @rules = args[:rules] if args.key?(:rules) @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 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) @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 or READ_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 # 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 # 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 in RFC3339 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 # 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] 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] 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) @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] Type of resource. Always compute#projectsGetXpnResources for # lists of service resources (a.k.a service projects) # 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 # 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 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] Creation timestamp in RFC3339 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 IPv4 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 the PublicAdvertisedPrefix, 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] The unique identifier for the resource type. The server # generates this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # The IPv4 address range, in CIDR format, represented by this public advertised # prefix. # Corresponds to the JSON property `ipCidrRange` # @return [String] attr_accessor :ip_cidr_range # [Output Only] Type of the resource. Always compute#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 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 # [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] 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) @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) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @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] Type of the resource. Always compute#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 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::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 # [Output Only] Creation timestamp in RFC3339 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 new PublicDelegatedPrefix. An up-to-date fingerprint must be # provided in order to update the PublicDelegatedPrefix, otherwise the request # will fail with error 412 conditionNotMet. To see the latest fingerprint, make # a get() request to retrieve a PublicDelegatedPrefix. # 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 type. The server # generates this identifier. # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # The IPv4 address range, in CIDR format, represented by this public delegated # prefix. # Corresponds to the JSON property `ipCidrRange` # @return [String] attr_accessor :ip_cidr_range # 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] Type of the resource. Always compute#publicDelegatedPrefix for # public delegated 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 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 # 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] 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] 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 active. - `DELETING` The public delegated # prefix is being deprovsioned. # 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) @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) @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range) @is_live_migration = args[:is_live_migration] if args.key?(:is_live_migration) @kind = args[:kind] if args.key?(:kind) @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] Type of the resource. Always compute# # 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 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] 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] Type of the resource. Always compute#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 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::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 # 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 # The IPv4 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 # 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 name of the sub public delegated prefix. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # [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] 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) @delegatee_project = args[:delegatee_project] if args.key?(:delegatee_project) @description = args[:description] if args.key?(:description) @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range) @is_address = args[:is_address] if args.key?(:is_address) @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 # 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 def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dimensions = args[:dimensions] if args.key?(:dimensions) @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) end end # Represents a reference to a resource. class Reference include Google::Apis::Core::Hashable # [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, read Regions and Zones. class Region include Google::Apis::Core::Hashable # [Output Only] Creation timestamp in RFC3339 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] 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] 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 or DOWN. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # [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) @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 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 # 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 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::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] Type of resource. Always compute#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 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::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 # Contains a list of InstanceGroup resources. class RegionInstanceGroupList 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 InstanceGroup resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The resource type. # 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::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] 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] 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] 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] 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::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] 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 as zones/[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. - # 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. - # 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] 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 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] The list of PerInstanceConfig. # 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 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] 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] 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] 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 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 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 the instanceGroup # 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 RegionInstanceGroupsListInstances 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 InstanceWithNamedPorts resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The resource type. # 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::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] 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 the # instanceGroups.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] 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 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::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 RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse include Google::Apis::Core::Hashable # Effective firewalls from firewall policy. # 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] The display name of the firewall policy. # Corresponds to the JSON property `displayName` # @return [String] attr_accessor :display_name # [Output Only] The name of the firewall policy. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The rules that apply to the network. # Corresponds to the JSON property `rules` # @return [Array] attr_accessor :rules # [Output Only] The type of the firewall policy. Can be one of HIERARCHY, # NETWORK, NETWORK_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) @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 # external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used # by internal HTTP(S) load balancers. For a list of supported URL map features # by the load balancer type, see the Load balancing features: Routing and # traffic management table. For a list of supported URL map features for Traffic # Director, see the Traffic Director features: Routing and traffic management # table. This resource defines mappings from hostnames and URL paths to either a # backend service or a backend bucket. To use the global urlMaps resource, the # backend service must have a loadBalancingScheme of either EXTERNAL or # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, # read URL Map Concepts. # 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 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 # 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 # [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] Creation timestamp in RFC3339 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] Type of the resource. Always compute#reservations for # 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 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 # [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] 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. # Next ID: 6 # 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] The status of the reservation. # 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) @commitment = args[:commitment] if args.key?(:commitment) @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) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @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 # 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 a # SPECIFIC_RESERVATION by name, specify googleapis.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 # 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 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] 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 # 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] 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 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::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 # 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 resource (a Commitment is composed of one or more # of these). class ResourceCommitment include Google::Apis::Core::Hashable # Name of the accelerator type resource. Applicable only when the type is # ACCELERATOR. # Corresponds to the JSON property `acceleratorType` # @return [String] attr_accessor :accelerator_type # The amount of the resource purchased (in a type-dependent unit, such as bytes). # For vCPUs, this can just be an integer. For memory, this must be provided in # MB. Memory must be a multiple of 256 MB, with up to 6.5GB of memory per every # vCPU. # Corresponds to the JSON property `amount` # @return [Fixnum] attr_accessor :amount # Type of resource for which this commitment applies. Possible values are VCPU, # MEMORY, LOCAL_SSD, and ACCELERATOR. # 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 to schedule persistent disk snapshots. class ResourcePolicy include Google::Apis::Core::Hashable # [Output Only] Creation timestamp in RFC3339 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 # A GroupPlacementPolicy specifies resource placement configuration. It # specifies the failure bucket separation as well as network locality # Corresponds to the JSON property `groupPlacementPolicy` # @return [Google::Apis::ComputeV1::ResourcePolicyGroupPlacementPolicy] attr_accessor :group_placement_policy # [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] Type of the resource. Always compute#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 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 # # 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] 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] The status of resource policy creation. # 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) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @description = args[:description] if args.key?(:description) @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) 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 # 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 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] 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] 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 # A GroupPlacementPolicy specifies resource placement configuration. It # specifies the failure bucket separation as well as network locality class ResourcePolicyGroupPlacementPolicy include Google::Apis::Core::Hashable # 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 # 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) @availability_domain_count = args[:availability_domain_count] if args.key?(:availability_domain_count) @collocation = args[:collocation] if args.key?(:collocation) @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] 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: http://en. # 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] Type of resource.Always compute#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 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::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] 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] 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] 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] 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 # 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 # [Output Only] An opaque ID of the host on which the VM is running. # Corresponds to the JSON property `physicalHost` # @return [String] attr_accessor :physical_host def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @physical_host = args[:physical_host] if args.key?(:physical_host) 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 the Routes overview. class Route include Google::Apis::Core::Hashable # [Output Only] AS path. # Corresponds to the JSON property `asPaths` # @return [Array] attr_accessor :as_paths # [Output Only] Creation timestamp in RFC3339 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. # Corresponds to the JSON property `destRange` # @return [String] attr_accessor :dest_range # [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 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 with RFC1035. Specifically, the # name must be 1-63 characters long and match the regular expression `[a-z]([-a- # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all # following characters (except for the last character) must be a dash, lowercase # letter, or digit. The last character must be a lowercase letter or digit. # 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 # The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should # handle matching packets or the IP address of the forwarding Rule. For example, # the following are all valid URLs: - 10.128.0.56 - https://www.googleapis.com/ # compute/v1/projects/project/regions/region /forwardingRules/forwardingRule - # regions/region/forwardingRules/forwardingRule # 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 # The network IP address of an instance that should handle matching packets. # Only IPv4 is supported. # Corresponds to the JSON property `nextHopIp` # @return [String] attr_accessor :next_hop_ip # 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] 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 # 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. # Corresponds to the JSON property `routeStatus` # @return [String] attr_accessor :route_status # [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] 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_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_ip = args[:next_hop_ip] if args.key?(:next_hop_ip) @next_hop_network = args[:next_hop_network] if args.key?(:next_hop_network) @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) @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 # 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 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::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 # Represents a Cloud Router resource. For more information about Cloud Router, # read the Cloud 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 to RFC4273. # Corresponds to the JSON property `bgpPeers` # @return [Array] attr_accessor :bgp_peers # [Output Only] Creation timestamp in RFC3339 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. Each interface requires either one linked resource, (for # example, linkedVpnTunnel), or IP address and IP address range (for example, # ipRange), or both. # Corresponds to the JSON property `interfaces` # @return [Array] attr_accessor :interfaces # [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 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 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 # [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) @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 # 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 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] 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 an RFC6996 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 # 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) @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 can # take one of the following options: - ALL_SUBNETS: Advertises all available # subnets, including peer VPC subnets. - ALL_VPC_SUBNETS: Advertises the router' # s own VPC subnets. Note that this field can only be populated if # advertise_mode is CUSTOM and overrides the list defined for the router (in the # "bgp" message). These groups are advertised in addition to any specified # prefixes. Leave this field blank to advertise no custom groups. # 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 # 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 IPv6 traffic over BGP Peer. If not specified, it is disabled by default. # Corresponds to the JSON property `enableIpv6` # @return [Boolean] attr_accessor :enable_ipv6 alias_method :enable_ipv6?, :enable_ipv6 # 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. Only IPv4 is # supported. # Corresponds to the JSON property `ipAddress` # @return [String] attr_accessor :ip_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] 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 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 # 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. Only IPv4 is # supported. # Corresponds to the JSON property `peerIpAddress` # @return [String] attr_accessor :peer_ip_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) @enable = args[:enable] if args.key?(:enable) @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6) @interface_name = args[:interface_name] if args.key?(:interface_name) @ip_address = args[:ip_address] if args.key?(:ip_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_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 RouterInterface include Google::Apis::Core::Hashable # IP address and range of the interface. The IP range must be in the RFC3927 # link-local IP address space. The value must be a CIDR-formatted string, for # example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents # the IP address of the interface. # Corresponds to the JSON property `ipRange` # @return [String] attr_accessor :ip_range # URI of the linked Interconnect attachment. It must be in the same region as # the router. Each interface can have one linked resource, which can be a VPN # tunnel, an Interconnect attachment, or a virtual machine instance. # 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 virtual machine instance. # Corresponds to the JSON property `linkedVpnTunnel` # @return [String] attr_accessor :linked_vpn_tunnel # [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 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 # 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 with RFC1035. 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) @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] 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 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::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 at least one bgpPeer. Must comply with 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) @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 # 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 with RFC1035. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # 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 or # ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other # Router.Nat section in any Router for this network in this region. # Corresponds to the JSON property `sourceSubnetworkIpRangesToNat` # @return [String] attr_accessor :source_subnetwork_ip_ranges_to_nat # 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 # 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) @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) @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) @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) @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 == # 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/ # global/hub/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 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 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_drain_ips = args[:source_nat_drain_ips] if args.key?(:source_nat_drain_ips) 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 # class RouterStatus include Google::Apis::Core::Hashable # Best routes for this router's network. # Corresponds to the JSON property `bestRoutes` # @return [Array] attr_accessor :best_routes # Best routes learned by this 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 # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default. # Corresponds to the JSON property `enableIpv6` # @return [Boolean] attr_accessor :enable_ipv6 alias_method :enable_ipv6?, :enable_ipv6 # IP address of the local BGP interface. # Corresponds to the JSON property `ipAddress` # @return [String] attr_accessor :ip_address # IPv6 address of the local BGP interface. # Corresponds to the JSON property `ipv6NexthopAddress` # @return [String] attr_accessor :ipv6_nexthop_address # 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 # Name of this BGP peer. Unique within the Routers resource. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Number of routes learned from the remote BGP Peer. # Corresponds to the JSON property `numLearnedRoutes` # @return [Fixnum] attr_accessor :num_learned_routes # IP address of the remote BGP interface. # Corresponds to the JSON property `peerIpAddress` # @return [String] attr_accessor :peer_ip_address # IPv6 address of the remote BGP interface. # Corresponds to the JSON property `peerIpv6NexthopAddress` # @return [String] attr_accessor :peer_ipv6_nexthop_address # [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 # The state of the BGP session. For a list of possible values for this field, # see BGP session states. # Corresponds to the JSON property `state` # @return [String] attr_accessor :state # 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 # 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 # 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_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6) @ip_address = args[:ip_address] if args.key?(:ip_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_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 # 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 # 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 # 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 # 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 # Unique name of this NAT. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 # 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 RoutersPreviewResponse include Google::Apis::Core::Hashable # Represents a Cloud Router resource. For more information about Cloud Router, # read the Cloud 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 # This is deprecated and has no effect. Do not use. class Rule include Google::Apis::Core::Hashable # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `action` # @return [String] attr_accessor :action # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `conditions` # @return [Array] attr_accessor :conditions # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `ins` # @return [Array] attr_accessor :ins # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `logConfigs` # @return [Array] attr_accessor :log_configs # This is deprecated and has no effect. Do not use. # Corresponds to the JSON property `notIns` # @return [Array] attr_accessor :not_ins # This is deprecated and has no effect. Do not use. # 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) @action = args[:action] if args.key?(:action) @conditions = args[:conditions] if args.key?(:conditions) @description = args[:description] if args.key?(:description) @ins = args[:ins] if args.key?(:ins) @log_configs = args[:log_configs] if args.key?(:log_configs) @not_ins = args[:not_ins] if args.key?(:not_ins) @permissions = args[:permissions] if args.key?(:permissions) 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 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 the # port field in the health check. Supported by backend services for pass-through # load balancers and backend services for proxy load balancers. Not supported by # target pools. The health check supports all backends supported by the backend # service provided the backend can be health checked. For example, GCE_VM_IP # network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an # indirect method of specifying the health check port by referring to the # backend service. Only supported by backend services for proxy load balancers. # Not supported by target pools. Not supported by backend services for pass- # through load balancers. Supports all backends that can be health checked; for # example, GCE_VM_IP_PORT network endpoint groups and instance group backends. # For GCE_VM_IP_PORT network endpoint group backends, the health check uses the # port number specified for each endpoint in the network endpoint group. For # instance group backends, the health check uses the port number determined by # looking up the backend service's named port in the instance group's list of # named ports. # 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] 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 # 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] Type of the resource. Always compute#attachedDisk for attached # disks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # [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, either # READ_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] 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] 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 or PERSISTENT. # 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] The architecture of the attached disk. # Corresponds to the JSON property `architecture` # @return [String] attr_accessor :architecture # [Output Only] Type of the resource. Always compute#savedDisk for attached # disks. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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] 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] 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 termination action for the instance. # Corresponds to the JSON property `instanceTerminationAction` # @return [String] attr_accessor :instance_termination_action # 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 # 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 to Configuring # 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. For preemptible 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 whether the instance is preemptible. This can only be set during # instance creation or while the instance is stopped and therefore, in a ` # TERMINATED` state. See Instance 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 def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart) @instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action) @location_hint = args[:location_hint] if args.key?(:location_hint) @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) @preemptible = args[:preemptible] if args.key?(:preemptible) @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model) 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 are IN 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 # 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] 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] Type of resource. Always compute#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 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] 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 # [Output Only] Creation timestamp in RFC3339 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 error 412 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] 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. Always compute#securityPolicyfor security # policies # 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 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 # # Corresponds to the JSON property `recaptchaOptionsConfig` # @return [Google::Apis::ComputeV1::SecurityPolicyRecaptchaOptionsConfig] attr_accessor :recaptcha_options_config # [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] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # The type indicates the intended use of the security policy. - CLOUD_ARMOR: # Cloud Armor backend security policies can be configured to filter incoming # HTTP requests targeting backend services. They filter requests before they hit # the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can # be configured to filter incoming HTTP requests targeting backend services ( # including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They # filter requests before the request is served from Google's cache. - # CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be # configured to filter HTTP requests targeting services managed by Traffic # Director in a service mesh. They filter requests before the request is served # from the application. This field can be set only at resource creation time. # 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) @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) @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) @name = args[:name] if args.key?(:name) @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) @type = args[:type] if args.key?(:type) end end # Configuration options for Cloud Armor Adaptive Protection (CAAP). class SecurityPolicyAdaptiveProtectionConfig include Google::Apis::Core::Hashable # Configuration options for L7 DDoS detection. # 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. class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig include Google::Apis::Core::Hashable # If set to true, enables CAAP for L7 DDoS detection. # 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. # Corresponds to the JSON property `ruleVisibility` # @return [String] attr_accessor :rule_visibility 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) 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 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) 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 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] Type of resource. Always compute#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 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] 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. # 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(): deny access to target, # returns the HTTP response code specified (valid values are 403, 404, and 502). # - rate_based_ban: limit client traffic to the configured threshold and ban the # client if the traffic exceeds the threshold. Configure parameters for this # action in RateLimitOptions. Requires rate_limit_options to be set. - redirect: # redirect to a different target. This can either be an internal reCAPTCHA # redirect, or an external URL-based redirect via a 302 response. Parameters for # this action can be configured via redirectOptions. - throttle: limit client # traffic to the configured threshold. Configure parameters for this action in # rateLimitOptions. Requires rate_limit_options to be set for this. # 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. # Corresponds to the JSON property `headerAction` # @return [Google::Apis::ComputeV1::SecurityPolicyRuleHttpHeaderAction] attr_accessor :header_action # [Output only] Type of the resource. Always compute#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 # 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". 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. # 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) @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 # 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) @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 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 to ALL. - XFF_IP: The first IP address (i.e. the # originating client IP address) specified in the list of IPs under X-Forwarded- # For HTTP header. If no such header is present or the value is not a valid IP, # the key defaults to the source IP address of the request i.e. key type IP. - # HTTP_COOKIE: The value of the HTTP cookie whose name is configured under " # enforceOnKeyName". The key value is truncated to the first 128 bytes of the # cookie value. If no such cookie is present in the request, the key type # defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value # is truncated to the first 128 bytes. - SNI: Server name indication in the TLS # session of the HTTPS request. The key value is truncated to the first 128 # bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The # country/region from which the request originates. # Corresponds to the JSON property `enforceOnKey` # @return [String] attr_accessor :enforce_on_key # 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. # 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. # 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_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 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. # 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 # The authentication and authorization settings for a BackendService. class SecuritySettings include Google::Apis::Core::Hashable # Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that # describes how clients should authenticate with this service's backends. # clientTlsPolicy only applies to a global BackendService with the # loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank, # communications are not encrypted. Note: This field currently has no impact. # 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 this BackendService. # When the server presents its X.509 certificate to the client, the client # inspects the certificate's subjectAltName field. If the field contains one of # the specified values, the communication continues. Otherwise, it fails. This # additional check enables the client to verify that the server is authorized to # run the requested service. Note that the contents of the server certificate's # subjectAltName field are configured by the Public Key Infrastructure which # provisions server identities. Only applies to a global BackendService with # loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when # BackendService has an attached clientTlsPolicy with clientCertificate (mTLS # mode). Note: This field currently has no impact. # 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) @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] Type of the resource. Always compute#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] 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. next tag = 20 class ServiceAttachment include Google::Apis::Core::Hashable # [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 # Projects that are allowed to connect to this service attachment. # Corresponds to the JSON property `consumerAcceptLists` # @return [Array] attr_accessor :consumer_accept_lists # Projects that are not allowed to connect to this service attachment. The # project can be specified using its id or number. # Corresponds to the JSON property `consumerRejectLists` # @return [Array] attr_accessor :consumer_reject_lists # [Output Only] Creation timestamp in RFC3339 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] 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] Type of the resource. Always compute#serviceAttachment for # service attachments. # 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 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 # 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 # [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 # [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] 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) @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) @psc_service_attachment_id = args[:psc_service_attachment_id] if args.key?(:psc_service_attachment_id) @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 # 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 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] 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 a connected endpoint. # Corresponds to the JSON property `endpoint` # @return [String] attr_accessor :endpoint # 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) @endpoint = args[:endpoint] if args.key?(:endpoint) @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. # 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] Type of the resource. Always compute#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 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::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 # 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 `encryptionKey` # @return [Google::Apis::ComputeV1::ShieldedInstanceIdentityEntry] attr_accessor :encryption_key # [Output Only] Type of the resource. Always compute#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) @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 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 `keyName` # @return [String] attr_accessor :key_name # 128-bit key value used for signing the URL. The key value must be a valid RFC # 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] 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] 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] Size in bytes of the snapshot at creation time. # Corresponds to the JSON property `creationSizeBytes` # @return [Fixnum] attr_accessor :creation_size_bytes # [Output Only] Creation timestamp in RFC3339 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] Size of the source disk, specified in GB. # Corresponds to the JSON property `diskSizeGb` # @return [Fixnum] attr_accessor :disk_size_gb # [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] 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. 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 error 412 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] 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] 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 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 # [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] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Encrypts the snapshot using a customer-supplied encryption key. After you # encrypt a snapshot using a customer-supplied key, you must provide the same # key if you use the snapshot later. For example, you must provide the # encryption key when you create a disk from the encrypted snapshot in a future # request. Customer-supplied encryption keys do not protect access to metadata # of the snapshot. If you do not provide an encryption key when creating the # snapshot, then the snapshot will be encrypted using an automatically generated # key and you do not need to provide a key to use the snapshot later. # 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 # [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 # [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] 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] The status of the snapshot. This can be CREATING, DELETING, # FAILED, READY, or UPLOADING. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # [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] 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) @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) @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_id = args[:source_disk_id] if args.key?(:source_disk_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 # 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 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::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 # class SourceDiskEncryptionKey include Google::Apis::Core::Hashable # 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 `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, new custom images will be created from each disk. # For read-only disks, they will be attached in read-only mode. Local SSD disks # will be created as blank volumes. # 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 to false. See the Enable 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" or minCpuPlatform: "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 # 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) @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 sslCertificates are used by: - external HTTPS load # balancers - SSL proxy load balancers The regionSslCertificates are used by # internal HTTPS load balancers. Optionally, certificate file contents that you # upload can contain a set of up to five PEM-encoded certificates. The API call # creates an object (sslCertificate) that holds this data. You can use SSL keys # and certificates to secure connections to a load balancer. For more # information, read Creating and using SSL certificates, SSL certificates quotas # and limits, and Troubleshooting SSL certificates. 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 in RFC3339 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] 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] Type of the resource. Always compute#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 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 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] 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] 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 fields # certificate 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] Type of resource. Always compute#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 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] 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 # 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 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::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] 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] 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] Type of resource. Always compute#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 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] 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] Unique identifier for the resource; defined by the server. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # A list of SslPolicy resources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # [Output Only] Type of the resource. Always compute#sslPoliciesList for lists # of sslPolicies. # 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::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 the SSL # features, such as versions and cipher suites, offered by an HTTPS or SSL Proxy # load balancer. For more information, read SSL Policy Concepts. class SslPolicy include Google::Apis::Core::Hashable # [Output Only] Creation timestamp in RFC3339 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 not CUSTOM. # 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] 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] 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. Always compute#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 of TLS_1_0, # TLS_1_1, TLS_1_2. # 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 of COMPATIBLE, # MODERN, RESTRICTED, or CUSTOM. 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] 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] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [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 def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @disks = args[:disks] if args.key?(:disks) 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 in READ_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 # 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 # [Output Only] Creation timestamp in RFC3339 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 with the purpose # field set to INTERNAL_HTTPS_LOAD_BALANCER. # 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] 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] 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] 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. 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 the Valid ranges list. The range can be expanded after # creation using expandIpCidrRange. # 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 # [Output Only] This field is for internal use. # Corresponds to the JSON property `ipv6CidrRange` # @return [String] attr_accessor :ipv6_cidr_range # [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 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 # 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 # 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 using patch. # Corresponds to the JSON property `privateIpv6GoogleAccess` # @return [String] attr_accessor :private_ipv6_google_access # The purpose of the resource. This field can be either PRIVATE_RFC_1918 or # INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to # INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for # Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to # PRIVATE_RFC_1918. The enableFlowLogs field isn't supported with the purpose # field set to INTERNAL_HTTPS_LOAD_BALANCER. # 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 role of subnetwork. Currently, this field is only used when purpose = # INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An # ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) # Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to # ACTIVE or is currently draining. This field can be updated with a patch # request. # 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 a patch request. # 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 to IPV4_IPV6, new VMs in the subnet can # be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. # This field can be both set at resource creation time and updated using patch. # Corresponds to the JSON property `stackType` # @return [String] attr_accessor :stack_type # [Output Only] The state of the subnetwork, which can be one of the following # values: READY: Subnetwork is created and ready to use DRAINING: 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 of READY # 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) @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) @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) @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) @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) @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) 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] Type of resource. Always compute#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 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] 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] 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 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::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. # 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 is EXCLUDE_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 # 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. # Only IPv4 is supported. The range can be any range listed in the Valid ranges # list. # 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 with RFC1035. 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 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 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 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 the # port field in the health check. Supported by backend services for pass-through # load balancers and backend services for proxy load balancers. Not supported by # target pools. The health check supports all backends supported by the backend # service provided the backend can be health checked. For example, GCE_VM_IP # network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance # group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an # indirect method of specifying the health check port by referring to the # backend service. Only supported by backend services for proxy load balancers. # Not supported by target pools. Not supported by backend services for pass- # through load balancers. Supports all backends that can be health checked; for # example, GCE_VM_IP_PORT network endpoint groups and instance group backends. # For GCE_VM_IP_PORT network endpoint group backends, the health check uses the # port number specified for each endpoint in the network endpoint group. For # instance group backends, the health check uses the port number determined by # looking up the backend service's named port in the instance group's list of # named ports. # 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] Creation timestamp in RFC3339 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] 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] Type of the resource. Always compute#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 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 # [Output Only] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [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] Type of the resource. Always compute#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 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::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 GCP HTTP load # balancers. * targetHttpProxies are used by external HTTP load balancers and # Traffic Director. * regionTargetHttpProxies are used by internal HTTP load # balancers. Forwarding rules reference a target HTTP proxy, and the target # proxy then references a URL map. For more information, read Using Target # Proxies and Forwarding rule concepts. class TargetHttpProxy include Google::Apis::Core::Hashable # [Output Only] Creation timestamp in RFC3339 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 # [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 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 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 # This field only applies when the forwarding rule that references this target # proxy has a loadBalancingScheme set to INTERNAL_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] 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) @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] Type of resource. Always compute#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 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] 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 # 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 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::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. # 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 GCP HTTPS # load balancers. * targetHttpsProxies are used by external HTTPS load balancers. # * regionTargetHttpsProxies are used by internal HTTPS load balancers. # Forwarding rules reference a target HTTPS proxy, and the target proxy then # references a URL map. For more information, read Using Target Proxies and # Forwarding rule concepts. 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 global TargetHttpsProxy attached to globalForwardingRules with # the loadBalancingScheme 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 target proxies. If # set, sslCertificates will be ignored. # Corresponds to the JSON property `certificateMap` # @return [String] attr_accessor :certificate_map # [Output Only] Creation timestamp in RFC3339 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 # [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 resource. Always compute#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 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 # This field only applies when the forwarding rule that references this target # proxy has a loadBalancingScheme set to INTERNAL_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, or DISABLE. - When quic-override is set # to NONE, Google manages whether QUIC is used. - When quic-override is set to # ENABLE, the load balancer uses QUIC when possible. - When quic-override is set # to DISABLE, the load balancer doesn't use QUIC. - If the quic-override flag is # not specified, NONE is implied. # Corresponds to the JSON property `quicOverride` # @return [String] attr_accessor :quic_override # [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 global TargetHttpsProxy attached to globalForwardingRules # with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank, # communications are not encrypted. Note: This field currently has no impact. # 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. 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 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 # 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) @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) @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] Type of resource. Always compute#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 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] 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 # 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 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::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, read Target instances. class TargetInstance include Google::Apis::Core::Hashable # [Output Only] Creation timestamp in RFC3339 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] The type of the resource. Always compute#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 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 # 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] Server-defined URL for the resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # [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) @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 # 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 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] 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 # 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 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::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 for network TCP/UDP # load balancing. A target pool references member instances, an associated # legacy HttpHealthCheck resource, and, optionally, a backup target pool. For # more information, read Using target pools. 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 below failoverRatio, 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] Creation timestamp in RFC3339 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] 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 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 # [Output Only] URL of the region where the target pool resides. # 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 # 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) @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] Type of resource. Always compute#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 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] 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] Type of resource. Always compute#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] 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 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::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. # 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 # SSL Proxy load balancer. Global forwarding rules reference a target SSL proxy, # and the target proxy then references an external backend service. For more # information, read Using Target Proxies. 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. # Corresponds to the JSON property `certificateMap` # @return [String] attr_accessor :certificate_map # [Output Only] Creation timestamp in RFC3339 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] Type of the resource. Always compute#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 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 # 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 # 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 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::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 # TCP Proxy load balancer. Global forwarding rules reference target TCP proxy, # and the target proxy then references an external backend service. For more # information, read TCP Proxy Load Balancing overview. class TargetTcpProxy include Google::Apis::Core::Hashable # [Output Only] Creation timestamp in RFC3339 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] Type of the resource. Always compute#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 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 # This field only applies when the forwarding rule that references this target # proxy has a loadBalancingScheme set to INTERNAL_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] 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] Type of resource. Always compute#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 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] 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 # 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 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::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 the the # Cloud VPN Overview. class TargetVpnGateway include Google::Apis::Core::Hashable # [Output Only] Creation timestamp in RFC3339 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 using compute.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] Type of resource. Always compute#targetVpnGateway for target VPN # gateways. # 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 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 # 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) @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] Type of resource. Always compute#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 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] 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] Type of resource. Always compute#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 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::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 # Represents a URL Map resource. Compute Engine has two URL Map resources: * [ # Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/ # reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain # types of cloud load balancers and Traffic Director: * urlMaps are used by # external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used # by internal HTTP(S) load balancers. For a list of supported URL map features # by the load balancer type, see the Load balancing features: Routing and # traffic management table. For a list of supported URL map features for Traffic # Director, see the Traffic Director features: Routing and traffic management # table. This resource defines mappings from hostnames and URL paths to either a # backend service or a backend bucket. To use the global urlMaps resource, the # backend service must have a loadBalancingScheme of either EXTERNAL or # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, # read URL Map Concepts. class UrlMap include Google::Apis::Core::Hashable # [Output Only] Creation timestamp in RFC3339 text format. # Corresponds to the JSON property `creationTimestamp` # @return [String] attr_accessor :creation_timestamp # defaultRouteAction takes effect when none of the hostRules match. The load # balancer performs advanced routing actions, such as URL rewrites and header # transformations, before forwarding the request to the selected backend. If # defaultRouteAction specifies any weightedBackendServices, defaultService must # not be set. Conversely if defaultService is set, defaultRouteAction cannot # contain any weightedBackendServices. Only one of defaultRouteAction or # defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load # balancers only support the urlRewrite action within defaultRouteAction. # defaultRouteAction has no effect when the URL map is bound to a target gRPC # proxy that has the validateForProxyless field set to true. # 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. However, if defaultService is specified, # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if # routeAction specifies any weightedBackendServices, service must not be # specified. Only one of defaultService, defaultUrlRedirect , or # defaultRouteAction.weightedBackendService must be set. defaultService has no # effect when the URL map is bound to a target gRPC proxy that has the # validateForProxyless field set to true. # 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] 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 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 # The list of named PathMatchers to use against the URL. # Corresponds to the JSON property `pathMatchers` # @return [Array] attr_accessor :path_matchers # [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 the UrlMap 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_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 # 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 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::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 when expectedOutputUrl matches the request forwarded by # the load balancer to backends. For rules with urlRewrite, the test verifies # that the forwarded request matches hostRewrite and pathPrefixRewrite in the # urlRewrite action. When service is specified, expectedOutputUrl`s scheme is # ignored. For rules with urlRedirect, the test passes only if expectedOutputUrl # matches the URL in the load balancer's redirect response. If urlRedirect # specifies https_redirect, the test passes only if the scheme in # expectedOutputUrl 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 when service is specified. # Corresponds to the JSON property `expectedOutputUrl` # @return [String] attr_accessor :expected_output_url # For rules with urlRedirect, the test passes only if # expectedRedirectResponseCode matches the HTTP status code in load balancer's # redirect response. expectedRedirectResponseCode cannot be set when service 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 # 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 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] 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. Use # EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced # Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load # Balancer. Other load balancer types are not supported. For more information, # refer to Choosing a load balancer. If unspecified, the load balancing scheme # will be inferred from the backend service resources this URL map references. # If that can not be inferred (for example, this URL map only references backend # buckets, or this Url map is for rewrites and redirects only and doesn't # reference any backends), EXTERNAL will be used as the default type. If # specified, the scheme(s) must not conflict with the load balancing scheme of # the backend service resources this Url map references. # 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 # external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used # by internal HTTP(S) load balancers. For a list of supported URL map features # by the load balancer type, see the Load balancing features: Routing and # traffic management table. For a list of supported URL map features for Traffic # Director, see the Traffic Director features: Routing and traffic management # table. This resource defines mappings from hostnames and URL paths to either a # backend service or a backend bucket. To use the global urlMaps resource, the # backend service must have a loadBalancingScheme of either EXTERNAL or # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, # read URL Map Concepts. # 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 by pathPrefixRewrite. The value must # be from 1 to 1024 characters. # Corresponds to the JSON property `pathPrefixRewrite` # @return [String] attr_accessor :path_prefix_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) end end # Subnetwork which the current user has compute.subnetworks.use permission on. class UsableSubnetwork include Google::Apis::Core::Hashable # [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] 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 # The purpose of the resource. This field can be either PRIVATE_RFC_1918 or # INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to # INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for # Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to # PRIVATE_RFC_1918. The enableFlowLogs field isn't supported with the purpose # field set to INTERNAL_HTTPS_LOAD_BALANCER. # Corresponds to the JSON property `purpose` # @return [String] attr_accessor :purpose # The role of subnetwork. Currently, this field is only used when purpose = # INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An # ACTIVE subnetwork is one that is currently being used for Internal HTTP(S) # Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to # ACTIVE or is currently draining. This field can be updated with a patch # request. # 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 to IPV4_IPV6, new VMs in the subnet can # be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. # This field can be both set at resource creation time and updated using patch. # 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. # 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 with RFC1035. 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] Type of resource. Always compute#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 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. In special cases listUsable may return 0 # subnetworks and nextPageToken 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] 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::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) @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 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 as example-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 in # bucketName. If not supplied, defaults to usage_gce. The report is stored as a # CSV file named report_name_prefix_gce_YYYYMMDD.csv where YYYYMMDD is the day # of the usage according to Pacific Time. If you supply a prefix, it should # conform to Cloud Storage object 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 # 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 # 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 # 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 # 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 # 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 # Information about mappings provided by rules in this NAT. # Corresponds to the JSON property `ruleMappings` # @return [Array] attr_accessor :rule_mappings # 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 # 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 # 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 # 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 # 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 # 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 # 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] Type of resource. Always compute#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 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] A list of Nat mapping information of VM endpoints. # Corresponds to the JSON property `result` # @return [Array] attr_accessor :result # [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] Creation timestamp in RFC3339 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] 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 error 412 conditionNotMet. To see the latest fingerprint, make # a get() request to retrieve an 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 the setLabels # method. Each label key/value pair must comply with RFC1035. 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 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 # 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 VPN gateway resides. # 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 stack type for this VPN gateway to identify the IP protocols that are # enabled. Possible values are: IPV4_ONLY, IPV4_IPV6. If not specified, # IPV4_ONLY will be used. # 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) @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] 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 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] 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] 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 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::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 # 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 # The VPN gateway interface this VPN tunnel is associated with. # Corresponds to the JSON property `localGatewayInterface` # @return [Fixnum] attr_accessor :local_gateway_interface # The peer gateway interface this VPN tunnel is connected to, the peer gateway # could either be an external VPN gateway or GCP VPN gateway. # Corresponds to the JSON property `peerGatewayInterface` # @return [Fixnum] attr_accessor :peer_gateway_interface # 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 a external VPN gateway # or GCP VPN gateway. class VpnGatewayStatusVpnConnection include Google::Apis::Core::Hashable # 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 # 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] 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] 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 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) 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 # [Output Only] Creation timestamp in RFC3339 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] Type of resource. Always compute#vpnTunnel for VPN tunnels. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # 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. # 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 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 # 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 GCP VPN gateway to which this VPN tunnel is connected. # Provided by the client when the VPN tunnel is created. This field can be used # when creating highly available VPN from VPC network to VPC network, the field # is exclusive with the field peerExternalGateway. If provided, the VPN tunnel # will automatically use the same vpnGatewayInterface ID in the peer GCP VPN # gateway. # Corresponds to the JSON property `peerGcpGateway` # @return [String] attr_accessor :peer_gcp_gateway # IP address of the peer VPN gateway. Only IPv4 is supported. # 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. # 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. # 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) @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) @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] 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 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] 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 # 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] 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 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::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 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 def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) 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 this backendServiceWeight. # 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 as # weight / (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. 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 # 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] 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 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::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-a is located in # the us-east1 region. For more information, read Regions 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 in RFC3339 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] 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 or DOWN. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # [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 # 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 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::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 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.57.0/lib/google/apis/compute_v1/representations.rb0000644000175000017500000241033514410330657025672 0ustar vinayvinay# 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 AcceleratorConfig 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 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 AuthorizationLoggingOptions 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 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 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 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 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 BackendServiceReference 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 Binding 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 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 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 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 Condition class Representation < Google::Apis::Core::JsonRepresentation; 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 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 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 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 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 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 FirewallPoliciesListAssociationsResponse class Representation < Google::Apis::Core::JsonRepresentation; 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 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 GrpcHealthCheck 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 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 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 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 InstanceGroupManagerAutoHealingPolicy 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 InstanceGroupManagerStatus 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 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 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 InstanceReference 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 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 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 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 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 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 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 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 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 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 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 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 InterconnectOutageNotification 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 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 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 LogConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class LogConfigCloudAuditOptions class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class LogConfigCounterOptions class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class LogConfigCounterOptionsCustomField class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class LogConfigDataAccessOptions 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 MachineType class Representation < Google::Apis::Core::JsonRepresentation; end class Accelerator class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ScratchDisk 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 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 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 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 NetworkPeering 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 ResourceStatus 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 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 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 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 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 Rule class Representation < Google::Apis::Core::JsonRepresentation; 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 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 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 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 SecurityPolicyRuleRateLimitOptions 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 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 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 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 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 SubnetworkSecondaryRange 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 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 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 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 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 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 ZoneSetPolicyRequest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class AcceleratorConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :accelerator_count, as: 'acceleratorCount' property :accelerator_type, as: 'acceleratorType' 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 :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_version, as: 'ipVersion' property :ipv6_endpoint_type, as: 'ipv6EndpointType' property :kind, as: 'kind' 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 :threads_per_core, as: 'threadsPerCore' 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 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 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 :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' hash :labels, as: 'labels' collection :licenses, as: 'licenses' property :on_update_action, as: 'onUpdateAction' property :provisioned_iops, :numeric_string => true, as: 'provisionedIops' 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 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 collection :exempted_members, as: 'exemptedMembers' property :service, as: 'service' end end class AuditLogConfig # @private class Representation < Google::Apis::Core::JsonRepresentation collection :exempted_members, as: 'exemptedMembers' property :ignore_child_exemptions, as: 'ignoreChildExemptions' property :log_type, as: 'logType' end end class AuthorizationLoggingOptions # @private class Representation < Google::Apis::Core::JsonRepresentation property :permission_type, as: 'permissionType' 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' 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' 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 :name, as: 'name' property :self_link, as: 'selfLink' 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 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_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 :failover_policy, as: 'failoverPolicy', class: Google::Apis::ComputeV1::BackendServiceFailoverPolicy, decorator: Google::Apis::ComputeV1::BackendServiceFailoverPolicy::Representation property :fingerprint, :base64 => true, as: 'fingerprint' 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 :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 property :name, as: 'name' property :network, as: 'network' property :outlier_detection, as: 'outlierDetection', class: Google::Apis::ComputeV1::OutlierDetection, decorator: Google::Apis::ComputeV1::OutlierDetection::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 :session_affinity, as: 'sessionAffinity' property :subsetting, as: 'subsetting', class: Google::Apis::ComputeV1::Subsetting, decorator: Google::Apis::ComputeV1::Subsetting::Representation property :timeout_sec, as: 'timeoutSec' 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 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 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 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' property :sample_rate, as: 'sampleRate' end end class BackendServiceReference # @private class Representation < Google::Apis::Core::JsonRepresentation property :backend_service, as: 'backendService' 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 Binding # @private class Representation < Google::Apis::Core::JsonRepresentation property :binding_id, as: 'bindingId' 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 BulkInsertInstanceResource # @private class Representation < Google::Apis::Core::JsonRepresentation property :count, :numeric_string => true, as: 'count' 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 :name, as: 'name' end end class CacheInvalidationRule # @private class Representation < Google::Apis::Core::JsonRepresentation 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 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 :description, as: 'description' property :end_timestamp, as: 'endTimestamp' 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 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 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 Condition # @private class Representation < Google::Apis::Core::JsonRepresentation property :iam, as: 'iam' property :op, as: 'op' property :svc, as: 'svc' property :sys, as: 'sys' collection :values, as: 'values' end end class ConfidentialInstanceConfig # @private class Representation < Google::Apis::Core::JsonRepresentation 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 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 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 :architecture, as: 'architecture' 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 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 :region, as: 'region' collection :replica_zones, as: 'replicaZones' collection :resource_policies, as: 'resourcePolicies' property :satisfies_pzs, as: 'satisfiesPzs' property :self_link, as: 'selfLink' property :size_gb, :numeric_string => true, as: 'sizeGb' 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_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 :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 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 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 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' 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 :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 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 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' property :parent, as: 'parent' 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' 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' end end class FirewallPolicyRuleMatcher # @private class Representation < Google::Apis::Core::JsonRepresentation collection :dest_ip_ranges, as: 'destIpRanges' collection :layer4_configs, as: 'layer4Configs', class: Google::Apis::ComputeV1::FirewallPolicyRuleMatcherLayer4Config, decorator: Google::Apis::ComputeV1::FirewallPolicyRuleMatcherLayer4Config::Representation collection :src_ip_ranges, as: 'srcIpRanges' collection :src_secure_tags, as: 'srcSecureTags', class: Google::Apis::ComputeV1::FirewallPolicyRuleSecureTag, decorator: Google::Apis::ComputeV1::FirewallPolicyRuleSecureTag::Representation 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 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 :backend_service, as: 'backendService' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :fingerprint, :base64 => true, as: 'fingerprint' property :id, :numeric_string => true, as: 'id' 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' 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' 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 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 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 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 :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' 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 :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' 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 :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 :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 :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 :raw_disk, as: 'rawDisk', class: Google::Apis::ComputeV1::Image::RawDisk, decorator: Google::Apis::ComputeV1::Image::RawDisk::Representation 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 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 :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_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 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 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_group, as: 'instanceGroup' 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 :self_link, as: 'selfLink' 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 :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 InstanceGroupManagerAutoHealingPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :health_check, as: 'healthCheck' property :initial_delay_sec, as: 'initialDelaySec' 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 InstanceGroupManagerStatus # @private class Representation < Google::Apis::Core::JsonRepresentation 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 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 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 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 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 InstanceReference # @private class Representation < Google::Apis::Core::JsonRepresentation property :instance, as: 'instance' 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 :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 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 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 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 :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 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 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 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 :admin_enabled, as: 'adminEnabled' 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' property :interconnect_type, as: 'interconnectType' property :kind, as: 'kind' property :link_type, as: 'linkType' property :location, as: 'location' property :name, as: 'name' property :noc_contact_email, as: 'nocContactEmail' property :operational_status, as: 'operationalStatus' property :peer_ip_address, as: 'peerIpAddress' property :provisioned_link_count, as: 'provisionedLinkCount' property :requested_link_count, as: 'requestedLinkCount' property :satisfies_pzs, as: 'satisfiesPzs' property :self_link, as: 'selfLink' property :state, as: 'state' end end class InterconnectAttachment # @private class Representation < Google::Apis::Core::JsonRepresentation property :admin_enabled, as: 'adminEnabled' property :bandwidth, as: 'bandwidth' 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 :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 :mtu, as: 'mtu' property :name, as: 'name' property :operational_status, as: 'operationalStatus' property :pairing_key, as: 'pairingKey' 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 :router, as: 'router' property :satisfies_pzs, as: 'satisfiesPzs' property :self_link, as: 'selfLink' property :stack_type, as: 'stackType' property :state, as: 'state' 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 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 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 :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 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' property :city, as: 'city' 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 :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' property :status, as: 'status' property :supports_pzs, as: 'supportsPzs' 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 :location_presence, as: 'locationPresence' property :region, as: 'region' 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 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 License # @private class Representation < Google::Apis::Core::JsonRepresentation property :charges_use_fee, as: 'chargesUseFee' property :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :license_code, :numeric_string => true, as: 'licenseCode' property :name, as: 'name' property :resource_requirements, as: 'resourceRequirements', class: Google::Apis::ComputeV1::LicenseResourceRequirements, decorator: Google::Apis::ComputeV1::LicenseResourceRequirements::Representation property :self_link, as: 'selfLink' property :transferable, as: 'transferable' 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 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 LogConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :cloud_audit, as: 'cloudAudit', class: Google::Apis::ComputeV1::LogConfigCloudAuditOptions, decorator: Google::Apis::ComputeV1::LogConfigCloudAuditOptions::Representation property :counter, as: 'counter', class: Google::Apis::ComputeV1::LogConfigCounterOptions, decorator: Google::Apis::ComputeV1::LogConfigCounterOptions::Representation property :data_access, as: 'dataAccess', class: Google::Apis::ComputeV1::LogConfigDataAccessOptions, decorator: Google::Apis::ComputeV1::LogConfigDataAccessOptions::Representation end end class LogConfigCloudAuditOptions # @private class Representation < Google::Apis::Core::JsonRepresentation property :authorization_logging_options, as: 'authorizationLoggingOptions', class: Google::Apis::ComputeV1::AuthorizationLoggingOptions, decorator: Google::Apis::ComputeV1::AuthorizationLoggingOptions::Representation property :log_name, as: 'logName' end end class LogConfigCounterOptions # @private class Representation < Google::Apis::Core::JsonRepresentation collection :custom_fields, as: 'customFields', class: Google::Apis::ComputeV1::LogConfigCounterOptionsCustomField, decorator: Google::Apis::ComputeV1::LogConfigCounterOptionsCustomField::Representation property :field, as: 'field' property :metric, as: 'metric' end end class LogConfigCounterOptionsCustomField # @private class Representation < Google::Apis::Core::JsonRepresentation property :name, as: 'name' property :value, as: 'value' end end class LogConfigDataAccessOptions # @private class Representation < Google::Apis::Core::JsonRepresentation property :log_mode, as: 'logMode' 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 :machine_image_encryption_key, as: 'machineImageEncryptionKey', class: Google::Apis::ComputeV1::CustomerEncryptionKey, decorator: Google::Apis::ComputeV1::CustomerEncryptionKey::Representation property :name, as: 'name' 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 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 :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' collection :scratch_disks, as: 'scratchDisks', class: Google::Apis::ComputeV1::MachineType::ScratchDisk, decorator: Google::Apis::ComputeV1::MachineType::ScratchDisk::Representation 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 class ScratchDisk # @private class Representation < Google::Apis::Core::JsonRepresentation property :disk_gb, as: 'diskGb' 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 :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 :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 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 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' 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 :project_id_or_num, as: 'projectIdOrNum' collection :secondary_ip_cidr_ranges, as: 'secondaryIpCidrRanges' property :status, as: 'status' property :subnetwork, as: 'subnetwork' 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 :fqdn, as: 'fqdn' property :instance, as: 'instance' property :ip_address, as: 'ipAddress' 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 :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 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 :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_ip, as: 'networkIP' property :nic_type, as: 'nicType' property :queue_count, as: 'queueCount' property :stack_type, as: 'stackType' property :subnetwork, as: 'subnetwork' 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 NetworkPeering # @private class Representation < Google::Apis::Core::JsonRepresentation property :auto_create_routes, as: 'autoCreateRoutes' 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' end end class NetworkPerformanceConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :total_egress_bandwidth_tier, as: 'totalEgressBandwidthTier' end end class NetworkRoutingConfig # @private class Representation < Google::Apis::Core::JsonRepresentation 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 :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 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_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 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 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 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 :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 :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 :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 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_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 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' collection :rules, as: 'rules', class: Google::Apis::ComputeV1::Rule, decorator: Google::Apis::ComputeV1::Rule::Representation 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 :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 Project # @private class Representation < Google::Apis::Core::JsonRepresentation 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 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 :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 :kind, as: 'kind' property :name, as: 'name' 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 :creation_timestamp, as: 'creationTimestamp' property :description, as: 'description' property :fingerprint, :base64 => true, as: 'fingerprint' property :id, :numeric_string => true, as: 'id' property :ip_cidr_range, as: 'ipCidrRange' property :is_live_migration, as: 'isLiveMigration' property :kind, as: 'kind' 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 :delegatee_project, as: 'delegateeProject' property :description, as: 'description' property :ip_cidr_range, as: 'ipCidrRange' property :is_address, as: 'isAddress' 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 :limit, as: 'limit' property :limit_name, as: 'limitName' property :metric_name, as: 'metricName' 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' 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 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 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 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 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 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 :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' end end class Reservation # @private class Representation < Google::Apis::Core::JsonRepresentation property :commitment, as: 'commitment' 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 :satisfies_pzs, as: 'satisfiesPzs' 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 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 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 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 :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' 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 ResourcePolicyGroupPlacementPolicy # @private class Representation < Google::Apis::Core::JsonRepresentation property :availability_domain_count, as: 'availabilityDomainCount' property :collocation, as: 'collocation' 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 ResourceStatus # @private class Representation < Google::Apis::Core::JsonRepresentation property :physical_host, as: 'physicalHost' 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_ilb, as: 'nextHopIlb' property :next_hop_instance, as: 'nextHopInstance' property :next_hop_ip, as: 'nextHopIp' property :next_hop_network, as: 'nextHopNetwork' property :next_hop_peering, as: 'nextHopPeering' property :next_hop_vpn_tunnel, as: 'nextHopVpnTunnel' 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 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 :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 :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 property :enable, as: 'enable' property :enable_ipv6, as: 'enableIpv6' property :interface_name, as: 'interfaceName' property :ip_address, as: 'ipAddress' 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_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 RouterInterface # @private class Representation < Google::Apis::Core::JsonRepresentation property :ip_range, as: 'ipRange' 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 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' 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' 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 :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_drain_ips, as: 'sourceNatDrainIps' 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 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_ipv6, as: 'enableIpv6' property :ip_address, as: 'ipAddress' 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_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 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 Rule # @private class Representation < Google::Apis::Core::JsonRepresentation property :action, as: 'action' collection :conditions, as: 'conditions', class: Google::Apis::ComputeV1::Condition, decorator: Google::Apis::ComputeV1::Condition::Representation property :description, as: 'description' collection :ins, as: 'ins' collection :log_configs, as: 'logConfigs', class: Google::Apis::ComputeV1::LogConfig, decorator: Google::Apis::ComputeV1::LogConfig::Representation collection :not_ins, as: 'notIns' collection :permissions, as: 'permissions' 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 :instance_termination_action, as: 'instanceTerminationAction' property :location_hint, as: 'locationHint' 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 :preemptible, as: 'preemptible' property :provisioning_model, as: 'provisioningModel' 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 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 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 :name, as: 'name' 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 :type, as: 'type' 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' 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' end end class SecurityPolicyAdvancedOptionsConfigJsonCustomConfig # @private class Representation < Google::Apis::Core::JsonRepresentation collection :content_types, as: 'contentTypes' 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 :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 :versioned_expr, as: 'versionedExpr' end end class SecurityPolicyRuleMatcherConfig # @private class Representation < Google::Apis::Core::JsonRepresentation collection :src_ip_ranges, as: 'srcIpRanges' 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' 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 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 SecuritySettings # @private class Representation < Google::Apis::Core::JsonRepresentation 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' property :name, as: 'name' collection :nat_subnets, as: 'natSubnets' property :producer_forwarding_rule, as: 'producerForwardingRule' property :psc_service_attachment_id, as: 'pscServiceAttachmentId', class: Google::Apis::ComputeV1::Uint128, decorator: Google::Apis::ComputeV1::Uint128::Representation 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 :endpoint, as: 'endpoint' 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 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 :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 :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 :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_id, as: 'sourceDiskId' 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 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 :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 end end class StatefulPolicyPreservedStateDiskDevice # @private class Representation < Google::Apis::Core::JsonRepresentation property :auto_delete, as: 'autoDelete' end end class Subnetwork # @private class Representation < Google::Apis::Core::JsonRepresentation 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 :ipv6_access_type, as: 'ipv6AccessType' property :ipv6_cidr_range, as: 'ipv6CidrRange' 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 :private_ip_google_access, as: 'privateIpGoogleAccess' property :private_ipv6_google_access, as: 'privateIpv6GoogleAccess' property :purpose, as: 'purpose' property :region, as: 'region' 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' 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 SubnetworkSecondaryRange # @private class Representation < Google::Apis::Core::JsonRepresentation property :ip_cidr_range, as: 'ipCidrRange' property :range_name, as: 'rangeName' 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 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 :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 :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 :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 :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 :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 :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 UrlMap # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_timestamp, as: 'creationTimestamp' 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' 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' property :self_link, as: 'selfLink' 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 :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' 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 :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' 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 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 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' 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 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 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.57.0/lib/google/apis/compute_v1.rb0000644000175000017500000000403714410330657022441 0ustar vinayvinay# 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.57.0/.yardopts0000644000175000017500000000035614410330657016722 0ustar vinayvinay--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.57.0/google-apis-compute_v1.gemspec0000644000175000017500000000505514410330657022710 0ustar vinayvinay######################################################### # This file has been automatically generated by gem2tgz # ######################################################### # -*- encoding: utf-8 -*- # stub: google-apis-compute_v1 0.57.0 ruby lib Gem::Specification.new do |s| s.name = "google-apis-compute_v1".freeze s.version = "0.57.0" 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.57.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 = "2023-01-04" 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(">= 2.5".freeze) s.rubygems_version = "3.3.15".freeze s.summary = "Simple REST client for Compute Engine API V1".freeze if s.respond_to? :specification_version then s.specification_version = 4 end if s.respond_to? :add_runtime_dependency then s.add_runtime_dependency(%q.freeze, [">= 0.9.1", "< 2.a"]) else s.add_dependency(%q.freeze, [">= 0.9.1", "< 2.a"]) end end