| 
									
										
										
										
											2015-12-03 01:10:07 +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 DeploymentmanagerV2 | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       #  | 
					
						
							|  |  |  |       class ConfigFile | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The contents of the file. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `content` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :content | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @content = args[:content] unless args[:content].nil? | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       #  | 
					
						
							|  |  |  |       class Deployment | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # An optional user-provided description of the deployment. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `description` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :description | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Provides a fingerprint to use in requests to modify a deployment, such as | 
					
						
							|  |  |  |         # update(), stop(), and cancelPreview() requests. A fingerprint is a randomly | 
					
						
							|  |  |  |         # generated value that must be provided with update(), stop(), and cancelPreview( | 
					
						
							|  |  |  |         # ) requests to perform optimistic locking. This ensures optimistic concurrency | 
					
						
							|  |  |  |         # so that only one request happens at a time. | 
					
						
							|  |  |  |         # The fingerprint is initially generated by Deployment Manager and changes after | 
					
						
							|  |  |  |         # every request to modify data. To get the latest fingerprint value, perform a | 
					
						
							|  |  |  |         # get() request to a deployment. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `fingerprint` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :fingerprint | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] Unique identifier for the resource; defined by the server. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `id` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :id | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] Timestamp when the deployment was created, in RFC3339 text | 
					
						
							|  |  |  |         # format . | 
					
						
							|  |  |  |         # Corresponds to the JSON property `insertTime` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :insert_time | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] URL of the manifest representing the last manifest that was | 
					
						
							|  |  |  |         # successfully deployed. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `manifest` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :manifest | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Name of the resource; provided by the client when the resource is created. The | 
					
						
							|  |  |  |         # name must be 1-63 characters long, and comply with RFC1035. Specifically, the | 
					
						
							|  |  |  |         # name must be 1-63 characters long and match the regular expression [a-z]([-a- | 
					
						
							|  |  |  |         # z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, | 
					
						
							|  |  |  |         # and all following characters must be a dash, lowercase letter, or digit, | 
					
						
							|  |  |  |         # except the last character, which cannot be a dash. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `name` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :name | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # An Operation resource, used to manage asynchronous API requests. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `operation` | 
					
						
							|  |  |  |         # @return [Google::Apis::DeploymentmanagerV2::Operation] | 
					
						
							|  |  |  |         attr_accessor :operation | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         #  | 
					
						
							|  |  |  |         # Corresponds to the JSON property `target` | 
					
						
							|  |  |  |         # @return [Google::Apis::DeploymentmanagerV2::TargetConfiguration] | 
					
						
							|  |  |  |         attr_accessor :target | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         #  | 
					
						
							|  |  |  |         # Corresponds to the JSON property `update` | 
					
						
							|  |  |  |         # @return [Google::Apis::DeploymentmanagerV2::DeploymentUpdate] | 
					
						
							|  |  |  |         attr_accessor :update | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @description = args[:description] unless args[:description].nil? | 
					
						
							|  |  |  |           @fingerprint = args[:fingerprint] unless args[:fingerprint].nil? | 
					
						
							|  |  |  |           @id = args[:id] unless args[:id].nil? | 
					
						
							|  |  |  |           @insert_time = args[:insert_time] unless args[:insert_time].nil? | 
					
						
							|  |  |  |           @manifest = args[:manifest] unless args[:manifest].nil? | 
					
						
							|  |  |  |           @name = args[:name] unless args[:name].nil? | 
					
						
							|  |  |  |           @operation = args[:operation] unless args[:operation].nil? | 
					
						
							|  |  |  |           @target = args[:target] unless args[:target].nil? | 
					
						
							|  |  |  |           @update = args[:update] unless args[:update].nil? | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       #  | 
					
						
							|  |  |  |       class DeploymentUpdate | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] URL of the manifest representing the update configuration of | 
					
						
							|  |  |  |         # this deployment. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `manifest` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :manifest | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @manifest = args[:manifest] unless args[:manifest].nil? | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       #  | 
					
						
							|  |  |  |       class DeploymentsCancelPreviewRequest | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Specifies a fingerprint for cancelPreview() requests. A fingerprint is a | 
					
						
							|  |  |  |         # randomly generated value that must be provided in cancelPreview() requests to | 
					
						
							|  |  |  |         # perform optimistic locking. This ensures optimistic concurrency so that the | 
					
						
							|  |  |  |         # deployment does not have conflicting requests (e.g. if someone attempts to | 
					
						
							|  |  |  |         # make a new update request while another user attempts to cancel a preview, | 
					
						
							|  |  |  |         # this would prevent one of the requests). | 
					
						
							|  |  |  |         # The fingerprint is initially generated by Deployment Manager and changes after | 
					
						
							|  |  |  |         # every request to modify a deployment. To get the latest fingerprint value, | 
					
						
							|  |  |  |         # perform a get() request to a deployment. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `fingerprint` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :fingerprint | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @fingerprint = args[:fingerprint] unless args[:fingerprint].nil? | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A response containing a partial list of deployments and a page token used to | 
					
						
							|  |  |  |       # build the next request if the request has been truncated. | 
					
						
							|  |  |  |       class ListDeploymentsResponse | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] The deployments contained in this response. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `deployments` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DeploymentmanagerV2::Deployment>] | 
					
						
							|  |  |  |         attr_accessor :deployments | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] A token used to continue a truncated list request. | 
					
						
							|  |  |  |         # 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) | 
					
						
							|  |  |  |           @deployments = args[:deployments] unless args[:deployments].nil? | 
					
						
							|  |  |  |           @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       #  | 
					
						
							|  |  |  |       class DeploymentsStopRequest | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Specifies a fingerprint for stop() requests. A fingerprint is a randomly | 
					
						
							|  |  |  |         # generated value that must be provided in stop() requests to perform optimistic | 
					
						
							|  |  |  |         # locking. This ensures optimistic concurrency so that the deployment does not | 
					
						
							|  |  |  |         # have conflicting requests (e.g. if someone attempts to make a new update | 
					
						
							|  |  |  |         # request while another user attempts to stop an ongoing update request, this | 
					
						
							|  |  |  |         # would prevent a collision). | 
					
						
							|  |  |  |         # The fingerprint is initially generated by Deployment Manager and changes after | 
					
						
							|  |  |  |         # every request to modify a deployment. To get the latest fingerprint value, | 
					
						
							|  |  |  |         # perform a get() request to a deployment. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `fingerprint` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :fingerprint | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @fingerprint = args[:fingerprint] unless args[:fingerprint].nil? | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       #  | 
					
						
							|  |  |  |       class ImportFile | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The contents of the file. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `content` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :content | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # The name of the file. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `name` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :name | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @content = args[:content] unless args[:content].nil? | 
					
						
							|  |  |  |           @name = args[:name] unless args[:name].nil? | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       #  | 
					
						
							|  |  |  |       class Manifest | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         #  | 
					
						
							|  |  |  |         # Corresponds to the JSON property `config` | 
					
						
							|  |  |  |         # @return [Google::Apis::DeploymentmanagerV2::ConfigFile] | 
					
						
							|  |  |  |         attr_accessor :config | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] The fully-expanded configuration file, including any templates | 
					
						
							|  |  |  |         # and references. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `expandedConfig` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :expanded_config | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] Unique identifier for the resource; defined by the server. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `id` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :id | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] The imported files for this manifest. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `imports` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DeploymentmanagerV2::ImportFile>] | 
					
						
							|  |  |  |         attr_accessor :imports | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] Timestamp when the manifest was created, in RFC3339 text format. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `insertTime` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :insert_time | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] The YAML layout for this manifest. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `layout` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :layout | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] The name of the manifest. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `name` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :name | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] Self link for the manifest. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `selfLink` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :self_link | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @config = args[:config] unless args[:config].nil? | 
					
						
							|  |  |  |           @expanded_config = args[:expanded_config] unless args[:expanded_config].nil? | 
					
						
							|  |  |  |           @id = args[:id] unless args[:id].nil? | 
					
						
							|  |  |  |           @imports = args[:imports] unless args[:imports].nil? | 
					
						
							|  |  |  |           @insert_time = args[:insert_time] unless args[:insert_time].nil? | 
					
						
							|  |  |  |           @layout = args[:layout] unless args[:layout].nil? | 
					
						
							|  |  |  |           @name = args[:name] unless args[:name].nil? | 
					
						
							|  |  |  |           @self_link = args[:self_link] unless args[:self_link].nil? | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A response containing a partial list of manifests and a page token used to | 
					
						
							|  |  |  |       # build the next request if the request has been truncated. | 
					
						
							|  |  |  |       class ListManifestsResponse | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] Manifests contained in this list response. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `manifests` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DeploymentmanagerV2::Manifest>] | 
					
						
							|  |  |  |         attr_accessor :manifests | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] A token used to continue a truncated list request. | 
					
						
							|  |  |  |         # 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) | 
					
						
							|  |  |  |           @manifests = args[:manifests] unless args[:manifests].nil? | 
					
						
							|  |  |  |           @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # An Operation resource, used to manage asynchronous API requests. | 
					
						
							|  |  |  |       class Operation | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |         # [Output Only] A unique client ID generated by the server. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |         # Corresponds to the JSON property `clientOperationId` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :client_operation_id | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] Creation timestamp in RFC3339 text format. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `creationTimestamp` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :creation_timestamp | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |         # [Output Only] A textual description of the operation, which is set when the | 
					
						
							|  |  |  |         # operation is created. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `description` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :description | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] The time that this operation was completed. This value is in | 
					
						
							|  |  |  |         # RFC3339 text format. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |         # Corresponds to the JSON property `endTime` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :end_time | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] If errors are generated during processing of the operation, this | 
					
						
							|  |  |  |         # field will be populated. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `error` | 
					
						
							|  |  |  |         # @return [Google::Apis::DeploymentmanagerV2::Operation::Error] | 
					
						
							|  |  |  |         attr_accessor :error | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] If the operation fails, this field contains the HTTP error | 
					
						
							|  |  |  |         # message that was returned, such as NOT FOUND. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `httpErrorMessage` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :http_error_message | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] If the operation fails, this field contains the HTTP error | 
					
						
							| 
									
										
										
										
											2016-01-14 18:49:46 +00:00
										 |  |  |         # status code that was returned. For example, a 404 means the resource was not | 
					
						
							|  |  |  |         # found. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |         # Corresponds to the JSON property `httpErrorStatusCode` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :http_error_status_code | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |         # [Output Only] The unique identifier for the resource. This identifier is | 
					
						
							|  |  |  |         # defined by the server. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |         # Corresponds to the JSON property `id` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :id | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |         # [Output Only] The time that this operation was requested. This value is in | 
					
						
							|  |  |  |         # RFC3339 text format. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |         # Corresponds to the JSON property `insertTime` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :insert_time | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] Type of the resource. Always compute#operation for Operation | 
					
						
							|  |  |  |         # resources. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `kind` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :kind | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] Name of the resource. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `name` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :name | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |         # [Output Only] The type of operation, which can be insert, update, or delete. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |         # Corresponds to the JSON property `operationType` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :operation_type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] An optional progress indicator that ranges from 0 to 100. There | 
					
						
							|  |  |  |         # is no requirement that this be linear or support any granularity of operations. | 
					
						
							| 
									
										
										
										
											2016-01-08 00:23:51 +00:00
										 |  |  |         # This should not be used to guess when the operation will be complete. This | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |         # number should monotonically increase as the operation progresses. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `progress` | 
					
						
							|  |  |  |         # @return [Fixnum] | 
					
						
							|  |  |  |         attr_accessor :progress | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2016-01-08 00:23:51 +00:00
										 |  |  |         # [Output Only] URL of the region where the operation resides. Only available | 
					
						
							|  |  |  |         # when performing regional operations. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |         # Corresponds to the JSON property `region` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :region | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] Server-defined URL for the resource. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `selfLink` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :self_link | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |         # [Output Only] The time that this operation was started by the server. This | 
					
						
							|  |  |  |         # value is in RFC3339 text format. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |         # Corresponds to the JSON property `startTime` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :start_time | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |         # [Output Only] The status of the operation, which can be one of the following: | 
					
						
							|  |  |  |         # PENDING, RUNNING, or DONE. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |         # Corresponds to the JSON property `status` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :status | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] An optional textual description of the current status of the | 
					
						
							|  |  |  |         # operation. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `statusMessage` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :status_message | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |         # [Output Only] The unique target ID, which identifies a specific incarnation of | 
					
						
							|  |  |  |         # the target resource. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |         # Corresponds to the JSON property `targetId` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :target_id | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |         # [Output Only] The URL of the resource that the operation is modifying. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |         # Corresponds to the JSON property `targetLink` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :target_link | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] User who requested the operation, for example: user@example.com. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `user` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :user | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] If warning messages are generated during processing of the | 
					
						
							|  |  |  |         # operation, this field will be populated. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `warnings` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DeploymentmanagerV2::Operation::Warning>] | 
					
						
							|  |  |  |         attr_accessor :warnings | 
					
						
							|  |  |  |        | 
					
						
							| 
									
										
										
										
											2016-01-08 00:23:51 +00:00
										 |  |  |         # [Output Only] URL of the zone where the operation resides. Only available when | 
					
						
							|  |  |  |         # performing per-zone operations. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |         # Corresponds to the JSON property `zone` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :zone | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @client_operation_id = args[:client_operation_id] unless args[:client_operation_id].nil? | 
					
						
							|  |  |  |           @creation_timestamp = args[:creation_timestamp] unless args[:creation_timestamp].nil? | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |           @description = args[:description] unless args[:description].nil? | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |           @end_time = args[:end_time] unless args[:end_time].nil? | 
					
						
							|  |  |  |           @error = args[:error] unless args[:error].nil? | 
					
						
							|  |  |  |           @http_error_message = args[:http_error_message] unless args[:http_error_message].nil? | 
					
						
							|  |  |  |           @http_error_status_code = args[:http_error_status_code] unless args[:http_error_status_code].nil? | 
					
						
							|  |  |  |           @id = args[:id] unless args[:id].nil? | 
					
						
							|  |  |  |           @insert_time = args[:insert_time] unless args[:insert_time].nil? | 
					
						
							|  |  |  |           @kind = args[:kind] unless args[:kind].nil? | 
					
						
							|  |  |  |           @name = args[:name] unless args[:name].nil? | 
					
						
							|  |  |  |           @operation_type = args[:operation_type] unless args[:operation_type].nil? | 
					
						
							|  |  |  |           @progress = args[:progress] unless args[:progress].nil? | 
					
						
							|  |  |  |           @region = args[:region] unless args[:region].nil? | 
					
						
							|  |  |  |           @self_link = args[:self_link] unless args[:self_link].nil? | 
					
						
							|  |  |  |           @start_time = args[:start_time] unless args[:start_time].nil? | 
					
						
							|  |  |  |           @status = args[:status] unless args[:status].nil? | 
					
						
							|  |  |  |           @status_message = args[:status_message] unless args[:status_message].nil? | 
					
						
							|  |  |  |           @target_id = args[:target_id] unless args[:target_id].nil? | 
					
						
							|  |  |  |           @target_link = args[:target_link] unless args[:target_link].nil? | 
					
						
							|  |  |  |           @user = args[:user] unless args[:user].nil? | 
					
						
							|  |  |  |           @warnings = args[:warnings] unless args[:warnings].nil? | 
					
						
							|  |  |  |           @zone = args[:zone] unless args[:zone].nil? | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |         # [Output Only] If errors are generated during processing of the operation, this | 
					
						
							|  |  |  |         # field will be populated. | 
					
						
							|  |  |  |         class Error | 
					
						
							|  |  |  |           include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |           # [Output Only] The array of errors encountered while processing this operation. | 
					
						
							|  |  |  |           # Corresponds to the JSON property `errors` | 
					
						
							|  |  |  |           # @return [Array<Google::Apis::DeploymentmanagerV2::Operation::Error::Error>] | 
					
						
							|  |  |  |           attr_accessor :errors | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |           def initialize(**args) | 
					
						
							|  |  |  |              update!(**args) | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |           # Update properties of this object | 
					
						
							|  |  |  |           def update!(**args) | 
					
						
							|  |  |  |             @errors = args[:errors] unless args[:errors].nil? | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |           #  | 
					
						
							|  |  |  |           class Error | 
					
						
							|  |  |  |             include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             # [Output Only] The error type identifier for this error. | 
					
						
							|  |  |  |             # Corresponds to the JSON property `code` | 
					
						
							|  |  |  |             # @return [String] | 
					
						
							|  |  |  |             attr_accessor :code | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             # [Output Only] Indicates the field in the request which caused the error. This | 
					
						
							|  |  |  |             # property is optional. | 
					
						
							|  |  |  |             # Corresponds to the JSON property `location` | 
					
						
							|  |  |  |             # @return [String] | 
					
						
							|  |  |  |             attr_accessor :location | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             # [Output Only] An optional, human-readable error message. | 
					
						
							|  |  |  |             # Corresponds to the JSON property `message` | 
					
						
							|  |  |  |             # @return [String] | 
					
						
							|  |  |  |             attr_accessor :message | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             def initialize(**args) | 
					
						
							|  |  |  |                update!(**args) | 
					
						
							|  |  |  |             end | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             # Update properties of this object | 
					
						
							|  |  |  |             def update!(**args) | 
					
						
							|  |  |  |               @code = args[:code] unless args[:code].nil? | 
					
						
							|  |  |  |               @location = args[:location] unless args[:location].nil? | 
					
						
							|  |  |  |               @message = args[:message] unless args[:message].nil? | 
					
						
							|  |  |  |             end | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |         #  | 
					
						
							|  |  |  |         class Warning | 
					
						
							|  |  |  |           include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |          | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |           # [Output Only] A warning code, if applicable. For example, Compute Engine | 
					
						
							|  |  |  |           # returns NO_RESULTS_ON_PAGE if there are no results in the response. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |           # Corresponds to the JSON property `code` | 
					
						
							|  |  |  |           # @return [String] | 
					
						
							|  |  |  |           attr_accessor :code | 
					
						
							|  |  |  |          | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |           # [Output Only] Metadata about this warning in key: value format. For example: | 
					
						
							|  |  |  |           # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |           # Corresponds to the JSON property `data` | 
					
						
							|  |  |  |           # @return [Array<Google::Apis::DeploymentmanagerV2::Operation::Warning::Datum>] | 
					
						
							|  |  |  |           attr_accessor :data | 
					
						
							|  |  |  |          | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |           # [Output Only] A human-readable description of the warning code. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |           # Corresponds to the JSON property `message` | 
					
						
							|  |  |  |           # @return [String] | 
					
						
							|  |  |  |           attr_accessor :message | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |           def initialize(**args) | 
					
						
							|  |  |  |              update!(**args) | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |           # Update properties of this object | 
					
						
							|  |  |  |           def update!(**args) | 
					
						
							|  |  |  |             @code = args[:code] unless args[:code].nil? | 
					
						
							|  |  |  |             @data = args[:data] unless args[:data].nil? | 
					
						
							|  |  |  |             @message = args[:message] unless args[:message].nil? | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |           #  | 
					
						
							|  |  |  |           class Datum | 
					
						
							|  |  |  |             include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |            | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |             # [Output Only] A key that provides more detail on the warning being returned. | 
					
						
							|  |  |  |             # For example, for warnings where there are no results in a list request for a | 
					
						
							|  |  |  |             # particular zone, this key might be scope and the key value might be the zone | 
					
						
							|  |  |  |             # name. Other examples might be a key indicating a deprecated resource, and a | 
					
						
							|  |  |  |             # suggested replacement, or a warning about invalid network settings (for | 
					
						
							|  |  |  |             # example, if an instance attempts to perform IP forwarding but is not enabled | 
					
						
							|  |  |  |             # for IP forwarding). | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |             # Corresponds to the JSON property `key` | 
					
						
							|  |  |  |             # @return [String] | 
					
						
							|  |  |  |             attr_accessor :key | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             # [Output Only] A warning data value corresponding to the key. | 
					
						
							|  |  |  |             # Corresponds to the JSON property `value` | 
					
						
							|  |  |  |             # @return [String] | 
					
						
							|  |  |  |             attr_accessor :value | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             def initialize(**args) | 
					
						
							|  |  |  |                update!(**args) | 
					
						
							|  |  |  |             end | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             # Update properties of this object | 
					
						
							|  |  |  |             def update!(**args) | 
					
						
							|  |  |  |               @key = args[:key] unless args[:key].nil? | 
					
						
							|  |  |  |               @value = args[:value] unless args[:value].nil? | 
					
						
							|  |  |  |             end | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A response containing a partial list of operations and a page token used to | 
					
						
							|  |  |  |       # build the next request if the request has been truncated. | 
					
						
							|  |  |  |       class ListOperationsResponse | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] A token used to continue a truncated list request. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `nextPageToken` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :next_page_token | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] Operations contained in this list response. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `operations` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DeploymentmanagerV2::Operation>] | 
					
						
							|  |  |  |         attr_accessor :operations | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? | 
					
						
							|  |  |  |           @operations = args[:operations] unless args[:operations].nil? | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       #  | 
					
						
							|  |  |  |       class Resource | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] The evaluated properties of the resource with references | 
					
						
							|  |  |  |         # expanded. Returned as serialized YAML. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `finalProperties` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :final_properties | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] Unique identifier for the resource; defined by the server. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `id` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :id | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] Timestamp when the resource was created or acquired, in RFC3339 | 
					
						
							|  |  |  |         # text format . | 
					
						
							|  |  |  |         # Corresponds to the JSON property `insertTime` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :insert_time | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] URL of the manifest representing the current configuration of | 
					
						
							|  |  |  |         # this resource. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `manifest` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :manifest | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] The name of the resource as it appears in the YAML config. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `name` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :name | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] The current properties of the resource before any references | 
					
						
							|  |  |  |         # have been filled in. Returned as serialized YAML. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `properties` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :properties | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] The type of the resource, for example compute.v1.instance, or | 
					
						
							|  |  |  |         # replicaPools.v1beta2.instanceGroupManager. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `type` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :type | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         #  | 
					
						
							|  |  |  |         # Corresponds to the JSON property `update` | 
					
						
							|  |  |  |         # @return [Google::Apis::DeploymentmanagerV2::ResourceUpdate] | 
					
						
							|  |  |  |         attr_accessor :update | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] Timestamp when the resource was updated, in RFC3339 text format . | 
					
						
							|  |  |  |         # Corresponds to the JSON property `updateTime` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :update_time | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] The URL of the actual resource. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `url` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :url | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] If warning messages are generated during processing of this | 
					
						
							|  |  |  |         # resource, this field will be populated. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `warnings` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DeploymentmanagerV2::Resource::Warning>] | 
					
						
							|  |  |  |         attr_accessor :warnings | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @final_properties = args[:final_properties] unless args[:final_properties].nil? | 
					
						
							|  |  |  |           @id = args[:id] unless args[:id].nil? | 
					
						
							|  |  |  |           @insert_time = args[:insert_time] unless args[:insert_time].nil? | 
					
						
							|  |  |  |           @manifest = args[:manifest] unless args[:manifest].nil? | 
					
						
							|  |  |  |           @name = args[:name] unless args[:name].nil? | 
					
						
							|  |  |  |           @properties = args[:properties] unless args[:properties].nil? | 
					
						
							|  |  |  |           @type = args[:type] unless args[:type].nil? | 
					
						
							|  |  |  |           @update = args[:update] unless args[:update].nil? | 
					
						
							|  |  |  |           @update_time = args[:update_time] unless args[:update_time].nil? | 
					
						
							|  |  |  |           @url = args[:url] unless args[:url].nil? | 
					
						
							|  |  |  |           @warnings = args[:warnings] unless args[:warnings].nil? | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |         #  | 
					
						
							|  |  |  |         class Warning | 
					
						
							|  |  |  |           include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |          | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |           # [Output Only] A warning code, if applicable. For example, Compute Engine | 
					
						
							|  |  |  |           # returns NO_RESULTS_ON_PAGE if there are no results in the response. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |           # Corresponds to the JSON property `code` | 
					
						
							|  |  |  |           # @return [String] | 
					
						
							|  |  |  |           attr_accessor :code | 
					
						
							|  |  |  |          | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |           # [Output Only] Metadata about this warning in key: value format. For example: | 
					
						
							|  |  |  |           # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |           # Corresponds to the JSON property `data` | 
					
						
							|  |  |  |           # @return [Array<Google::Apis::DeploymentmanagerV2::Resource::Warning::Datum>] | 
					
						
							|  |  |  |           attr_accessor :data | 
					
						
							|  |  |  |          | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |           # [Output Only] A human-readable description of the warning code. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |           # Corresponds to the JSON property `message` | 
					
						
							|  |  |  |           # @return [String] | 
					
						
							|  |  |  |           attr_accessor :message | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |           def initialize(**args) | 
					
						
							|  |  |  |              update!(**args) | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |           # Update properties of this object | 
					
						
							|  |  |  |           def update!(**args) | 
					
						
							|  |  |  |             @code = args[:code] unless args[:code].nil? | 
					
						
							|  |  |  |             @data = args[:data] unless args[:data].nil? | 
					
						
							|  |  |  |             @message = args[:message] unless args[:message].nil? | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |           #  | 
					
						
							|  |  |  |           class Datum | 
					
						
							|  |  |  |             include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |            | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |             # [Output Only] A key that provides more detail on the warning being returned. | 
					
						
							|  |  |  |             # For example, for warnings where there are no results in a list request for a | 
					
						
							|  |  |  |             # particular zone, this key might be scope and the key value might be the zone | 
					
						
							|  |  |  |             # name. Other examples might be a key indicating a deprecated resource, and a | 
					
						
							|  |  |  |             # suggested replacement, or a warning about invalid network settings (for | 
					
						
							|  |  |  |             # example, if an instance attempts to perform IP forwarding but is not enabled | 
					
						
							|  |  |  |             # for IP forwarding). | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |             # Corresponds to the JSON property `key` | 
					
						
							|  |  |  |             # @return [String] | 
					
						
							|  |  |  |             attr_accessor :key | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             # [Output Only] A warning data value corresponding to the key. | 
					
						
							|  |  |  |             # Corresponds to the JSON property `value` | 
					
						
							|  |  |  |             # @return [String] | 
					
						
							|  |  |  |             attr_accessor :value | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             def initialize(**args) | 
					
						
							|  |  |  |                update!(**args) | 
					
						
							|  |  |  |             end | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             # Update properties of this object | 
					
						
							|  |  |  |             def update!(**args) | 
					
						
							|  |  |  |               @key = args[:key] unless args[:key].nil? | 
					
						
							|  |  |  |               @value = args[:value] unless args[:value].nil? | 
					
						
							|  |  |  |             end | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       #  | 
					
						
							|  |  |  |       class ResourceUpdate | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] If errors are generated during update of the resource, this | 
					
						
							|  |  |  |         # field will be populated. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `error` | 
					
						
							|  |  |  |         # @return [Google::Apis::DeploymentmanagerV2::ResourceUpdate::Error] | 
					
						
							|  |  |  |         attr_accessor :error | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] The expanded properties of the resource with reference values | 
					
						
							|  |  |  |         # expanded. Returned as serialized YAML. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `finalProperties` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :final_properties | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] The intent of the resource: PREVIEW, UPDATE, or CANCEL. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `intent` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :intent | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] URL of the manifest representing the update configuration of | 
					
						
							|  |  |  |         # this resource. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `manifest` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :manifest | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] The set of updated properties for this resource, before | 
					
						
							|  |  |  |         # references are expanded. Returned as serialized YAML. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `properties` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :properties | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] The state of the resource. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `state` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :state | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] If warning messages are generated during processing of this | 
					
						
							|  |  |  |         # resource, this field will be populated. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `warnings` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DeploymentmanagerV2::ResourceUpdate::Warning>] | 
					
						
							|  |  |  |         attr_accessor :warnings | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @error = args[:error] unless args[:error].nil? | 
					
						
							|  |  |  |           @final_properties = args[:final_properties] unless args[:final_properties].nil? | 
					
						
							|  |  |  |           @intent = args[:intent] unless args[:intent].nil? | 
					
						
							|  |  |  |           @manifest = args[:manifest] unless args[:manifest].nil? | 
					
						
							|  |  |  |           @properties = args[:properties] unless args[:properties].nil? | 
					
						
							|  |  |  |           @state = args[:state] unless args[:state].nil? | 
					
						
							|  |  |  |           @warnings = args[:warnings] unless args[:warnings].nil? | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |         # [Output Only] If errors are generated during update of the resource, this | 
					
						
							|  |  |  |         # field will be populated. | 
					
						
							|  |  |  |         class Error | 
					
						
							|  |  |  |           include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |           # [Output Only] The array of errors encountered while processing this operation. | 
					
						
							|  |  |  |           # Corresponds to the JSON property `errors` | 
					
						
							|  |  |  |           # @return [Array<Google::Apis::DeploymentmanagerV2::ResourceUpdate::Error::Error>] | 
					
						
							|  |  |  |           attr_accessor :errors | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |           def initialize(**args) | 
					
						
							|  |  |  |              update!(**args) | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |           # Update properties of this object | 
					
						
							|  |  |  |           def update!(**args) | 
					
						
							|  |  |  |             @errors = args[:errors] unless args[:errors].nil? | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |           #  | 
					
						
							|  |  |  |           class Error | 
					
						
							|  |  |  |             include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             # [Output Only] The error type identifier for this error. | 
					
						
							|  |  |  |             # Corresponds to the JSON property `code` | 
					
						
							|  |  |  |             # @return [String] | 
					
						
							|  |  |  |             attr_accessor :code | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             # [Output Only] Indicates the field in the request which caused the error. This | 
					
						
							|  |  |  |             # property is optional. | 
					
						
							|  |  |  |             # Corresponds to the JSON property `location` | 
					
						
							|  |  |  |             # @return [String] | 
					
						
							|  |  |  |             attr_accessor :location | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             # [Output Only] An optional, human-readable error message. | 
					
						
							|  |  |  |             # Corresponds to the JSON property `message` | 
					
						
							|  |  |  |             # @return [String] | 
					
						
							|  |  |  |             attr_accessor :message | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             def initialize(**args) | 
					
						
							|  |  |  |                update!(**args) | 
					
						
							|  |  |  |             end | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             # Update properties of this object | 
					
						
							|  |  |  |             def update!(**args) | 
					
						
							|  |  |  |               @code = args[:code] unless args[:code].nil? | 
					
						
							|  |  |  |               @location = args[:location] unless args[:location].nil? | 
					
						
							|  |  |  |               @message = args[:message] unless args[:message].nil? | 
					
						
							|  |  |  |             end | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |         #  | 
					
						
							|  |  |  |         class Warning | 
					
						
							|  |  |  |           include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |          | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |           # [Output Only] A warning code, if applicable. For example, Compute Engine | 
					
						
							|  |  |  |           # returns NO_RESULTS_ON_PAGE if there are no results in the response. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |           # Corresponds to the JSON property `code` | 
					
						
							|  |  |  |           # @return [String] | 
					
						
							|  |  |  |           attr_accessor :code | 
					
						
							|  |  |  |          | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |           # [Output Only] Metadata about this warning in key: value format. For example: | 
					
						
							|  |  |  |           # "data": [ ` "key": "scope", "value": "zones/us-east1-d" ` | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |           # Corresponds to the JSON property `data` | 
					
						
							|  |  |  |           # @return [Array<Google::Apis::DeploymentmanagerV2::ResourceUpdate::Warning::Datum>] | 
					
						
							|  |  |  |           attr_accessor :data | 
					
						
							|  |  |  |          | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |           # [Output Only] A human-readable description of the warning code. | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |           # Corresponds to the JSON property `message` | 
					
						
							|  |  |  |           # @return [String] | 
					
						
							|  |  |  |           attr_accessor :message | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |           def initialize(**args) | 
					
						
							|  |  |  |              update!(**args) | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |          | 
					
						
							|  |  |  |           # Update properties of this object | 
					
						
							|  |  |  |           def update!(**args) | 
					
						
							|  |  |  |             @code = args[:code] unless args[:code].nil? | 
					
						
							|  |  |  |             @data = args[:data] unless args[:data].nil? | 
					
						
							|  |  |  |             @message = args[:message] unless args[:message].nil? | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |           #  | 
					
						
							|  |  |  |           class Datum | 
					
						
							|  |  |  |             include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |            | 
					
						
							| 
									
										
										
										
											2015-12-14 22:27:57 +00:00
										 |  |  |             # [Output Only] A key that provides more detail on the warning being returned. | 
					
						
							|  |  |  |             # For example, for warnings where there are no results in a list request for a | 
					
						
							|  |  |  |             # particular zone, this key might be scope and the key value might be the zone | 
					
						
							|  |  |  |             # name. Other examples might be a key indicating a deprecated resource, and a | 
					
						
							|  |  |  |             # suggested replacement, or a warning about invalid network settings (for | 
					
						
							|  |  |  |             # example, if an instance attempts to perform IP forwarding but is not enabled | 
					
						
							|  |  |  |             # for IP forwarding). | 
					
						
							| 
									
										
										
										
											2015-12-03 01:10:07 +00:00
										 |  |  |             # Corresponds to the JSON property `key` | 
					
						
							|  |  |  |             # @return [String] | 
					
						
							|  |  |  |             attr_accessor :key | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             # [Output Only] A warning data value corresponding to the key. | 
					
						
							|  |  |  |             # Corresponds to the JSON property `value` | 
					
						
							|  |  |  |             # @return [String] | 
					
						
							|  |  |  |             attr_accessor :value | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             def initialize(**args) | 
					
						
							|  |  |  |                update!(**args) | 
					
						
							|  |  |  |             end | 
					
						
							|  |  |  |            | 
					
						
							|  |  |  |             # Update properties of this object | 
					
						
							|  |  |  |             def update!(**args) | 
					
						
							|  |  |  |               @key = args[:key] unless args[:key].nil? | 
					
						
							|  |  |  |               @value = args[:value] unless args[:value].nil? | 
					
						
							|  |  |  |             end | 
					
						
							|  |  |  |           end | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A response containing a partial list of resources and a page token used to | 
					
						
							|  |  |  |       # build the next request if the request has been truncated. | 
					
						
							|  |  |  |       class ListResourcesResponse | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A token used to continue a truncated list request. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `nextPageToken` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :next_page_token | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Resources contained in this list response. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `resources` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DeploymentmanagerV2::Resource>] | 
					
						
							|  |  |  |         attr_accessor :resources | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? | 
					
						
							|  |  |  |           @resources = args[:resources] unless args[:resources].nil? | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       #  | 
					
						
							|  |  |  |       class TargetConfiguration | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         #  | 
					
						
							|  |  |  |         # Corresponds to the JSON property `config` | 
					
						
							|  |  |  |         # @return [Google::Apis::DeploymentmanagerV2::ConfigFile] | 
					
						
							|  |  |  |         attr_accessor :config | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Specifies any files to import for this configuration. This can be used to | 
					
						
							|  |  |  |         # import templates or other files. For example, you might import a text file in | 
					
						
							|  |  |  |         # order to use the file in a template. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `imports` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DeploymentmanagerV2::ImportFile>] | 
					
						
							|  |  |  |         attr_accessor :imports | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @config = args[:config] unless args[:config].nil? | 
					
						
							|  |  |  |           @imports = args[:imports] unless args[:imports].nil? | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A resource type supported by Deployment Manager. | 
					
						
							|  |  |  |       class Type | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] Unique identifier for the resource; defined by the server. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `id` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :id | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] Timestamp when the type was created, in RFC3339 text format. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `insertTime` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :insert_time | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Name of the type. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `name` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :name | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] Self link for the type. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `selfLink` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :self_link | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @id = args[:id] unless args[:id].nil? | 
					
						
							|  |  |  |           @insert_time = args[:insert_time] unless args[:insert_time].nil? | 
					
						
							|  |  |  |           @name = args[:name] unless args[:name].nil? | 
					
						
							|  |  |  |           @self_link = args[:self_link] unless args[:self_link].nil? | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |       # A response that returns all Types supported by Deployment Manager | 
					
						
							|  |  |  |       class ListTypesResponse | 
					
						
							|  |  |  |         include Google::Apis::Core::Hashable | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # A token used to continue a truncated list request. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `nextPageToken` | 
					
						
							|  |  |  |         # @return [String] | 
					
						
							|  |  |  |         attr_accessor :next_page_token | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # [Output Only] A list of resource types supported by Deployment Manager. | 
					
						
							|  |  |  |         # Corresponds to the JSON property `types` | 
					
						
							|  |  |  |         # @return [Array<Google::Apis::DeploymentmanagerV2::Type>] | 
					
						
							|  |  |  |         attr_accessor :types | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         def initialize(**args) | 
					
						
							|  |  |  |            update!(**args) | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |        | 
					
						
							|  |  |  |         # Update properties of this object | 
					
						
							|  |  |  |         def update!(**args) | 
					
						
							|  |  |  |           @next_page_token = args[:next_page_token] unless args[:next_page_token].nil? | 
					
						
							|  |  |  |           @types = args[:types] unless args[:types].nil? | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |