| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  | # Copyright 2015 Google Inc. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # 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 DnsV1beta2 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |       # 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. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |       class Change | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Which ResourceRecordSets to add? | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `additions` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DnsV1beta2::ResourceRecordSet>] | 
					
						
							|  |  |  |         attr_accessor :additions | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Which ResourceRecordSets to remove? Must match existing data exactly. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `deletions` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DnsV1beta2::ResourceRecordSet>] | 
					
						
							|  |  |  |         attr_accessor :deletions | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Unique identifier for the resource; defined by the server (output only). | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `id` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :id | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # If the DNS queries for the zone will be served. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `isServing` | 
					
						
							|  |  |  |         # @return [Boolean] | 
					
						
							|  |  |  |         attr_accessor :is_serving | 
					
						
							|  |  |  |         alias_method :is_serving?, :is_serving | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns#change". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # The time that this operation was started by the server (output only). This is | 
					
						
							|  |  |  |         # in RFC3339 text format. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `startTime` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :start_time | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # 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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |       # The response to a request to enumerate Changes to a ResourceRecordSets | 
					
						
							|  |  |  |       # collection. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |       class ChangesListResponse | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # The requested changes. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `changes` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DnsV1beta2::Change>] | 
					
						
							|  |  |  |         attr_accessor :changes | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Elements common to every response. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `header` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::ResponseHeader] | 
					
						
							|  |  |  |         attr_accessor :header | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Type of resource. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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 will be an inconsistent view of the collection. There is no | 
					
						
							|  |  |  |         # way to retrieve a "snapshot" of collections larger than the maximum page size. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # 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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |       # A DNSSEC key pair. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |       class DnsKey | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # String mnemonic specifying the DNSSEC algorithm of this key. Immutable after | 
					
						
							|  |  |  |         # creation time. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `algorithm` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :algorithm | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # The time that this resource was created in the control plane. This is in | 
					
						
							|  |  |  |         # RFC3339 text format. Output only. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `creationTime` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :creation_time | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `description` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :description | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `digests` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DnsV1beta2::DnsKeyDigest>] | 
					
						
							|  |  |  |         attr_accessor :digests | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Unique identifier for the resource; defined by the server (output only). | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `id` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :id | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Active keys will be used to sign subsequent changes to the ManagedZone. | 
					
						
							|  |  |  |         # Inactive keys will still be present as DNSKEY Resource Records for the use of | 
					
						
							|  |  |  |         # resolvers validating existing signatures. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `isActive` | 
					
						
							|  |  |  |         # @return [Boolean] | 
					
						
							|  |  |  |         attr_accessor :is_active | 
					
						
							|  |  |  |         alias_method :is_active?, :is_active | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Length of the key in bits. Specified at creation time then immutable. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `keyLength` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :key_length | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `keyTag` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :key_tag | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns#dnsKey". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Base64 encoded public half of this key. Output only. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `publicKey` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :public_key | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # One of "KEY_SIGNING" or "ZONE_SIGNING". Keys of type KEY_SIGNING have the | 
					
						
							|  |  |  |         # Secure Entry Point flag set and, when active, will be used to sign only | 
					
						
							|  |  |  |         # resource record sets of type DNSKEY. Otherwise, the Secure Entry Point flag | 
					
						
							|  |  |  |         # will be cleared and this key will be used to sign only resource record sets of | 
					
						
							|  |  |  |         # other types. Immutable after creation time. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # 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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # The base-16 encoded bytes of this digest. Suitable for use in a DS resource | 
					
						
							|  |  |  |         # record. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `digest` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :digest | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Specifies the algorithm used to calculate this digest. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # 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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |       # Parameters for DnsKey key generation. Used for generating initial keys for a | 
					
						
							|  |  |  |       # new ManagedZone and as default when adding a new DnsKey. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |       class DnsKeySpec | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # String mnemonic specifying the DNSSEC algorithm of this key. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `algorithm` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :algorithm | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Length of the keys in bits. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `keyLength` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :key_length | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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, will | 
					
						
							|  |  |  |         # only be used to sign resource record sets of type DNSKEY. Zone signing keys do | 
					
						
							|  |  |  |         # not have the Secure Entry Point flag set and will be used to sign all other | 
					
						
							|  |  |  |         # types of resource record sets. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `keyType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :key_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns# | 
					
						
							|  |  |  |         # dnsKeySpec". | 
					
						
							|  |  |  |         # 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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |       # The response to a request to enumerate DnsKeys in a ManagedZone. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |       class DnsKeysListResponse | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # The requested resources. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `dnsKeys` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DnsV1beta2::DnsKey>] | 
					
						
							|  |  |  |         attr_accessor :dns_keys | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Elements common to every response. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `header` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::ResponseHeader] | 
					
						
							|  |  |  |         attr_accessor :header | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Type of resource. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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 will be an inconsistent view of the collection. There is no | 
					
						
							|  |  |  |         # way to retrieve a "snapshot" of collections larger than the maximum page size. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # 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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |       # 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. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |       class ManagedZone | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # The time that this resource was created on the server. This is in RFC3339 text | 
					
						
							|  |  |  |         # format. Output only. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `creationTime` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :creation_time | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `description` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :description | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # The DNS name of this managed zone, for instance "example.com.". | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `dnsName` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :dns_name | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # DNSSEC configuration. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `dnssecConfig` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::ManagedZoneDnsSecConfig] | 
					
						
							|  |  |  |         attr_accessor :dnssec_config | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `forwardingConfig` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::ManagedZoneForwardingConfig] | 
					
						
							|  |  |  |         attr_accessor :forwarding_config | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Unique identifier for the resource; defined by the server (output only) | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `id` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :id | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns# | 
					
						
							|  |  |  |         # managedZone". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # User labels. | 
					
						
							| 
									
										
										
										
											2018-01-23 00:35:36 +00:00
										 |  |  |         # Corresponds to the JSON property `labels` | 
					
						
							|  |  |  |         # @return [Hash<String,String>] | 
					
						
							|  |  |  |         attr_accessor :labels | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `name` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :name | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Optionally specifies the NameServerSet for this ManagedZone. A NameServerSet | 
					
						
							|  |  |  |         # is a set of DNS name servers that all host the same ManagedZones. Most users | 
					
						
							|  |  |  |         # will leave this field unset. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `nameServerSet` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :name_server_set | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Delegate your managed_zone to these virtual name servers; defined by the | 
					
						
							|  |  |  |         # server (output only) | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `nameServers` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :name_servers | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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. | 
					
						
							| 
									
										
										
										
											2019-03-30 00:37:30 +00:00
										 |  |  |         # Corresponds to the JSON property `peeringConfig` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::ManagedZonePeeringConfig] | 
					
						
							|  |  |  |         attr_accessor :peering_config | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # For privately visible zones, the set of Virtual Private Cloud resources that | 
					
						
							|  |  |  |         # the zone is visible from. | 
					
						
							| 
									
										
										
										
											2018-10-17 00:36:31 +00:00
										 |  |  |         # Corresponds to the JSON property `privateVisibilityConfig` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::ManagedZonePrivateVisibilityConfig] | 
					
						
							|  |  |  |         attr_accessor :private_visibility_config | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-11-09 00:38:07 +00:00
										 |  |  |         # The presence of this field indicates that this is a managed reverse lookup | 
					
						
							|  |  |  |         # zone and Cloud DNS will resolve 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::DnsV1beta2::ManagedZoneReverseLookupConfig] | 
					
						
							|  |  |  |         attr_accessor :reverse_lookup_config | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # The zone's visibility: public zones are exposed to the Internet, while private | 
					
						
							|  |  |  |         # zones are visible only to Virtual Private Cloud resources. | 
					
						
							| 
									
										
										
										
											2018-10-17 00:36:31 +00:00
										 |  |  |         # Corresponds to the JSON property `visibility` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :visibility | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         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) | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |           @forwarding_config = args[:forwarding_config] if args.key?(:forwarding_config) | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |           @id = args[:id] if args.key?(:id) | 
					
						
							|  |  |  |           @kind = args[:kind] if args.key?(:kind) | 
					
						
							| 
									
										
										
										
											2018-01-23 00:35:36 +00:00
										 |  |  |           @labels = args[:labels] if args.key?(:labels) | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |           @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) | 
					
						
							| 
									
										
										
										
											2019-03-30 00:37:30 +00:00
										 |  |  |           @peering_config = args[:peering_config] if args.key?(:peering_config) | 
					
						
							| 
									
										
										
										
											2018-10-17 00:36:31 +00:00
										 |  |  |           @private_visibility_config = args[:private_visibility_config] if args.key?(:private_visibility_config) | 
					
						
							| 
									
										
										
										
											2019-11-09 00:38:07 +00:00
										 |  |  |           @reverse_lookup_config = args[:reverse_lookup_config] if args.key?(:reverse_lookup_config) | 
					
						
							| 
									
										
										
										
											2018-10-17 00:36:31 +00:00
										 |  |  |           @visibility = args[:visibility] if args.key?(:visibility) | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       #  | 
					
						
							|  |  |  |       class ManagedZoneDnsSecConfig | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-09-12 00:38:48 +00:00
										 |  |  |         # Specifies parameters for generating initial DnsKeys for this ManagedZone. Can | 
					
						
							|  |  |  |         # only be changed while the state is OFF. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `defaultKeySpecs` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DnsV1beta2::DnsKeySpec>] | 
					
						
							|  |  |  |         attr_accessor :default_key_specs | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns# | 
					
						
							|  |  |  |         # managedZoneDnsSecConfig". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-09-12 00:38:48 +00:00
										 |  |  |         # Specifies the mechanism for authenticated denial-of-existence responses. Can | 
					
						
							|  |  |  |         # only be changed while the state is OFF. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `nonExistence` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :non_existence | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Specifies whether DNSSEC is enabled, and what mode it is in. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # 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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |       #  | 
					
						
							|  |  |  |       class ManagedZoneForwardingConfig | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns# | 
					
						
							|  |  |  |         # managedZoneForwardingConfig". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # List of target name servers to forward to. Cloud DNS will select the best | 
					
						
							|  |  |  |         # available name server if more than one target is given. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `targetNameServers` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DnsV1beta2::ManagedZoneForwardingConfigNameServerTarget>] | 
					
						
							|  |  |  |         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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-11-09 00:38:07 +00:00
										 |  |  |         # Forwarding path for this NameServerTarget, if unset or set to DEFAULT, Cloud | 
					
						
							|  |  |  |         # DNS will make forwarding decision based on address ranges, i.e. RFC1918 | 
					
						
							|  |  |  |         # addresses go to the VPC, Non-RFC1918 addresses go to the Internet. When set to | 
					
						
							|  |  |  |         # PRIVATE, Cloud DNS will always send queries through VPC for this target | 
					
						
							|  |  |  |         # Corresponds to the JSON property `forwardingPath` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :forwarding_path | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # IPv4 address of a target name server. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `ipv4Address` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :ipv4_address | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns# | 
					
						
							|  |  |  |         # managedZoneForwardingConfigNameServerTarget". | 
					
						
							|  |  |  |         # 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) | 
					
						
							| 
									
										
										
										
											2019-11-09 00:38:07 +00:00
										 |  |  |           @forwarding_path = args[:forwarding_path] if args.key?(:forwarding_path) | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |           @ipv4_address = args[:ipv4_address] if args.key?(:ipv4_address) | 
					
						
							|  |  |  |           @kind = args[:kind] if args.key?(:kind) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |       #  | 
					
						
							|  |  |  |       class ManagedZoneOperationsListResponse | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Elements common to every response. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `header` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::ResponseHeader] | 
					
						
							|  |  |  |         attr_accessor :header | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Type of resource. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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. | 
					
						
							|  |  |  |         # 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 will be an inconsistent view of the collection. There is no | 
					
						
							|  |  |  |         # way to retrieve a consistent snapshot of a collection larger than the maximum | 
					
						
							|  |  |  |         # page size. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `nextPageToken` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :next_page_token | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # The operation resources. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `operations` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DnsV1beta2::Operation>] | 
					
						
							|  |  |  |         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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-03-30 00:37:30 +00:00
										 |  |  |       #  | 
					
						
							|  |  |  |       class ManagedZonePeeringConfig | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns# | 
					
						
							|  |  |  |         # managedZonePeeringConfig". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # The network with which to peer. | 
					
						
							| 
									
										
										
										
											2019-03-30 00:37:30 +00:00
										 |  |  |         # Corresponds to the JSON property `targetNetwork` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-09-12 00:38:48 +00:00
										 |  |  |         # 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. | 
					
						
							| 
									
										
										
										
											2019-03-30 00:37:30 +00:00
										 |  |  |         # Corresponds to the JSON property `deactivateTime` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :deactivate_time | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns# | 
					
						
							|  |  |  |         # managedZonePeeringConfigTargetNetwork". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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` | 
					
						
							| 
									
										
										
										
											2019-03-30 00:37:30 +00:00
										 |  |  |         # 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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2018-10-17 00:36:31 +00:00
										 |  |  |       #  | 
					
						
							|  |  |  |       class ManagedZonePrivateVisibilityConfig | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns# | 
					
						
							|  |  |  |         # managedZonePrivateVisibilityConfig". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # The list of VPC networks that can see this zone. | 
					
						
							| 
									
										
										
										
											2018-10-17 00:36:31 +00:00
										 |  |  |         # Corresponds to the JSON property `networks` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DnsV1beta2::ManagedZonePrivateVisibilityConfigNetwork>] | 
					
						
							|  |  |  |         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 | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns# | 
					
						
							|  |  |  |         # managedZonePrivateVisibilityConfigNetwork". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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` | 
					
						
							| 
									
										
										
										
											2018-10-17 00:36:31 +00:00
										 |  |  |         # 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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-11-09 00:38:07 +00:00
										 |  |  |       #  | 
					
						
							|  |  |  |       class ManagedZoneReverseLookupConfig | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns# | 
					
						
							|  |  |  |         # managedZoneReverseLookupConfig". | 
					
						
							|  |  |  |         # 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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |       #  | 
					
						
							|  |  |  |       class ManagedZonesListResponse | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Elements common to every response. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `header` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::ResponseHeader] | 
					
						
							|  |  |  |         attr_accessor :header | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Type of resource. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # The managed zone resources. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `managedZones` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DnsV1beta2::ManagedZone>] | 
					
						
							|  |  |  |         attr_accessor :managed_zones | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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. | 
					
						
							|  |  |  |         # 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 will be an inconsistent view of the collection. There is no | 
					
						
							|  |  |  |         # way to retrieve a consistent snapshot of a collection larger than the maximum | 
					
						
							|  |  |  |         # page size. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # 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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |       # 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. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |       class Operation | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Only populated if the operation targeted a DnsKey (output only). | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `dnsKeyContext` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::OperationDnsKeyContext] | 
					
						
							|  |  |  |         attr_accessor :dns_key_context | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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) | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `id` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :id | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns# | 
					
						
							|  |  |  |         # operation". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # The time that this operation was started by the server. This is in RFC3339 | 
					
						
							|  |  |  |         # text format (output only). | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `startTime` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :start_time | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `status` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :status | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Type of the operation. Operations include insert, update, and delete (output | 
					
						
							|  |  |  |         # only). | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `type` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :type | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # User who requested the operation, for example: user@example.com. cloud-dns- | 
					
						
							|  |  |  |         # system for operations automatically done by the system. (output only) | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `user` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :user | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Only populated if the operation targeted a ManagedZone (output only). | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `zoneContext` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # A DNSSEC key pair. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `newValue` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::DnsKey] | 
					
						
							|  |  |  |         attr_accessor :new_value | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # A DNSSEC key pair. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `oldValue` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `newValue` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::ManagedZone] | 
					
						
							|  |  |  |         attr_accessor :new_value | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `oldValue` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |       #  | 
					
						
							|  |  |  |       class PoliciesListResponse | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Elements common to every response. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `header` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::ResponseHeader] | 
					
						
							|  |  |  |         attr_accessor :header | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Type of resource. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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. | 
					
						
							|  |  |  |         # 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 will be an inconsistent view of the collection. There is no | 
					
						
							|  |  |  |         # way to retrieve a consistent snapshot of a collection larger than the maximum | 
					
						
							|  |  |  |         # page size. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `nextPageToken` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :next_page_token | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # The policy resources. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `policies` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DnsV1beta2::Policy>] | 
					
						
							|  |  |  |         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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Elements common to every response. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `header` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::ResponseHeader] | 
					
						
							|  |  |  |         attr_accessor :header | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # A policy is a collection of DNS rules applied to one or more Virtual Private | 
					
						
							|  |  |  |         # Cloud resources. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `policy` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Elements common to every response. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `header` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::ResponseHeader] | 
					
						
							|  |  |  |         attr_accessor :header | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # A policy is a collection of DNS rules applied to one or more Virtual Private | 
					
						
							|  |  |  |         # Cloud resources. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `policy` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |       # A policy is a collection of DNS rules applied to one or more Virtual Private | 
					
						
							|  |  |  |       # Cloud resources. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |       class Policy | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `alternativeNameServerConfig` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::PolicyAlternativeNameServerConfig] | 
					
						
							|  |  |  |         attr_accessor :alternative_name_server_config | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `description` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :description | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Allows networks bound to this policy to receive DNS queries sent by VMs or | 
					
						
							|  |  |  |         # applications over VPN connections. When enabled, a virtual IP address will be | 
					
						
							|  |  |  |         # allocated from each of the sub-networks that are bound to this policy. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `enableInboundForwarding` | 
					
						
							|  |  |  |         # @return [Boolean] | 
					
						
							|  |  |  |         attr_accessor :enable_inbound_forwarding | 
					
						
							|  |  |  |         alias_method :enable_inbound_forwarding?, :enable_inbound_forwarding | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Controls whether logging is enabled for the networks bound to this policy. | 
					
						
							|  |  |  |         # Defaults to no logging if not set. | 
					
						
							| 
									
										
										
										
											2019-03-30 00:37:30 +00:00
										 |  |  |         # Corresponds to the JSON property `enableLogging` | 
					
						
							|  |  |  |         # @return [Boolean] | 
					
						
							|  |  |  |         attr_accessor :enable_logging | 
					
						
							|  |  |  |         alias_method :enable_logging?, :enable_logging | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Unique identifier for the resource; defined by the server (output only). | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `id` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :id | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns#policy". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # User assigned name for this policy. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `name` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :name | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # List of network names specifying networks to which this policy is applied. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `networks` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DnsV1beta2::PolicyNetwork>] | 
					
						
							|  |  |  |         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) | 
					
						
							| 
									
										
										
										
											2019-03-30 00:37:30 +00:00
										 |  |  |           @enable_logging = args[:enable_logging] if args.key?(:enable_logging) | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |           @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 | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns# | 
					
						
							|  |  |  |         # policyAlternativeNameServerConfig". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `targetNameServers` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DnsV1beta2::PolicyAlternativeNameServerConfigTargetNameServer>] | 
					
						
							|  |  |  |         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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-11-09 00:38:07 +00:00
										 |  |  |         # Forwarding path for this TargetNameServer, if unset or set to DEFAULT, Cloud | 
					
						
							|  |  |  |         # DNS will make forwarding decision based on address ranges, i.e. RFC1918 | 
					
						
							|  |  |  |         # addresses go to the VPC, Non-RFC1918 addresses go to the Internet. When set to | 
					
						
							|  |  |  |         # PRIVATE, Cloud DNS will always send queries through VPC for this target | 
					
						
							|  |  |  |         # Corresponds to the JSON property `forwardingPath` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :forwarding_path | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # IPv4 address to forward to. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `ipv4Address` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :ipv4_address | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns# | 
					
						
							|  |  |  |         # policyAlternativeNameServerConfigTargetNameServer". | 
					
						
							|  |  |  |         # 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) | 
					
						
							| 
									
										
										
										
											2019-11-09 00:38:07 +00:00
										 |  |  |           @forwarding_path = args[:forwarding_path] if args.key?(:forwarding_path) | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |           @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 | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns# | 
					
						
							|  |  |  |         # policyNetwork". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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` | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # 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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |       # 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. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |       class Project | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # User assigned unique identifier for the resource (output only). | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `id` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :id | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns#project" | 
					
						
							|  |  |  |         # . | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Unique numeric identifier for the resource; defined by the server (output only) | 
					
						
							|  |  |  |         # . | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `number` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :number | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Limits associated with a Project. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `quota` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |       # Limits associated with a Project. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |       class Quota | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Maximum allowed number of DnsKeys per ManagedZone. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `dnsKeysPerManagedZone` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :dns_keys_per_managed_zone | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns#quota". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Maximum allowed number of managed zones in the project. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `managedZones` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :managed_zones | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Maximum allowed number of managed zones which can be attached to a network. | 
					
						
							| 
									
										
										
										
											2018-10-17 00:36:31 +00:00
										 |  |  |         # Corresponds to the JSON property `managedZonesPerNetwork` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :managed_zones_per_network | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Maximum allowed number of networks to which a privately scoped zone can be | 
					
						
							|  |  |  |         # attached. | 
					
						
							| 
									
										
										
										
											2018-10-17 00:36:31 +00:00
										 |  |  |         # Corresponds to the JSON property `networksPerManagedZone` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :networks_per_managed_zone | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Maximum allowed number of networks per policy. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `networksPerPolicy` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :networks_per_policy | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Maximum allowed number of policies per project. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `policies` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :policies | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Maximum allowed number of ResourceRecords per ResourceRecordSet. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `resourceRecordsPerRrset` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :resource_records_per_rrset | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Maximum allowed number of ResourceRecordSets to add per ChangesCreateRequest. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `rrsetAdditionsPerChange` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :rrset_additions_per_change | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Maximum allowed number of ResourceRecordSets to delete per | 
					
						
							|  |  |  |         # ChangesCreateRequest. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `rrsetDeletionsPerChange` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :rrset_deletions_per_change | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Maximum allowed number of ResourceRecordSets per zone in the project. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `rrsetsPerManagedZone` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :rrsets_per_managed_zone | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Maximum allowed number of target name servers per managed forwarding zone. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `targetNameServersPerManagedZone` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :target_name_servers_per_managed_zone | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Maximum allowed number of alternative target name servers per policy. | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |         # Corresponds to the JSON property `targetNameServersPerPolicy` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :target_name_servers_per_policy | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Maximum allowed size for total rrdata in one ChangesCreateRequest in bytes. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `totalRrdataSizePerChange` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :total_rrdata_size_per_change | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # DNSSEC algorithm and key length types that can be used for DnsKeys. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `whitelistedKeySpecs` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DnsV1beta2::DnsKeySpec>] | 
					
						
							|  |  |  |         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) | 
					
						
							| 
									
										
										
										
											2018-10-17 00:36:31 +00:00
										 |  |  |           @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) | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |           @networks_per_policy = args[:networks_per_policy] if args.key?(:networks_per_policy) | 
					
						
							|  |  |  |           @policies = args[:policies] if args.key?(:policies) | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |           @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) | 
					
						
							| 
									
										
										
										
											2018-11-17 00:36:21 +00:00
										 |  |  |           @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) | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |           @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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |       # A unit of data that will be returned by the DNS servers. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |       class ResourceRecordSet | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Identifies what kind of resource this is. Value: the fixed string "dns# | 
					
						
							|  |  |  |         # resourceRecordSet". | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # For example, www.example.com. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `name` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :name | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # As defined in RFC 1035 (section 5) and RFC 1034 (section 3.6.1) -- see | 
					
						
							|  |  |  |         # examples. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `rrdatas` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :rrdatas | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # As defined in RFC 4034 (section 3.2). | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `signatureRrdatas` | 
					
						
							|  |  |  |         # @return [Array<String>] | 
					
						
							|  |  |  |         attr_accessor :signature_rrdatas | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Number of seconds that this ResourceRecordSet can be cached by resolvers. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `ttl` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :ttl | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # The identifier of a supported record type. See the list of Supported DNS | 
					
						
							|  |  |  |         # record types. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # 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 ResourceRecordSetsListResponse | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # Elements common to every response. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `header` | 
					
						
							|  |  |  |         # @return [Google::Apis::DnsV1beta2::ResponseHeader] | 
					
						
							|  |  |  |         attr_accessor :header | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Type of resource. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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 will be an inconsistent view of the collection. There is no | 
					
						
							|  |  |  |         # way to retrieve a consistent snapshot of a collection larger than the maximum | 
					
						
							|  |  |  |         # page size. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `nextPageToken` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :next_page_token | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # The resource record set resources. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # Corresponds to the JSON property `rrsets` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DnsV1beta2::ResourceRecordSet>] | 
					
						
							|  |  |  |         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 | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |       # Elements common to every response. | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |       class ResponseHeader | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2019-04-25 00:37:02 +00:00
										 |  |  |         # 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). | 
					
						
							| 
									
										
										
										
											2017-10-25 00:36:02 +00:00
										 |  |  |         # 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 |