google-apis-dns-v1-0.12.0/0000755000175000017500000000000014360602034014142 5ustar vinayvinaygoogle-apis-dns-v1-0.12.0/.yardopts0000644000175000017500000000034214360602034016007 0ustar vinayvinay--hide-void-return --no-private --verbose --title=google-apis-dns_v1 --markup-provider=redcarpet --markup=markdown --main OVERVIEW.md lib/google/apis/dns_v1/*.rb lib/google/apis/dns_v1.rb - OVERVIEW.md CHANGELOG.md LICENSE.md google-apis-dns-v1-0.12.0/LICENSE.md0000644000175000017500000002636114360602034015556 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-dns-v1-0.12.0/google-apis-dns_v1.gemspec0000644000175000017500000000476214360602034021116 0ustar vinayvinay######################################################### # This file has been automatically generated by gem2tgz # ######################################################### # -*- encoding: utf-8 -*- # stub: google-apis-dns_v1 0.12.0 ruby lib Gem::Specification.new do |s| s.name = "google-apis-dns_v1".freeze s.version = "0.12.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/master/generated/google-apis-dns_v1/CHANGELOG.md", "documentation_uri" => "https://googleapis.dev/ruby/google-apis-dns_v1/v0.12.0", "source_code_uri" => "https://github.com/googleapis/google-api-ruby-client/tree/master/generated/google-apis-dns_v1" } if s.respond_to? :metadata= s.require_paths = ["lib".freeze] s.authors = ["Google LLC".freeze] s.date = "2021-07-05" s.description = "This is the simple REST client for Cloud DNS 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 Cloud DNS 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-dns_v1.rb".freeze, "lib/google/apis/dns_v1.rb".freeze, "lib/google/apis/dns_v1/classes.rb".freeze, "lib/google/apis/dns_v1/gem_version.rb".freeze, "lib/google/apis/dns_v1/representations.rb".freeze, "lib/google/apis/dns_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 Cloud DNS 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.4", "< 2.a"]) else s.add_dependency(%q.freeze, [">= 0.4", "< 2.a"]) end end google-apis-dns-v1-0.12.0/OVERVIEW.md0000644000175000017500000001357714360602034015747 0ustar vinayvinay# Simple REST client for version V1 of the Cloud DNS API This is a simple client library for version V1 of the Cloud DNS 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/dns.googleapis.com) in the console. ### Installation Add this line to your application's Gemfile: ```ruby gem 'google-apis-dns_v1', '~> 0.1' ``` And then execute: ``` $ bundle ``` Or install it yourself as: ``` $ gem install google-apis-dns_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/dns_v1" # Create a client object client = Google::Apis::DnsV1::DnsService.new # Authenticate calls client.authentication = # ... 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/master/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/master/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 Dns service in particular.) For reference information on specific calls in the Cloud DNS API, see the {Google::Apis::DnsV1::DnsService 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-dns_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/dns/docs) 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-dns-v1-0.12.0/CHANGELOG.md0000644000175000017500000000211714360602034015754 0ustar vinayvinay# Release history for google-apis-dns_v1 ### v0.12.0 (2021-06-29) * Regenerated using generator version 0.4.0 ### v0.11.0 (2021-06-24) * Regenerated using generator version 0.3.0 ### v0.10.0 (2021-05-19) * Unspecified changes ### v0.9.0 (2021-04-29) * Regenerated from discovery document revision 20210423 ### v0.8.0 (2021-03-29) * Regenerated from discovery document revision 20210319 ### v0.7.0 (2021-03-22) * Regenerated from discovery document revision 20210314 ### v0.6.0 (2021-03-17) * Regenerated from discovery document revision 20210309 ### v0.5.0 (2021-03-08) * Regenerated from discovery document revision 20210303 * Regenerated using generator version 0.2.0 ### v0.4.0 (2021-03-04) * Regenerated from discovery document revision 20210227 ### v0.3.0 (2021-02-23) * Regenerated from discovery document revision 20210213 ### v0.2.0 (2021-02-11) * Regenerated from discovery document revision 20210204 * 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 20201127 google-apis-dns-v1-0.12.0/lib/0000755000175000017500000000000014360602034014710 5ustar vinayvinaygoogle-apis-dns-v1-0.12.0/lib/google/0000755000175000017500000000000014360602034016164 5ustar vinayvinaygoogle-apis-dns-v1-0.12.0/lib/google/apis/0000755000175000017500000000000014360602034017120 5ustar vinayvinaygoogle-apis-dns-v1-0.12.0/lib/google/apis/dns_v1.rb0000644000175000017500000000315114360602034020637 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/dns_v1/service.rb' require 'google/apis/dns_v1/classes.rb' require 'google/apis/dns_v1/representations.rb' require 'google/apis/dns_v1/gem_version.rb' module Google module Apis # Cloud DNS API # # # # @see https://cloud.google.com/dns/docs module DnsV1 # Version of the Cloud DNS API this client connects to. # This is NOT the gem version. VERSION = 'V1' # See, edit, configure, and delete your Google Cloud Platform data AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform' # View your data across Google Cloud Platform services AUTH_CLOUD_PLATFORM_READ_ONLY = 'https://www.googleapis.com/auth/cloud-platform.read-only' # View your DNS records hosted by Google Cloud DNS AUTH_NDEV_CLOUDDNS_READONLY = 'https://www.googleapis.com/auth/ndev.clouddns.readonly' # View and manage your DNS records hosted by Google Cloud DNS AUTH_NDEV_CLOUDDNS_READWRITE = 'https://www.googleapis.com/auth/ndev.clouddns.readwrite' end end end google-apis-dns-v1-0.12.0/lib/google/apis/dns_v1/0000755000175000017500000000000014360602034020312 5ustar vinayvinaygoogle-apis-dns-v1-0.12.0/lib/google/apis/dns_v1/gem_version.rb0000644000175000017500000000162714360602034023162 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 DnsV1 # Version of the google-apis-dns_v1 gem GEM_VERSION = "0.12.0" # Version of the code generator used to generate this client GENERATOR_VERSION = "0.4.0" # Revision of the discovery document this client was generated from REVISION = "20210423" end end end google-apis-dns-v1-0.12.0/lib/google/apis/dns_v1/representations.rb0000644000175000017500000006074014360602034024073 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 DnsV1 class Change class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ListChangesResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DnsKey class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DnsKeyDigest class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DnsKeySpec class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class DnsKeysListResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ManagedZone class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ManagedZoneDnsSecConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ManagedZoneForwardingConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ManagedZoneForwardingConfigNameServerTarget class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ManagedZoneOperationsListResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ManagedZonePeeringConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ManagedZonePeeringConfigTargetNetwork class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ManagedZonePrivateVisibilityConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ManagedZonePrivateVisibilityConfigNetwork class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ManagedZoneReverseLookupConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ManagedZoneServiceDirectoryConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ManagedZoneServiceDirectoryConfigNamespace class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ListManagedZonesResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Operation class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class OperationDnsKeyContext class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class OperationManagedZoneContext class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PoliciesListResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PoliciesPatchResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PoliciesUpdateResponse 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 PolicyAlternativeNameServerConfig class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PolicyAlternativeNameServerConfigTargetNameServer class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class PolicyNetwork 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 Quota class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourceRecordSet class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResourceRecordSetsDeleteResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ListResourceRecordSetsResponse class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class ResponseHeader class Representation < Google::Apis::Core::JsonRepresentation; end include Google::Apis::Core::JsonObjectSupport end class Change # @private class Representation < Google::Apis::Core::JsonRepresentation collection :additions, as: 'additions', class: Google::Apis::DnsV1::ResourceRecordSet, decorator: Google::Apis::DnsV1::ResourceRecordSet::Representation collection :deletions, as: 'deletions', class: Google::Apis::DnsV1::ResourceRecordSet, decorator: Google::Apis::DnsV1::ResourceRecordSet::Representation property :id, as: 'id' property :is_serving, as: 'isServing' property :kind, as: 'kind' property :start_time, as: 'startTime' property :status, as: 'status' end end class ListChangesResponse # @private class Representation < Google::Apis::Core::JsonRepresentation collection :changes, as: 'changes', class: Google::Apis::DnsV1::Change, decorator: Google::Apis::DnsV1::Change::Representation property :header, as: 'header', class: Google::Apis::DnsV1::ResponseHeader, decorator: Google::Apis::DnsV1::ResponseHeader::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' end end class DnsKey # @private class Representation < Google::Apis::Core::JsonRepresentation property :algorithm, as: 'algorithm' property :creation_time, as: 'creationTime' property :description, as: 'description' collection :digests, as: 'digests', class: Google::Apis::DnsV1::DnsKeyDigest, decorator: Google::Apis::DnsV1::DnsKeyDigest::Representation property :id, as: 'id' property :is_active, as: 'isActive' property :key_length, as: 'keyLength' property :key_tag, as: 'keyTag' property :kind, as: 'kind' property :public_key, as: 'publicKey' property :type, as: 'type' end end class DnsKeyDigest # @private class Representation < Google::Apis::Core::JsonRepresentation property :digest, as: 'digest' property :type, as: 'type' end end class DnsKeySpec # @private class Representation < Google::Apis::Core::JsonRepresentation property :algorithm, as: 'algorithm' property :key_length, as: 'keyLength' property :key_type, as: 'keyType' property :kind, as: 'kind' end end class DnsKeysListResponse # @private class Representation < Google::Apis::Core::JsonRepresentation collection :dns_keys, as: 'dnsKeys', class: Google::Apis::DnsV1::DnsKey, decorator: Google::Apis::DnsV1::DnsKey::Representation property :header, as: 'header', class: Google::Apis::DnsV1::ResponseHeader, decorator: Google::Apis::DnsV1::ResponseHeader::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' end end class ManagedZone # @private class Representation < Google::Apis::Core::JsonRepresentation property :creation_time, as: 'creationTime' property :description, as: 'description' property :dns_name, as: 'dnsName' property :dnssec_config, as: 'dnssecConfig', class: Google::Apis::DnsV1::ManagedZoneDnsSecConfig, decorator: Google::Apis::DnsV1::ManagedZoneDnsSecConfig::Representation property :forwarding_config, as: 'forwardingConfig', class: Google::Apis::DnsV1::ManagedZoneForwardingConfig, decorator: Google::Apis::DnsV1::ManagedZoneForwardingConfig::Representation property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' hash :labels, as: 'labels' property :name, as: 'name' property :name_server_set, as: 'nameServerSet' collection :name_servers, as: 'nameServers' property :peering_config, as: 'peeringConfig', class: Google::Apis::DnsV1::ManagedZonePeeringConfig, decorator: Google::Apis::DnsV1::ManagedZonePeeringConfig::Representation property :private_visibility_config, as: 'privateVisibilityConfig', class: Google::Apis::DnsV1::ManagedZonePrivateVisibilityConfig, decorator: Google::Apis::DnsV1::ManagedZonePrivateVisibilityConfig::Representation property :reverse_lookup_config, as: 'reverseLookupConfig', class: Google::Apis::DnsV1::ManagedZoneReverseLookupConfig, decorator: Google::Apis::DnsV1::ManagedZoneReverseLookupConfig::Representation property :service_directory_config, as: 'serviceDirectoryConfig', class: Google::Apis::DnsV1::ManagedZoneServiceDirectoryConfig, decorator: Google::Apis::DnsV1::ManagedZoneServiceDirectoryConfig::Representation property :visibility, as: 'visibility' end end class ManagedZoneDnsSecConfig # @private class Representation < Google::Apis::Core::JsonRepresentation collection :default_key_specs, as: 'defaultKeySpecs', class: Google::Apis::DnsV1::DnsKeySpec, decorator: Google::Apis::DnsV1::DnsKeySpec::Representation property :kind, as: 'kind' property :non_existence, as: 'nonExistence' property :state, as: 'state' end end class ManagedZoneForwardingConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :kind, as: 'kind' collection :target_name_servers, as: 'targetNameServers', class: Google::Apis::DnsV1::ManagedZoneForwardingConfigNameServerTarget, decorator: Google::Apis::DnsV1::ManagedZoneForwardingConfigNameServerTarget::Representation end end class ManagedZoneForwardingConfigNameServerTarget # @private class Representation < Google::Apis::Core::JsonRepresentation property :forwarding_path, as: 'forwardingPath' property :ipv4_address, as: 'ipv4Address' property :kind, as: 'kind' end end class ManagedZoneOperationsListResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :header, as: 'header', class: Google::Apis::DnsV1::ResponseHeader, decorator: Google::Apis::DnsV1::ResponseHeader::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' collection :operations, as: 'operations', class: Google::Apis::DnsV1::Operation, decorator: Google::Apis::DnsV1::Operation::Representation end end class ManagedZonePeeringConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :kind, as: 'kind' property :target_network, as: 'targetNetwork', class: Google::Apis::DnsV1::ManagedZonePeeringConfigTargetNetwork, decorator: Google::Apis::DnsV1::ManagedZonePeeringConfigTargetNetwork::Representation end end class ManagedZonePeeringConfigTargetNetwork # @private class Representation < Google::Apis::Core::JsonRepresentation property :deactivate_time, as: 'deactivateTime' property :kind, as: 'kind' property :network_url, as: 'networkUrl' end end class ManagedZonePrivateVisibilityConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :kind, as: 'kind' collection :networks, as: 'networks', class: Google::Apis::DnsV1::ManagedZonePrivateVisibilityConfigNetwork, decorator: Google::Apis::DnsV1::ManagedZonePrivateVisibilityConfigNetwork::Representation end end class ManagedZonePrivateVisibilityConfigNetwork # @private class Representation < Google::Apis::Core::JsonRepresentation property :kind, as: 'kind' property :network_url, as: 'networkUrl' end end class ManagedZoneReverseLookupConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :kind, as: 'kind' end end class ManagedZoneServiceDirectoryConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :kind, as: 'kind' property :namespace, as: 'namespace', class: Google::Apis::DnsV1::ManagedZoneServiceDirectoryConfigNamespace, decorator: Google::Apis::DnsV1::ManagedZoneServiceDirectoryConfigNamespace::Representation end end class ManagedZoneServiceDirectoryConfigNamespace # @private class Representation < Google::Apis::Core::JsonRepresentation property :deletion_time, as: 'deletionTime' property :kind, as: 'kind' property :namespace_url, as: 'namespaceUrl' end end class ListManagedZonesResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :header, as: 'header', class: Google::Apis::DnsV1::ResponseHeader, decorator: Google::Apis::DnsV1::ResponseHeader::Representation property :kind, as: 'kind' collection :managed_zones, as: 'managedZones', class: Google::Apis::DnsV1::ManagedZone, decorator: Google::Apis::DnsV1::ManagedZone::Representation property :next_page_token, as: 'nextPageToken' end end class Operation # @private class Representation < Google::Apis::Core::JsonRepresentation property :dns_key_context, as: 'dnsKeyContext', class: Google::Apis::DnsV1::OperationDnsKeyContext, decorator: Google::Apis::DnsV1::OperationDnsKeyContext::Representation property :id, as: 'id' property :kind, as: 'kind' property :start_time, as: 'startTime' property :status, as: 'status' property :type, as: 'type' property :user, as: 'user' property :zone_context, as: 'zoneContext', class: Google::Apis::DnsV1::OperationManagedZoneContext, decorator: Google::Apis::DnsV1::OperationManagedZoneContext::Representation end end class OperationDnsKeyContext # @private class Representation < Google::Apis::Core::JsonRepresentation property :new_value, as: 'newValue', class: Google::Apis::DnsV1::DnsKey, decorator: Google::Apis::DnsV1::DnsKey::Representation property :old_value, as: 'oldValue', class: Google::Apis::DnsV1::DnsKey, decorator: Google::Apis::DnsV1::DnsKey::Representation end end class OperationManagedZoneContext # @private class Representation < Google::Apis::Core::JsonRepresentation property :new_value, as: 'newValue', class: Google::Apis::DnsV1::ManagedZone, decorator: Google::Apis::DnsV1::ManagedZone::Representation property :old_value, as: 'oldValue', class: Google::Apis::DnsV1::ManagedZone, decorator: Google::Apis::DnsV1::ManagedZone::Representation end end class PoliciesListResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :header, as: 'header', class: Google::Apis::DnsV1::ResponseHeader, decorator: Google::Apis::DnsV1::ResponseHeader::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' collection :policies, as: 'policies', class: Google::Apis::DnsV1::Policy, decorator: Google::Apis::DnsV1::Policy::Representation end end class PoliciesPatchResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :header, as: 'header', class: Google::Apis::DnsV1::ResponseHeader, decorator: Google::Apis::DnsV1::ResponseHeader::Representation property :policy, as: 'policy', class: Google::Apis::DnsV1::Policy, decorator: Google::Apis::DnsV1::Policy::Representation end end class PoliciesUpdateResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :header, as: 'header', class: Google::Apis::DnsV1::ResponseHeader, decorator: Google::Apis::DnsV1::ResponseHeader::Representation property :policy, as: 'policy', class: Google::Apis::DnsV1::Policy, decorator: Google::Apis::DnsV1::Policy::Representation end end class Policy # @private class Representation < Google::Apis::Core::JsonRepresentation property :alternative_name_server_config, as: 'alternativeNameServerConfig', class: Google::Apis::DnsV1::PolicyAlternativeNameServerConfig, decorator: Google::Apis::DnsV1::PolicyAlternativeNameServerConfig::Representation property :description, as: 'description' property :enable_inbound_forwarding, as: 'enableInboundForwarding' property :enable_logging, as: 'enableLogging' property :id, :numeric_string => true, as: 'id' property :kind, as: 'kind' property :name, as: 'name' collection :networks, as: 'networks', class: Google::Apis::DnsV1::PolicyNetwork, decorator: Google::Apis::DnsV1::PolicyNetwork::Representation end end class PolicyAlternativeNameServerConfig # @private class Representation < Google::Apis::Core::JsonRepresentation property :kind, as: 'kind' collection :target_name_servers, as: 'targetNameServers', class: Google::Apis::DnsV1::PolicyAlternativeNameServerConfigTargetNameServer, decorator: Google::Apis::DnsV1::PolicyAlternativeNameServerConfigTargetNameServer::Representation end end class PolicyAlternativeNameServerConfigTargetNameServer # @private class Representation < Google::Apis::Core::JsonRepresentation property :forwarding_path, as: 'forwardingPath' property :ipv4_address, as: 'ipv4Address' property :kind, as: 'kind' end end class PolicyNetwork # @private class Representation < Google::Apis::Core::JsonRepresentation property :kind, as: 'kind' property :network_url, as: 'networkUrl' end end class Project # @private class Representation < Google::Apis::Core::JsonRepresentation property :id, as: 'id' property :kind, as: 'kind' property :number, :numeric_string => true, as: 'number' property :quota, as: 'quota', class: Google::Apis::DnsV1::Quota, decorator: Google::Apis::DnsV1::Quota::Representation end end class Quota # @private class Representation < Google::Apis::Core::JsonRepresentation property :dns_keys_per_managed_zone, as: 'dnsKeysPerManagedZone' property :kind, as: 'kind' property :managed_zones, as: 'managedZones' property :managed_zones_per_network, as: 'managedZonesPerNetwork' property :networks_per_managed_zone, as: 'networksPerManagedZone' property :networks_per_policy, as: 'networksPerPolicy' property :policies, as: 'policies' property :resource_records_per_rrset, as: 'resourceRecordsPerRrset' property :rrset_additions_per_change, as: 'rrsetAdditionsPerChange' property :rrset_deletions_per_change, as: 'rrsetDeletionsPerChange' property :rrsets_per_managed_zone, as: 'rrsetsPerManagedZone' property :target_name_servers_per_managed_zone, as: 'targetNameServersPerManagedZone' property :target_name_servers_per_policy, as: 'targetNameServersPerPolicy' property :total_rrdata_size_per_change, as: 'totalRrdataSizePerChange' collection :whitelisted_key_specs, as: 'whitelistedKeySpecs', class: Google::Apis::DnsV1::DnsKeySpec, decorator: Google::Apis::DnsV1::DnsKeySpec::Representation end end class ResourceRecordSet # @private class Representation < Google::Apis::Core::JsonRepresentation property :kind, as: 'kind' property :name, as: 'name' collection :rrdatas, as: 'rrdatas' collection :signature_rrdatas, as: 'signatureRrdatas' property :ttl, as: 'ttl' property :type, as: 'type' end end class ResourceRecordSetsDeleteResponse # @private class Representation < Google::Apis::Core::JsonRepresentation end end class ListResourceRecordSetsResponse # @private class Representation < Google::Apis::Core::JsonRepresentation property :header, as: 'header', class: Google::Apis::DnsV1::ResponseHeader, decorator: Google::Apis::DnsV1::ResponseHeader::Representation property :kind, as: 'kind' property :next_page_token, as: 'nextPageToken' collection :rrsets, as: 'rrsets', class: Google::Apis::DnsV1::ResourceRecordSet, decorator: Google::Apis::DnsV1::ResourceRecordSet::Representation end end class ResponseHeader # @private class Representation < Google::Apis::Core::JsonRepresentation property :operation_id, as: 'operationId' end end end end end google-apis-dns-v1-0.12.0/lib/google/apis/dns_v1/classes.rb0000644000175000017500000016456214360602034022312 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 DnsV1 # A Change represents a set of ResourceRecordSet additions and deletions applied # atomically to a ManagedZone. ResourceRecordSets within a ManagedZone are # modified by creating a new Change element in the Changes collection. In turn # the Changes collection also records the past modifications to the # ResourceRecordSets in a ManagedZone. The current state of the ManagedZone is # the sum effect of applying all Change elements in the Changes collection in # sequence. class Change include Google::Apis::Core::Hashable # Which ResourceRecordSets to add? # Corresponds to the JSON property `additions` # @return [Array] attr_accessor :additions # Which ResourceRecordSets to remove? Must match existing data exactly. # Corresponds to the JSON property `deletions` # @return [Array] attr_accessor :deletions # Unique identifier for the resource; defined by the server (output only). # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # If the DNS queries for the zone will be served. # Corresponds to the JSON property `isServing` # @return [Boolean] attr_accessor :is_serving alias_method :is_serving?, :is_serving # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The time that this operation was started by the server (output only). This is # in RFC3339 text format. # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time # Status of the operation (output only). A status of "done" means that the # request to update the authoritative servers has been sent, but the servers # might not be updated yet. # 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) @additions = args[:additions] if args.key?(:additions) @deletions = args[:deletions] if args.key?(:deletions) @id = args[:id] if args.key?(:id) @is_serving = args[:is_serving] if args.key?(:is_serving) @kind = args[:kind] if args.key?(:kind) @start_time = args[:start_time] if args.key?(:start_time) @status = args[:status] if args.key?(:status) end end # The response to a request to enumerate Changes to a ResourceRecordSets # collection. class ListChangesResponse include Google::Apis::Core::Hashable # The requested changes. # Corresponds to the JSON property `changes` # @return [Array] attr_accessor :changes # Elements common to every response. # Corresponds to the JSON property `header` # @return [Google::Apis::DnsV1::ResponseHeader] attr_accessor :header # Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The presence of this field indicates that there exist more results following # your last page of results in pagination order. To fetch them, make another # list request using this value as your pagination token. This lets you retrieve # the complete contents of even very large collections one page at a time. # However, if the contents of the collection change between the first and last # paginated list request, the set of all elements returned are an inconsistent # view of the collection. You cannot retrieve a "snapshot" of collections larger # than the maximum page size. # 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) @changes = args[:changes] if args.key?(:changes) @header = args[:header] if args.key?(:header) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # A DNSSEC key pair. class DnsKey include Google::Apis::Core::Hashable # String mnemonic specifying the DNSSEC algorithm of this key. Immutable after # creation time. # Corresponds to the JSON property `algorithm` # @return [String] attr_accessor :algorithm # The time that this resource was created in the control plane. This is in # RFC3339 text format. Output only. # Corresponds to the JSON property `creationTime` # @return [String] attr_accessor :creation_time # A mutable string of at most 1024 characters associated with this resource for # the user's convenience. Has no effect on the resource's function. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Cryptographic hashes of the DNSKEY resource record associated with this DnsKey. # These digests are needed to construct a DS record that points at this DNS key. # Output only. # Corresponds to the JSON property `digests` # @return [Array] attr_accessor :digests # Unique identifier for the resource; defined by the server (output only). # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Active keys are used to sign subsequent changes to the ManagedZone. Inactive # keys are still present as DNSKEY Resource Records for the use of resolvers # validating existing signatures. # Corresponds to the JSON property `isActive` # @return [Boolean] attr_accessor :is_active alias_method :is_active?, :is_active # Length of the key in bits. Specified at creation time, and then immutable. # Corresponds to the JSON property `keyLength` # @return [Fixnum] attr_accessor :key_length # The key tag is a non-cryptographic hash of the a DNSKEY resource record # associated with this DnsKey. The key tag can be used to identify a DNSKEY more # quickly (but it is not a unique identifier). In particular, the key tag is # used in a parent zone's DS record to point at the DNSKEY in this child # ManagedZone. The key tag is a number in the range [0, 65535] and the algorithm # to calculate it is specified in RFC4034 Appendix B. Output only. # Corresponds to the JSON property `keyTag` # @return [Fixnum] attr_accessor :key_tag # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Base64 encoded public half of this key. Output only. # Corresponds to the JSON property `publicKey` # @return [String] attr_accessor :public_key # One of "KEY_SIGNING" or "ZONE_SIGNING". Keys of type KEY_SIGNING have the # Secure Entry Point flag set and, when active, are used to sign only resource # record sets of type DNSKEY. Otherwise, the Secure Entry Point flag is cleared, # and this key is used to sign only resource record sets of other types. # Immutable after 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) @algorithm = args[:algorithm] if args.key?(:algorithm) @creation_time = args[:creation_time] if args.key?(:creation_time) @description = args[:description] if args.key?(:description) @digests = args[:digests] if args.key?(:digests) @id = args[:id] if args.key?(:id) @is_active = args[:is_active] if args.key?(:is_active) @key_length = args[:key_length] if args.key?(:key_length) @key_tag = args[:key_tag] if args.key?(:key_tag) @kind = args[:kind] if args.key?(:kind) @public_key = args[:public_key] if args.key?(:public_key) @type = args[:type] if args.key?(:type) end end # class DnsKeyDigest include Google::Apis::Core::Hashable # The base-16 encoded bytes of this digest. Suitable for use in a DS resource # record. # Corresponds to the JSON property `digest` # @return [String] attr_accessor :digest # Specifies the algorithm used to calculate this digest. # 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) @digest = args[:digest] if args.key?(:digest) @type = args[:type] if args.key?(:type) end end # Parameters for DnsKey key generation. Used for generating initial keys for a # new ManagedZone and as default when adding a new DnsKey. class DnsKeySpec include Google::Apis::Core::Hashable # String mnemonic specifying the DNSSEC algorithm of this key. # Corresponds to the JSON property `algorithm` # @return [String] attr_accessor :algorithm # Length of the keys in bits. # Corresponds to the JSON property `keyLength` # @return [Fixnum] attr_accessor :key_length # Specifies whether this is a key signing key (KSK) or a zone signing key (ZSK). # Key signing keys have the Secure Entry Point flag set and, when active, are # only used to sign resource record sets of type DNSKEY. Zone signing keys do # not have the Secure Entry Point flag set and are used to sign all other types # of resource record sets. # Corresponds to the JSON property `keyType` # @return [String] attr_accessor :key_type # # 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) @algorithm = args[:algorithm] if args.key?(:algorithm) @key_length = args[:key_length] if args.key?(:key_length) @key_type = args[:key_type] if args.key?(:key_type) @kind = args[:kind] if args.key?(:kind) end end # The response to a request to enumerate DnsKeys in a ManagedZone. class DnsKeysListResponse include Google::Apis::Core::Hashable # The requested resources. # Corresponds to the JSON property `dnsKeys` # @return [Array] attr_accessor :dns_keys # Elements common to every response. # Corresponds to the JSON property `header` # @return [Google::Apis::DnsV1::ResponseHeader] attr_accessor :header # Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The presence of this field indicates that there exist more results following # your last page of results in pagination order. To fetch them, make another # list request using this value as your pagination token. In this way you can # retrieve the complete contents of even very large collections one page at a # time. However, if the contents of the collection change between the first and # last paginated list request, the set of all elements returned are an # inconsistent view of the collection. There is no way to retrieve a "snapshot" # of collections larger than the maximum page size. # 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) @dns_keys = args[:dns_keys] if args.key?(:dns_keys) @header = args[:header] if args.key?(:header) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # A zone is a subtree of the DNS namespace under one administrative # responsibility. A ManagedZone is a resource that represents a DNS zone hosted # by the Cloud DNS service. class ManagedZone include Google::Apis::Core::Hashable # The time that this resource was created on the server. This is in RFC3339 text # format. Output only. # Corresponds to the JSON property `creationTime` # @return [String] attr_accessor :creation_time # A mutable string of at most 1024 characters associated with this resource for # the user's convenience. Has no effect on the managed zone's function. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The DNS name of this managed zone, for instance "example.com.". # Corresponds to the JSON property `dnsName` # @return [String] attr_accessor :dns_name # DNSSEC configuration. # Corresponds to the JSON property `dnssecConfig` # @return [Google::Apis::DnsV1::ManagedZoneDnsSecConfig] attr_accessor :dnssec_config # The presence for this field indicates that outbound forwarding is enabled for # this zone. The value of this field contains the set of destinations to forward # to. # Corresponds to the JSON property `forwardingConfig` # @return [Google::Apis::DnsV1::ManagedZoneForwardingConfig] attr_accessor :forwarding_config # Unique identifier for the resource; defined by the server (output only) # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # User labels. # Corresponds to the JSON property `labels` # @return [Hash] attr_accessor :labels # User assigned name for this resource. Must be unique within the project. The # name must be 1-63 characters long, must begin with a letter, end with a letter # or digit, and only contain lowercase letters, digits or dashes. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet # is a set of DNS name servers that all host the same ManagedZones. Most users # leave this field unset. If you need to use this field, contact your account # team. # Corresponds to the JSON property `nameServerSet` # @return [String] attr_accessor :name_server_set # Delegate your managed_zone to these virtual name servers; defined by the # server (output only) # Corresponds to the JSON property `nameServers` # @return [Array] attr_accessor :name_servers # The presence of this field indicates that DNS Peering is enabled for this zone. # The value of this field contains the network to peer with. # Corresponds to the JSON property `peeringConfig` # @return [Google::Apis::DnsV1::ManagedZonePeeringConfig] attr_accessor :peering_config # For privately visible zones, the set of Virtual Private Cloud resources that # the zone is visible from. # Corresponds to the JSON property `privateVisibilityConfig` # @return [Google::Apis::DnsV1::ManagedZonePrivateVisibilityConfig] attr_accessor :private_visibility_config # The presence of this field indicates that this is a managed reverse lookup # zone and Cloud DNS resolves reverse lookup queries using automatically # configured records for VPC resources. This only applies to networks listed # under private_visibility_config. # Corresponds to the JSON property `reverseLookupConfig` # @return [Google::Apis::DnsV1::ManagedZoneReverseLookupConfig] attr_accessor :reverse_lookup_config # Contains information about Service Directory-backed zones. # Corresponds to the JSON property `serviceDirectoryConfig` # @return [Google::Apis::DnsV1::ManagedZoneServiceDirectoryConfig] attr_accessor :service_directory_config # The zone's visibility: public zones are exposed to the Internet, while private # zones are visible only to Virtual Private Cloud resources. # Corresponds to the JSON property `visibility` # @return [String] attr_accessor :visibility def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @creation_time = args[:creation_time] if args.key?(:creation_time) @description = args[:description] if args.key?(:description) @dns_name = args[:dns_name] if args.key?(:dns_name) @dnssec_config = args[:dnssec_config] if args.key?(:dnssec_config) @forwarding_config = args[:forwarding_config] if args.key?(:forwarding_config) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @name_server_set = args[:name_server_set] if args.key?(:name_server_set) @name_servers = args[:name_servers] if args.key?(:name_servers) @peering_config = args[:peering_config] if args.key?(:peering_config) @private_visibility_config = args[:private_visibility_config] if args.key?(:private_visibility_config) @reverse_lookup_config = args[:reverse_lookup_config] if args.key?(:reverse_lookup_config) @service_directory_config = args[:service_directory_config] if args.key?(:service_directory_config) @visibility = args[:visibility] if args.key?(:visibility) end end # class ManagedZoneDnsSecConfig include Google::Apis::Core::Hashable # Specifies parameters for generating initial DnsKeys for this ManagedZone. Can # only be changed while the state is OFF. # Corresponds to the JSON property `defaultKeySpecs` # @return [Array] attr_accessor :default_key_specs # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Specifies the mechanism for authenticated denial-of-existence responses. Can # only be changed while the state is OFF. # Corresponds to the JSON property `nonExistence` # @return [String] attr_accessor :non_existence # Specifies whether DNSSEC is enabled, and what mode it is in. # 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) @default_key_specs = args[:default_key_specs] if args.key?(:default_key_specs) @kind = args[:kind] if args.key?(:kind) @non_existence = args[:non_existence] if args.key?(:non_existence) @state = args[:state] if args.key?(:state) end end # class ManagedZoneForwardingConfig include Google::Apis::Core::Hashable # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # List of target name servers to forward to. Cloud DNS selects the best # available name server if more than one target is given. # Corresponds to the JSON property `targetNameServers` # @return [Array] attr_accessor :target_name_servers def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kind = args[:kind] if args.key?(:kind) @target_name_servers = args[:target_name_servers] if args.key?(:target_name_servers) end end # class ManagedZoneForwardingConfigNameServerTarget include Google::Apis::Core::Hashable # Forwarding path for this NameServerTarget. If unset or set to DEFAULT, Cloud # DNS makes forwarding decisions based on IP address ranges; that is, RFC1918 # addresses go to the VPC network, non-RFC1918 addresses go to the internet. # When set to PRIVATE, Cloud DNS always sends queries through the VPC network # for this target. # Corresponds to the JSON property `forwardingPath` # @return [String] attr_accessor :forwarding_path # IPv4 address of a target name server. # Corresponds to the JSON property `ipv4Address` # @return [String] attr_accessor :ipv4_address # # 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) @forwarding_path = args[:forwarding_path] if args.key?(:forwarding_path) @ipv4_address = args[:ipv4_address] if args.key?(:ipv4_address) @kind = args[:kind] if args.key?(:kind) end end # class ManagedZoneOperationsListResponse include Google::Apis::Core::Hashable # Elements common to every response. # Corresponds to the JSON property `header` # @return [Google::Apis::DnsV1::ResponseHeader] attr_accessor :header # Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The presence of this field indicates that there exist more results following # your last page of results in pagination order. To fetch them, make another # list request using this value as your page token. This lets you retrieve the # complete contents of even very large collections one page at a time. However, # if the contents of the collection change between the first and last paginated # list request, the set of all elements returned are an inconsistent view of the # collection. You cannot retrieve a consistent snapshot of a collection larger # than the maximum page size. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # The operation resources. # Corresponds to the JSON property `operations` # @return [Array] attr_accessor :operations def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @header = args[:header] if args.key?(:header) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @operations = args[:operations] if args.key?(:operations) end end # class ManagedZonePeeringConfig include Google::Apis::Core::Hashable # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The network with which to peer. # Corresponds to the JSON property `targetNetwork` # @return [Google::Apis::DnsV1::ManagedZonePeeringConfigTargetNetwork] attr_accessor :target_network def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kind = args[:kind] if args.key?(:kind) @target_network = args[:target_network] if args.key?(:target_network) end end # class ManagedZonePeeringConfigTargetNetwork include Google::Apis::Core::Hashable # The time at which the zone was deactivated, in RFC 3339 date-time format. An # empty string indicates that the peering connection is active. The producer # network can deactivate a zone. The zone is automatically deactivated if the # producer network that the zone targeted is deleted. Output only. # Corresponds to the JSON property `deactivateTime` # @return [String] attr_accessor :deactivate_time # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The fully qualified URL of the VPC network to forward queries to. This should # be formatted like https://www.googleapis.com/compute/v1/projects/`project`/ # global/networks/`network` # Corresponds to the JSON property `networkUrl` # @return [String] attr_accessor :network_url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @deactivate_time = args[:deactivate_time] if args.key?(:deactivate_time) @kind = args[:kind] if args.key?(:kind) @network_url = args[:network_url] if args.key?(:network_url) end end # class ManagedZonePrivateVisibilityConfig include Google::Apis::Core::Hashable # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The list of VPC networks that can see this zone. # Corresponds to the JSON property `networks` # @return [Array] attr_accessor :networks def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kind = args[:kind] if args.key?(:kind) @networks = args[:networks] if args.key?(:networks) end end # class ManagedZonePrivateVisibilityConfigNetwork include Google::Apis::Core::Hashable # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The fully qualified URL of the VPC network to bind to. Format this URL like # https://www.googleapis.com/compute/v1/projects/`project`/global/networks/` # network` # Corresponds to the JSON property `networkUrl` # @return [String] attr_accessor :network_url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kind = args[:kind] if args.key?(:kind) @network_url = args[:network_url] if args.key?(:network_url) end end # class ManagedZoneReverseLookupConfig include Google::Apis::Core::Hashable # # 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) @kind = args[:kind] if args.key?(:kind) end end # Contains information about Service Directory-backed zones. class ManagedZoneServiceDirectoryConfig include Google::Apis::Core::Hashable # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Contains information about the namespace associated with the zone. # Corresponds to the JSON property `namespace` # @return [Google::Apis::DnsV1::ManagedZoneServiceDirectoryConfigNamespace] attr_accessor :namespace def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kind = args[:kind] if args.key?(:kind) @namespace = args[:namespace] if args.key?(:namespace) end end # class ManagedZoneServiceDirectoryConfigNamespace include Google::Apis::Core::Hashable # The time that the namespace backing this zone was deleted; an empty string if # it still exists. This is in RFC3339 text format. Output only. # Corresponds to the JSON property `deletionTime` # @return [String] attr_accessor :deletion_time # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The fully qualified URL of the namespace associated with the zone. Format must # be https://servicedirectory.googleapis.com/v1/projects/`project`/locations/` # location`/namespaces/`namespace` # Corresponds to the JSON property `namespaceUrl` # @return [String] attr_accessor :namespace_url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @deletion_time = args[:deletion_time] if args.key?(:deletion_time) @kind = args[:kind] if args.key?(:kind) @namespace_url = args[:namespace_url] if args.key?(:namespace_url) end end # class ListManagedZonesResponse include Google::Apis::Core::Hashable # Elements common to every response. # Corresponds to the JSON property `header` # @return [Google::Apis::DnsV1::ResponseHeader] attr_accessor :header # Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The managed zone resources. # Corresponds to the JSON property `managedZones` # @return [Array] attr_accessor :managed_zones # The presence of this field indicates that there exist more results following # your last page of results in pagination order. To fetch them, make another # list request using this value as your page token. This lets you the complete # contents of even very large collections one page at a time. However, if the # contents of the collection change between the first and last paginated list # request, the set of all elements returned are an inconsistent view of the # collection. You cannot retrieve a consistent snapshot of a collection larger # than the maximum page size. # 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) @header = args[:header] if args.key?(:header) @kind = args[:kind] if args.key?(:kind) @managed_zones = args[:managed_zones] if args.key?(:managed_zones) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) end end # An operation represents a successful mutation performed on a Cloud DNS # resource. Operations provide: - An audit log of server resource mutations. - A # way to recover/retry API calls in the case where the response is never # received by the caller. Use the caller specified client_operation_id. class Operation include Google::Apis::Core::Hashable # Only populated if the operation targeted a DnsKey (output only). # Corresponds to the JSON property `dnsKeyContext` # @return [Google::Apis::DnsV1::OperationDnsKeyContext] attr_accessor :dns_key_context # Unique identifier for the resource. This is the client_operation_id if the # client specified it when the mutation was initiated, otherwise, it is # generated by the server. The name must be 1-63 characters long and match the # regular expression [-a-z0-9]? (output only) # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The time that this operation was started by the server. This is in RFC3339 # text format (output only). # Corresponds to the JSON property `startTime` # @return [String] attr_accessor :start_time # Status of the operation. Can be one of the following: "PENDING" or "DONE" ( # output only). A status of "DONE" means that the request to update the # authoritative servers has been sent, but the servers might not be updated yet. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Type of the operation. Operations include insert, update, and delete (output # only). # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # User who requested the operation, for example: user@example.com. cloud-dns- # system for operations automatically done by the system. (output only) # Corresponds to the JSON property `user` # @return [String] attr_accessor :user # Only populated if the operation targeted a ManagedZone (output only). # Corresponds to the JSON property `zoneContext` # @return [Google::Apis::DnsV1::OperationManagedZoneContext] attr_accessor :zone_context def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dns_key_context = args[:dns_key_context] if args.key?(:dns_key_context) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @start_time = args[:start_time] if args.key?(:start_time) @status = args[:status] if args.key?(:status) @type = args[:type] if args.key?(:type) @user = args[:user] if args.key?(:user) @zone_context = args[:zone_context] if args.key?(:zone_context) end end # class OperationDnsKeyContext include Google::Apis::Core::Hashable # A DNSSEC key pair. # Corresponds to the JSON property `newValue` # @return [Google::Apis::DnsV1::DnsKey] attr_accessor :new_value # A DNSSEC key pair. # Corresponds to the JSON property `oldValue` # @return [Google::Apis::DnsV1::DnsKey] attr_accessor :old_value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @new_value = args[:new_value] if args.key?(:new_value) @old_value = args[:old_value] if args.key?(:old_value) end end # class OperationManagedZoneContext include Google::Apis::Core::Hashable # A zone is a subtree of the DNS namespace under one administrative # responsibility. A ManagedZone is a resource that represents a DNS zone hosted # by the Cloud DNS service. # Corresponds to the JSON property `newValue` # @return [Google::Apis::DnsV1::ManagedZone] attr_accessor :new_value # A zone is a subtree of the DNS namespace under one administrative # responsibility. A ManagedZone is a resource that represents a DNS zone hosted # by the Cloud DNS service. # Corresponds to the JSON property `oldValue` # @return [Google::Apis::DnsV1::ManagedZone] attr_accessor :old_value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @new_value = args[:new_value] if args.key?(:new_value) @old_value = args[:old_value] if args.key?(:old_value) end end # class PoliciesListResponse include Google::Apis::Core::Hashable # Elements common to every response. # Corresponds to the JSON property `header` # @return [Google::Apis::DnsV1::ResponseHeader] attr_accessor :header # Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The presence of this field indicates that there exist more results following # your last page of results in pagination order. To fetch them, make another # list request using this value as your page token. This lets you the complete # contents of even very large collections one page at a time. However, if the # contents of the collection change between the first and last paginated list # request, the set of all elements returned are an inconsistent view of the # collection. You cannot retrieve a consistent snapshot of a collection larger # than the maximum page size. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # The policy resources. # Corresponds to the JSON property `policies` # @return [Array] attr_accessor :policies def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @header = args[:header] if args.key?(:header) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @policies = args[:policies] if args.key?(:policies) end end # class PoliciesPatchResponse include Google::Apis::Core::Hashable # Elements common to every response. # Corresponds to the JSON property `header` # @return [Google::Apis::DnsV1::ResponseHeader] attr_accessor :header # A policy is a collection of DNS rules applied to one or more Virtual Private # Cloud resources. # Corresponds to the JSON property `policy` # @return [Google::Apis::DnsV1::Policy] attr_accessor :policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @header = args[:header] if args.key?(:header) @policy = args[:policy] if args.key?(:policy) end end # class PoliciesUpdateResponse include Google::Apis::Core::Hashable # Elements common to every response. # Corresponds to the JSON property `header` # @return [Google::Apis::DnsV1::ResponseHeader] attr_accessor :header # A policy is a collection of DNS rules applied to one or more Virtual Private # Cloud resources. # Corresponds to the JSON property `policy` # @return [Google::Apis::DnsV1::Policy] attr_accessor :policy def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @header = args[:header] if args.key?(:header) @policy = args[:policy] if args.key?(:policy) end end # A policy is a collection of DNS rules applied to one or more Virtual Private # Cloud resources. class Policy include Google::Apis::Core::Hashable # Sets an alternative name server for the associated networks. When specified, # all DNS queries are forwarded to a name server that you choose. Names such as . # internal are not available when an alternative name server is specified. # Corresponds to the JSON property `alternativeNameServerConfig` # @return [Google::Apis::DnsV1::PolicyAlternativeNameServerConfig] attr_accessor :alternative_name_server_config # A mutable string of at most 1024 characters associated with this resource for # the user's convenience. Has no effect on the policy's function. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Allows networks bound to this policy to receive DNS queries sent by VMs or # applications over VPN connections. When enabled, a virtual IP address is # allocated from each of the subnetworks that are bound to this policy. # Corresponds to the JSON property `enableInboundForwarding` # @return [Boolean] attr_accessor :enable_inbound_forwarding alias_method :enable_inbound_forwarding?, :enable_inbound_forwarding # Controls whether logging is enabled for the networks bound to this policy. # Defaults to no logging if not set. # Corresponds to the JSON property `enableLogging` # @return [Boolean] attr_accessor :enable_logging alias_method :enable_logging?, :enable_logging # Unique identifier for the resource; defined by the server (output only). # Corresponds to the JSON property `id` # @return [Fixnum] attr_accessor :id # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # User-assigned name for this policy. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # List of network names specifying networks to which this policy is applied. # Corresponds to the JSON property `networks` # @return [Array] attr_accessor :networks def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @alternative_name_server_config = args[:alternative_name_server_config] if args.key?(:alternative_name_server_config) @description = args[:description] if args.key?(:description) @enable_inbound_forwarding = args[:enable_inbound_forwarding] if args.key?(:enable_inbound_forwarding) @enable_logging = args[:enable_logging] if args.key?(:enable_logging) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @networks = args[:networks] if args.key?(:networks) end end # class PolicyAlternativeNameServerConfig include Google::Apis::Core::Hashable # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Sets an alternative name server for the associated networks. When specified, # all DNS queries are forwarded to a name server that you choose. Names such as . # internal are not available when an alternative name server is specified. # Corresponds to the JSON property `targetNameServers` # @return [Array] attr_accessor :target_name_servers def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kind = args[:kind] if args.key?(:kind) @target_name_servers = args[:target_name_servers] if args.key?(:target_name_servers) end end # class PolicyAlternativeNameServerConfigTargetNameServer include Google::Apis::Core::Hashable # Forwarding path for this TargetNameServer. If unset or set to DEFAULT, Cloud # DNS makes forwarding decisions based on address ranges; that is, RFC1918 # addresses go to the VPC network, non-RFC1918 addresses go to the internet. # When set to PRIVATE, Cloud DNS always sends queries through the VPC network # for this target. # Corresponds to the JSON property `forwardingPath` # @return [String] attr_accessor :forwarding_path # IPv4 address to forward to. # Corresponds to the JSON property `ipv4Address` # @return [String] attr_accessor :ipv4_address # # 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) @forwarding_path = args[:forwarding_path] if args.key?(:forwarding_path) @ipv4_address = args[:ipv4_address] if args.key?(:ipv4_address) @kind = args[:kind] if args.key?(:kind) end end # class PolicyNetwork include Google::Apis::Core::Hashable # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The fully qualified URL of the VPC network to bind to. This should be # formatted like https://www.googleapis.com/compute/v1/projects/`project`/global/ # networks/`network` # Corresponds to the JSON property `networkUrl` # @return [String] attr_accessor :network_url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kind = args[:kind] if args.key?(:kind) @network_url = args[:network_url] if args.key?(:network_url) end end # A project resource. The project is a top level container for resources # including Cloud DNS ManagedZones. Projects can be created only in the APIs # console. Next tag: 7. class Project include Google::Apis::Core::Hashable # User assigned unique identifier for the resource (output only). # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Unique numeric identifier for the resource; defined by the server (output only) # . # Corresponds to the JSON property `number` # @return [Fixnum] attr_accessor :number # Limits associated with a Project. # Corresponds to the JSON property `quota` # @return [Google::Apis::DnsV1::Quota] attr_accessor :quota 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) @number = args[:number] if args.key?(:number) @quota = args[:quota] if args.key?(:quota) end end # Limits associated with a Project. class Quota include Google::Apis::Core::Hashable # Maximum allowed number of DnsKeys per ManagedZone. # Corresponds to the JSON property `dnsKeysPerManagedZone` # @return [Fixnum] attr_accessor :dns_keys_per_managed_zone # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Maximum allowed number of managed zones in the project. # Corresponds to the JSON property `managedZones` # @return [Fixnum] attr_accessor :managed_zones # Maximum allowed number of managed zones which can be attached to a network. # Corresponds to the JSON property `managedZonesPerNetwork` # @return [Fixnum] attr_accessor :managed_zones_per_network # Maximum allowed number of networks to which a privately scoped zone can be # attached. # Corresponds to the JSON property `networksPerManagedZone` # @return [Fixnum] attr_accessor :networks_per_managed_zone # Maximum allowed number of networks per policy. # Corresponds to the JSON property `networksPerPolicy` # @return [Fixnum] attr_accessor :networks_per_policy # Maximum allowed number of policies per project. # Corresponds to the JSON property `policies` # @return [Fixnum] attr_accessor :policies # Maximum allowed number of ResourceRecords per ResourceRecordSet. # Corresponds to the JSON property `resourceRecordsPerRrset` # @return [Fixnum] attr_accessor :resource_records_per_rrset # Maximum allowed number of ResourceRecordSets to add per ChangesCreateRequest. # Corresponds to the JSON property `rrsetAdditionsPerChange` # @return [Fixnum] attr_accessor :rrset_additions_per_change # Maximum allowed number of ResourceRecordSets to delete per # ChangesCreateRequest. # Corresponds to the JSON property `rrsetDeletionsPerChange` # @return [Fixnum] attr_accessor :rrset_deletions_per_change # Maximum allowed number of ResourceRecordSets per zone in the project. # Corresponds to the JSON property `rrsetsPerManagedZone` # @return [Fixnum] attr_accessor :rrsets_per_managed_zone # Maximum allowed number of target name servers per managed forwarding zone. # Corresponds to the JSON property `targetNameServersPerManagedZone` # @return [Fixnum] attr_accessor :target_name_servers_per_managed_zone # Maximum allowed number of alternative target name servers per policy. # Corresponds to the JSON property `targetNameServersPerPolicy` # @return [Fixnum] attr_accessor :target_name_servers_per_policy # Maximum allowed size for total rrdata in one ChangesCreateRequest in bytes. # Corresponds to the JSON property `totalRrdataSizePerChange` # @return [Fixnum] attr_accessor :total_rrdata_size_per_change # DNSSEC algorithm and key length types that can be used for DnsKeys. # Corresponds to the JSON property `whitelistedKeySpecs` # @return [Array] attr_accessor :whitelisted_key_specs def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dns_keys_per_managed_zone = args[:dns_keys_per_managed_zone] if args.key?(:dns_keys_per_managed_zone) @kind = args[:kind] if args.key?(:kind) @managed_zones = args[:managed_zones] if args.key?(:managed_zones) @managed_zones_per_network = args[:managed_zones_per_network] if args.key?(:managed_zones_per_network) @networks_per_managed_zone = args[:networks_per_managed_zone] if args.key?(:networks_per_managed_zone) @networks_per_policy = args[:networks_per_policy] if args.key?(:networks_per_policy) @policies = args[:policies] if args.key?(:policies) @resource_records_per_rrset = args[:resource_records_per_rrset] if args.key?(:resource_records_per_rrset) @rrset_additions_per_change = args[:rrset_additions_per_change] if args.key?(:rrset_additions_per_change) @rrset_deletions_per_change = args[:rrset_deletions_per_change] if args.key?(:rrset_deletions_per_change) @rrsets_per_managed_zone = args[:rrsets_per_managed_zone] if args.key?(:rrsets_per_managed_zone) @target_name_servers_per_managed_zone = args[:target_name_servers_per_managed_zone] if args.key?(:target_name_servers_per_managed_zone) @target_name_servers_per_policy = args[:target_name_servers_per_policy] if args.key?(:target_name_servers_per_policy) @total_rrdata_size_per_change = args[:total_rrdata_size_per_change] if args.key?(:total_rrdata_size_per_change) @whitelisted_key_specs = args[:whitelisted_key_specs] if args.key?(:whitelisted_key_specs) end end # A unit of data that is returned by the DNS servers. class ResourceRecordSet include Google::Apis::Core::Hashable # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # For example, www.example.com. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see # examples. # Corresponds to the JSON property `rrdatas` # @return [Array] attr_accessor :rrdatas # As defined in RFC 4034 (section 3.2). # Corresponds to the JSON property `signatureRrdatas` # @return [Array] attr_accessor :signature_rrdatas # Number of seconds that this ResourceRecordSet can be cached by resolvers. # Corresponds to the JSON property `ttl` # @return [Fixnum] attr_accessor :ttl # The identifier of a supported record type. See the list of Supported DNS # record types. # 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) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @rrdatas = args[:rrdatas] if args.key?(:rrdatas) @signature_rrdatas = args[:signature_rrdatas] if args.key?(:signature_rrdatas) @ttl = args[:ttl] if args.key?(:ttl) @type = args[:type] if args.key?(:type) end end # class ResourceRecordSetsDeleteResponse include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # class ListResourceRecordSetsResponse include Google::Apis::Core::Hashable # Elements common to every response. # Corresponds to the JSON property `header` # @return [Google::Apis::DnsV1::ResponseHeader] attr_accessor :header # Type of resource. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The presence of this field indicates that there exist more results following # your last page of results in pagination order. To fetch them, make another # list request using this value as your pagination token. This lets you retrieve # complete contents of even larger collections, one page at a time. However, if # the contents of the collection change between the first and last paginated # list request, the set of elements returned are an inconsistent view of the # collection. You cannot retrieve a consistent snapshot of a collection larger # than the maximum page size. # Corresponds to the JSON property `nextPageToken` # @return [String] attr_accessor :next_page_token # The resource record set resources. # Corresponds to the JSON property `rrsets` # @return [Array] attr_accessor :rrsets def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @header = args[:header] if args.key?(:header) @kind = args[:kind] if args.key?(:kind) @next_page_token = args[:next_page_token] if args.key?(:next_page_token) @rrsets = args[:rrsets] if args.key?(:rrsets) end end # Elements common to every response. class ResponseHeader include Google::Apis::Core::Hashable # For mutating operation requests that completed successfully. This is the # client_operation_id if the client specified it, otherwise it is generated by # the server (output only). # Corresponds to the JSON property `operationId` # @return [String] attr_accessor :operation_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operation_id = args[:operation_id] if args.key?(:operation_id) end end end end end google-apis-dns-v1-0.12.0/lib/google/apis/dns_v1/service.rb0000644000175000017500000020366314360602034022311 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 DnsV1 # Cloud DNS API # # # # @example # require 'google/apis/dns_v1' # # Dns = Google::Apis::DnsV1 # Alias the module # service = Dns::DnsService.new # # @see https://cloud.google.com/dns/docs class DnsService < 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 def initialize super('https://dns.googleapis.com/', '', client_name: 'google-apis-dns_v1', client_version: Google::Apis::DnsV1::GEM_VERSION) @batch_path = 'batch' end # Atomically updates the ResourceRecordSet collection. # @param [String] project # Identifies the project addressed by this request. # @param [String] managed_zone # Identifies the managed zone addressed by this request. Can be the managed zone # name or ID. # @param [Google::Apis::DnsV1::Change] change_object # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::Change] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::Change] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_change(project, managed_zone, change_object = nil, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'dns/v1/projects/{project}/managedZones/{managedZone}/changes', options) command.request_representation = Google::Apis::DnsV1::Change::Representation command.request_object = change_object command.response_representation = Google::Apis::DnsV1::Change::Representation command.response_class = Google::Apis::DnsV1::Change command.params['project'] = project unless project.nil? command.params['managedZone'] = managed_zone unless managed_zone.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Fetches the representation of an existing Change. # @param [String] project # Identifies the project addressed by this request. # @param [String] managed_zone # Identifies the managed zone addressed by this request. Can be the managed zone # name or ID. # @param [String] change_id # The identifier of the requested change, from a previous # ResourceRecordSetsChangeResponse. # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::Change] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::Change] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_change(project, managed_zone, change_id, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'dns/v1/projects/{project}/managedZones/{managedZone}/changes/{changeId}', options) command.response_representation = Google::Apis::DnsV1::Change::Representation command.response_class = Google::Apis::DnsV1::Change command.params['project'] = project unless project.nil? command.params['managedZone'] = managed_zone unless managed_zone.nil? command.params['changeId'] = change_id unless change_id.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Enumerates Changes to a ResourceRecordSet collection. # @param [String] project # Identifies the project addressed by this request. # @param [String] managed_zone # Identifies the managed zone addressed by this request. Can be the managed zone # name or ID. # @param [Fixnum] max_results # Optional. Maximum number of results to be returned. If unspecified, the server # decides how many results to return. # @param [String] page_token # Optional. A tag returned by a previous list request that was truncated. Use # this parameter to continue a previous list request. # @param [String] sort_by # Sorting criterion. The only supported value is change sequence. # @param [String] sort_order # Sorting order direction: 'ascending' or 'descending'. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::ListChangesResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::ListChangesResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_changes(project, managed_zone, max_results: nil, page_token: nil, sort_by: nil, sort_order: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'dns/v1/projects/{project}/managedZones/{managedZone}/changes', options) command.response_representation = Google::Apis::DnsV1::ListChangesResponse::Representation command.response_class = Google::Apis::DnsV1::ListChangesResponse command.params['project'] = project unless project.nil? command.params['managedZone'] = managed_zone unless managed_zone.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['sortBy'] = sort_by unless sort_by.nil? command.query['sortOrder'] = sort_order unless sort_order.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Fetches the representation of an existing DnsKey. # @param [String] project # Identifies the project addressed by this request. # @param [String] managed_zone # Identifies the managed zone addressed by this request. Can be the managed zone # name or ID. # @param [String] dns_key_id # The identifier of the requested DnsKey. # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] digest_type # An optional comma-separated list of digest types to compute and display for # key signing keys. If omitted, the recommended digest type is computed and # displayed. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::DnsKey] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::DnsKey] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_dns_key(project, managed_zone, dns_key_id, client_operation_id: nil, digest_type: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'dns/v1/projects/{project}/managedZones/{managedZone}/dnsKeys/{dnsKeyId}', options) command.response_representation = Google::Apis::DnsV1::DnsKey::Representation command.response_class = Google::Apis::DnsV1::DnsKey command.params['project'] = project unless project.nil? command.params['managedZone'] = managed_zone unless managed_zone.nil? command.params['dnsKeyId'] = dns_key_id unless dns_key_id.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['digestType'] = digest_type unless digest_type.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Enumerates DnsKeys to a ResourceRecordSet collection. # @param [String] project # Identifies the project addressed by this request. # @param [String] managed_zone # Identifies the managed zone addressed by this request. Can be the managed zone # name or ID. # @param [String] digest_type # An optional comma-separated list of digest types to compute and display for # key signing keys. If omitted, the recommended digest type is computed and # displayed. # @param [Fixnum] max_results # Optional. Maximum number of results to be returned. If unspecified, the server # decides how many results to return. # @param [String] page_token # Optional. A tag returned by a previous list request that was truncated. Use # this parameter to continue a previous list 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 [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::DnsKeysListResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::DnsKeysListResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_dns_keys(project, managed_zone, digest_type: nil, max_results: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'dns/v1/projects/{project}/managedZones/{managedZone}/dnsKeys', options) command.response_representation = Google::Apis::DnsV1::DnsKeysListResponse::Representation command.response_class = Google::Apis::DnsV1::DnsKeysListResponse command.params['project'] = project unless project.nil? command.params['managedZone'] = managed_zone unless managed_zone.nil? command.query['digestType'] = digest_type unless digest_type.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Fetches the representation of an existing Operation. # @param [String] project # Identifies the project addressed by this request. # @param [String] managed_zone # Identifies the managed zone addressed by this request. # @param [String] operation # Identifies the operation addressed by this request (ID of the operation). # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_managed_zone_operation(project, managed_zone, operation, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'dns/v1/projects/{project}/managedZones/{managedZone}/operations/{operation}', options) command.response_representation = Google::Apis::DnsV1::Operation::Representation command.response_class = Google::Apis::DnsV1::Operation command.params['project'] = project unless project.nil? command.params['managedZone'] = managed_zone unless managed_zone.nil? command.params['operation'] = operation unless operation.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Enumerates Operations for the given ManagedZone. # @param [String] project # Identifies the project addressed by this request. # @param [String] managed_zone # Identifies the managed zone addressed by this request. # @param [Fixnum] max_results # Optional. Maximum number of results to be returned. If unspecified, the server # decides how many results to return. # @param [String] page_token # Optional. A tag returned by a previous list request that was truncated. Use # this parameter to continue a previous list request. # @param [String] sort_by # Sorting criterion. The only supported values are START_TIME and ID. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::ManagedZoneOperationsListResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::ManagedZoneOperationsListResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_managed_zone_operations(project, managed_zone, max_results: nil, page_token: nil, sort_by: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'dns/v1/projects/{project}/managedZones/{managedZone}/operations', options) command.response_representation = Google::Apis::DnsV1::ManagedZoneOperationsListResponse::Representation command.response_class = Google::Apis::DnsV1::ManagedZoneOperationsListResponse command.params['project'] = project unless project.nil? command.params['managedZone'] = managed_zone unless managed_zone.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['sortBy'] = sort_by unless sort_by.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Creates a new ManagedZone. # @param [String] project # Identifies the project addressed by this request. # @param [Google::Apis::DnsV1::ManagedZone] managed_zone_object # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::ManagedZone] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::ManagedZone] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_managed_zone(project, managed_zone_object = nil, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'dns/v1/projects/{project}/managedZones', options) command.request_representation = Google::Apis::DnsV1::ManagedZone::Representation command.request_object = managed_zone_object command.response_representation = Google::Apis::DnsV1::ManagedZone::Representation command.response_class = Google::Apis::DnsV1::ManagedZone command.params['project'] = project unless project.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Deletes a previously created ManagedZone. # @param [String] project # Identifies the project addressed by this request. # @param [String] managed_zone # Identifies the managed zone addressed by this request. Can be the managed zone # name or ID. # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @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_managed_zone(project, managed_zone, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:delete, 'dns/v1/projects/{project}/managedZones/{managedZone}', options) command.params['project'] = project unless project.nil? command.params['managedZone'] = managed_zone unless managed_zone.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Fetches the representation of an existing ManagedZone. # @param [String] project # Identifies the project addressed by this request. # @param [String] managed_zone # Identifies the managed zone addressed by this request. Can be the managed zone # name or ID. # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::ManagedZone] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::ManagedZone] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def get_managed_zone(project, managed_zone, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'dns/v1/projects/{project}/managedZones/{managedZone}', options) command.response_representation = Google::Apis::DnsV1::ManagedZone::Representation command.response_class = Google::Apis::DnsV1::ManagedZone command.params['project'] = project unless project.nil? command.params['managedZone'] = managed_zone unless managed_zone.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Enumerates ManagedZones that have been created but not yet deleted. # @param [String] project # Identifies the project addressed by this request. # @param [String] dns_name # Restricts the list to return only zones with this domain name. # @param [Fixnum] max_results # Optional. Maximum number of results to be returned. If unspecified, the server # decides how many results to return. # @param [String] page_token # Optional. A tag returned by a previous list request that was truncated. Use # this parameter to continue a previous list 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 [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::ListManagedZonesResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::ListManagedZonesResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_managed_zones(project, dns_name: nil, max_results: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'dns/v1/projects/{project}/managedZones', options) command.response_representation = Google::Apis::DnsV1::ListManagedZonesResponse::Representation command.response_class = Google::Apis::DnsV1::ListManagedZonesResponse command.params['project'] = project unless project.nil? command.query['dnsName'] = dns_name unless dns_name.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Applies a partial update to an existing ManagedZone. # @param [String] project # Identifies the project addressed by this request. # @param [String] managed_zone # Identifies the managed zone addressed by this request. Can be the managed zone # name or ID. # @param [Google::Apis::DnsV1::ManagedZone] managed_zone_object # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_managed_zone(project, managed_zone, managed_zone_object = nil, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:patch, 'dns/v1/projects/{project}/managedZones/{managedZone}', options) command.request_representation = Google::Apis::DnsV1::ManagedZone::Representation command.request_object = managed_zone_object command.response_representation = Google::Apis::DnsV1::Operation::Representation command.response_class = Google::Apis::DnsV1::Operation command.params['project'] = project unless project.nil? command.params['managedZone'] = managed_zone unless managed_zone.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Updates an existing ManagedZone. # @param [String] project # Identifies the project addressed by this request. # @param [String] managed_zone # Identifies the managed zone addressed by this request. Can be the managed zone # name or ID. # @param [Google::Apis::DnsV1::ManagedZone] managed_zone_object # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::Operation] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::Operation] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_managed_zone(project, managed_zone, managed_zone_object = nil, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:put, 'dns/v1/projects/{project}/managedZones/{managedZone}', options) command.request_representation = Google::Apis::DnsV1::ManagedZone::Representation command.request_object = managed_zone_object command.response_representation = Google::Apis::DnsV1::Operation::Representation command.response_class = Google::Apis::DnsV1::Operation command.params['project'] = project unless project.nil? command.params['managedZone'] = managed_zone unless managed_zone.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Creates a new Policy. # @param [String] project # Identifies the project addressed by this request. # @param [Google::Apis::DnsV1::Policy] policy_object # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::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 create_policy(project, policy_object = nil, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'dns/v1/projects/{project}/policies', options) command.request_representation = Google::Apis::DnsV1::Policy::Representation command.request_object = policy_object command.response_representation = Google::Apis::DnsV1::Policy::Representation command.response_class = Google::Apis::DnsV1::Policy command.params['project'] = project unless project.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Deletes a previously created Policy. Fails if the policy is still being # referenced by a network. # @param [String] project # Identifies the project addressed by this request. # @param [String] policy # User given friendly name of the policy addressed by this request. # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @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_policy(project, policy, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:delete, 'dns/v1/projects/{project}/policies/{policy}', options) command.params['project'] = project unless project.nil? command.params['policy'] = policy unless policy.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Fetches the representation of an existing Policy. # @param [String] project # Identifies the project addressed by this request. # @param [String] policy # User given friendly name of the policy addressed by this request. # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::Policy] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::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_policy(project, policy, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'dns/v1/projects/{project}/policies/{policy}', options) command.response_representation = Google::Apis::DnsV1::Policy::Representation command.response_class = Google::Apis::DnsV1::Policy command.params['project'] = project unless project.nil? command.params['policy'] = policy unless policy.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Enumerates all Policies associated with a project. # @param [String] project # Identifies the project addressed by this request. # @param [Fixnum] max_results # Optional. Maximum number of results to be returned. If unspecified, the server # decides how many results to return. # @param [String] page_token # Optional. A tag returned by a previous list request that was truncated. Use # this parameter to continue a previous list 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 [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::PoliciesListResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::PoliciesListResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification # @raise [Google::Apis::AuthorizationError] Authorization is required def list_policies(project, max_results: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'dns/v1/projects/{project}/policies', options) command.response_representation = Google::Apis::DnsV1::PoliciesListResponse::Representation command.response_class = Google::Apis::DnsV1::PoliciesListResponse command.params['project'] = project unless project.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Applies a partial update to an existing Policy. # @param [String] project # Identifies the project addressed by this request. # @param [String] policy # User given friendly name of the policy addressed by this request. # @param [Google::Apis::DnsV1::Policy] policy_object # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::PoliciesPatchResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::PoliciesPatchResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_policy(project, policy, policy_object = nil, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:patch, 'dns/v1/projects/{project}/policies/{policy}', options) command.request_representation = Google::Apis::DnsV1::Policy::Representation command.request_object = policy_object command.response_representation = Google::Apis::DnsV1::PoliciesPatchResponse::Representation command.response_class = Google::Apis::DnsV1::PoliciesPatchResponse command.params['project'] = project unless project.nil? command.params['policy'] = policy unless policy.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Updates an existing Policy. # @param [String] project # Identifies the project addressed by this request. # @param [String] policy # User given friendly name of the policy addressed by this request. # @param [Google::Apis::DnsV1::Policy] policy_object # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::PoliciesUpdateResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::PoliciesUpdateResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_policy(project, policy, policy_object = nil, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:put, 'dns/v1/projects/{project}/policies/{policy}', options) command.request_representation = Google::Apis::DnsV1::Policy::Representation command.request_object = policy_object command.response_representation = Google::Apis::DnsV1::PoliciesUpdateResponse::Representation command.response_class = Google::Apis::DnsV1::PoliciesUpdateResponse command.params['project'] = project unless project.nil? command.params['policy'] = policy unless policy.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Fetches the representation of an existing Project. # @param [String] project # Identifies the project addressed by this request. # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::Project] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::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, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'dns/v1/projects/{project}', options) command.response_representation = Google::Apis::DnsV1::Project::Representation command.response_class = Google::Apis::DnsV1::Project command.params['project'] = project unless project.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Creates a new ResourceRecordSet. # @param [String] project # Identifies the project addressed by this request. # @param [String] managed_zone # Identifies the managed zone addressed by this request. Can be the managed zone # name or ID. # @param [Google::Apis::DnsV1::ResourceRecordSet] resource_record_set_object # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::ResourceRecordSet] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::ResourceRecordSet] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_project_managed_zone_rrset(project, managed_zone, resource_record_set_object = nil, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:post, 'dns/v1/projects/{project}/managedZones/{managedZone}/rrsets', options) command.request_representation = Google::Apis::DnsV1::ResourceRecordSet::Representation command.request_object = resource_record_set_object command.response_representation = Google::Apis::DnsV1::ResourceRecordSet::Representation command.response_class = Google::Apis::DnsV1::ResourceRecordSet command.params['project'] = project unless project.nil? command.params['managedZone'] = managed_zone unless managed_zone.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Deletes a previously created ResourceRecordSet. # @param [String] project # Identifies the project addressed by this request. # @param [String] managed_zone # Identifies the managed zone addressed by this request. Can be the managed zone # name or ID. # @param [String] name # Fully qualified domain name. # @param [String] type # RRSet type. # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::ResourceRecordSetsDeleteResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::ResourceRecordSetsDeleteResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_project_managed_zone_rrset(project, managed_zone, name, type, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:delete, 'dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}', options) command.response_representation = Google::Apis::DnsV1::ResourceRecordSetsDeleteResponse::Representation command.response_class = Google::Apis::DnsV1::ResourceRecordSetsDeleteResponse command.params['project'] = project unless project.nil? command.params['managedZone'] = managed_zone unless managed_zone.nil? command.params['name'] = name unless name.nil? command.params['type'] = type unless type.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Fetches the representation of an existing ResourceRecordSet. # @param [String] project # Identifies the project addressed by this request. # @param [String] managed_zone # Identifies the managed zone addressed by this request. Can be the managed zone # name or ID. # @param [String] name # Fully qualified domain name. # @param [String] type # RRSet type. # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::ResourceRecordSet] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::ResourceRecordSet] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @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_managed_zone_rrset(project, managed_zone, name, type, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}', options) command.response_representation = Google::Apis::DnsV1::ResourceRecordSet::Representation command.response_class = Google::Apis::DnsV1::ResourceRecordSet command.params['project'] = project unless project.nil? command.params['managedZone'] = managed_zone unless managed_zone.nil? command.params['name'] = name unless name.nil? command.params['type'] = type unless type.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Applies a partial update to an existing ResourceRecordSet. # @param [String] project # Identifies the project addressed by this request. # @param [String] managed_zone # Identifies the managed zone addressed by this request. Can be the managed zone # name or ID. # @param [String] name # Fully qualified domain name. # @param [String] type # RRSet type. # @param [Google::Apis::DnsV1::ResourceRecordSet] resource_record_set_object # @param [String] client_operation_id # For mutating operation requests only. An optional identifier specified by the # client. Must be unique for operation resources in the Operations collection. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::ResourceRecordSet] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::ResourceRecordSet] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be 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_project_managed_zone_rrset(project, managed_zone, name, type, resource_record_set_object = nil, client_operation_id: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:patch, 'dns/v1/projects/{project}/managedZones/{managedZone}/rrsets/{name}/{type}', options) command.request_representation = Google::Apis::DnsV1::ResourceRecordSet::Representation command.request_object = resource_record_set_object command.response_representation = Google::Apis::DnsV1::ResourceRecordSet::Representation command.response_class = Google::Apis::DnsV1::ResourceRecordSet command.params['project'] = project unless project.nil? command.params['managedZone'] = managed_zone unless managed_zone.nil? command.params['name'] = name unless name.nil? command.params['type'] = type unless type.nil? command.query['clientOperationId'] = client_operation_id unless client_operation_id.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.nil? execute_or_queue_command(command, &block) end # Enumerates ResourceRecordSets that you have created but not yet deleted. # @param [String] project # Identifies the project addressed by this request. # @param [String] managed_zone # Identifies the managed zone addressed by this request. Can be the managed zone # name or ID. # @param [Fixnum] max_results # Optional. Maximum number of results to be returned. If unspecified, the server # decides how many results to return. # @param [String] name # Restricts the list to return only records with this fully qualified domain # name. # @param [String] page_token # Optional. A tag returned by a previous list request that was truncated. Use # this parameter to continue a previous list request. # @param [String] type # Restricts the list to return only records of this type. If present, the "name" # parameter must also be present. # @param [String] fields # Selector specifying which fields to include in a partial response. # @param [String] quota_user # Available to use for quota purposes for server-side applications. Can be any # arbitrary string assigned to a user, but should not exceed 40 characters. # @param [Google::Apis::RequestOptions] options # Request-specific options # # @yield [result, err] Result & error if block supplied # @yieldparam result [Google::Apis::DnsV1::ListResourceRecordSetsResponse] parsed result object # @yieldparam err [StandardError] error object if request failed # # @return [Google::Apis::DnsV1::ListResourceRecordSetsResponse] # # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried # @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_record_sets(project, managed_zone, max_results: nil, name: nil, page_token: nil, type: nil, fields: nil, quota_user: nil, options: nil, &block) command = make_simple_command(:get, 'dns/v1/projects/{project}/managedZones/{managedZone}/rrsets', options) command.response_representation = Google::Apis::DnsV1::ListResourceRecordSetsResponse::Representation command.response_class = Google::Apis::DnsV1::ListResourceRecordSetsResponse command.params['project'] = project unless project.nil? command.params['managedZone'] = managed_zone unless managed_zone.nil? command.query['maxResults'] = max_results unless max_results.nil? command.query['name'] = name unless name.nil? command.query['pageToken'] = page_token unless page_token.nil? command.query['type'] = type unless type.nil? command.query['fields'] = fields unless fields.nil? command.query['quotaUser'] = quota_user unless quota_user.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? end end end end end google-apis-dns-v1-0.12.0/lib/google-apis-dns_v1.rb0000644000175000017500000000113514360602034020633 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/dns_v1"