google-apis-deploymentmanager_v2beta 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 93d9bd9354ff352c2241654ac9b1e3fb5952e576a9f704ccbc42e3bade039538
4
+ data.tar.gz: 96f42261130d12044e50140ca86f87be287503a260ae8d5c0f99d331990f0478
5
+ SHA512:
6
+ metadata.gz: 110bee73f7441cb620ebb2f5a436cf1fa80e0b934b90a21a354f1dd707f6ded6c32bcd0959eb875ab1b6cb9c8d0d71bb1ccee345ab65cbebd8b49bf2118dd40e
7
+ data.tar.gz: 12064bbf6e07a7564f9201f30f42c76c1fe6ac67d457099e024505b5ffd1f44b5b28c20488e12b308cb141270662b1ec4a5748d7d01bd71c69ce5633c21eefde
@@ -0,0 +1,13 @@
1
+ --hide-void-return
2
+ --no-private
3
+ --verbose
4
+ --title=google-apis-deploymentmanager_v2beta
5
+ --markup-provider=redcarpet
6
+ --markup=markdown
7
+ --main OVERVIEW.md
8
+ lib/google/apis/deploymentmanager_v2beta/*.rb
9
+ lib/google/apis/deploymentmanager_v2beta.rb
10
+ -
11
+ OVERVIEW.md
12
+ CHANGELOG.md
13
+ LICENSE.md
@@ -0,0 +1,7 @@
1
+ # Release history for google-apis-deploymentmanager_v2beta
2
+
3
+ ### v0.1.0 (2021-01-07)
4
+
5
+ * Regenerated using generator version 0.1.1
6
+ * Regenerated from discovery document revision 20201203
7
+
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
@@ -0,0 +1,96 @@
1
+ # Simple REST client for version V2beta of the Cloud Deployment Manager V2 API
2
+
3
+ This is a simple client library for version V2beta of the Cloud Deployment Manager V2 API. It provides:
4
+
5
+ * A client object that connects to the HTTP/JSON REST endpoint for the service.
6
+ * Ruby objects for data structures related to the service.
7
+ * Integration with the googleauth gem for authentication using OAuth, API keys, and service accounts.
8
+ * Control of retry, pagination, and timeouts.
9
+
10
+ Note that although this client library is supported and will continue to be updated to track changes to the service, it is otherwise considered complete and not under active development. Many Google services, especially Google Cloud Platform services, may provide a more modern client that is under more active development and improvement. See the section below titled *Which client should I use?* for more information.
11
+
12
+ ## Getting started
13
+
14
+ ### Before you begin
15
+
16
+ There are a few setup steps you need to complete before you can use this library:
17
+
18
+ 1. If you don't already have a Google account, [sign up](https://www.google.com/accounts).
19
+ 2. If you have never created a Google APIs Console project, read about [Managing Projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects) and create a project in the [Google API Console](https://console.cloud.google.com/).
20
+ 3. Most APIs need to be enabled for your project. [Enable it](https://console.cloud.google.com/apis/library/deploymentmanager.googleapis.com) in the console.
21
+
22
+ ### Installation
23
+
24
+ Add this line to your application's Gemfile:
25
+
26
+ ```ruby
27
+ gem 'google-apis-deploymentmanager_v2beta', '~> 0.1'
28
+ ```
29
+
30
+ And then execute:
31
+
32
+ ```
33
+ $ bundle
34
+ ```
35
+
36
+ Or install it yourself as:
37
+
38
+ ```
39
+ $ gem install google-apis-deploymentmanager_v2beta
40
+ ```
41
+
42
+ ### Creating a client object
43
+
44
+ Once the gem is installed, you can load the client code and instantiate a client.
45
+
46
+ ```ruby
47
+ # Load the client
48
+ require "google/apis/deploymentmanager_v2beta"
49
+
50
+ # Create a client object
51
+ client = Google::Apis::DeploymentmanagerV2beta::DeploymentManagerService.new
52
+
53
+ # Authenticate calls
54
+ client.authentication = # ... use the googleauth gem to create credentials
55
+ ```
56
+
57
+ See the class reference docs for information on the methods you can call from a client.
58
+
59
+ ## Documentation
60
+
61
+ More detailed descriptions of the Google simple REST clients are available in two documents.
62
+
63
+ * The [Usage Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/usage-guide.md) discusses how to make API calls, how to use the provided data structures, and how to work the various features of the client library, including media upload and download, error handling, retries, pagination, and logging.
64
+ * The [Auth Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/auth-guide.md) discusses authentication in the client libraries, including API keys, OAuth 2.0, service accounts, and environment variables.
65
+
66
+ (Note: the above documents are written for the simple REST clients in general, and their examples may not reflect the Deploymentmanager service in particular.)
67
+
68
+ For reference information on specific calls in the Cloud Deployment Manager V2 API, see the {Google::Apis::DeploymentmanagerV2beta::DeploymentManagerService class reference docs}.
69
+
70
+ ## Which client should I use?
71
+
72
+ Google provides two types of Ruby API client libraries: **simple REST clients** and **modern clients**.
73
+
74
+ This library, `google-apis-deploymentmanager_v2beta`, is a simple REST client. You can identify these clients by their gem names, which are always in the form `google-apis-<servicename>_<serviceversion>`. The simple REST clients connect to HTTP/JSON REST endpoints and are automatically generated from service discovery documents. They support most API functionality, but their class interfaces are sometimes awkward.
75
+
76
+ Modern clients are produced by a modern code generator, sometimes combined with hand-crafted functionality. Most modern clients connect to high-performance gRPC endpoints, although a few are backed by REST services. Modern clients are available for many Google services, especially Google Cloud Platform services, but do not yet support all the services covered by the simple clients.
77
+
78
+ Gem names for modern clients are often of the form `google-cloud-<service_name>`. (For example, [google-cloud-pubsub](https://rubygems.org/gems/google-cloud-pubsub).) Note that most modern clients also have corresponding "versioned" gems with names like `google-cloud-<service_name>-<version>`. (For example, [google-cloud-pubsub-v1](https://rubygems.org/gems/google-cloud-pubsub-v1).) The "versioned" gems can be used directly, but often provide lower-level interfaces. In most cases, the main gem is recommended.
79
+
80
+ **For most users, we recommend the modern client, if one is available.** Compared with simple clients, modern clients are generally much easier to use and more Ruby-like, support more advanced features such as streaming and long-running operations, and often provide much better performance. You may consider using a simple client instead, if a modern client is not yet available for the service you want to use, or if you are not able to use gRPC on your infrastructure.
81
+
82
+ The [product documentation](https://cloud.google.com/deployment-manager) may provide guidance regarding the preferred client library to use.
83
+
84
+ ## Supported Ruby versions
85
+
86
+ This library is supported on Ruby 2.5+.
87
+
88
+ Google provides official support for Ruby versions that are actively supported by Ruby Core -- that is, Ruby versions that are either in normal maintenance or in security maintenance, and not end of life. Currently, this means Ruby 2.5 and later. Older versions of Ruby _may_ still work, but are unsupported and not recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby support schedule.
89
+
90
+ ## License
91
+
92
+ This library is licensed under Apache 2.0. Full license text is available in the {file:LICENSE.md LICENSE}.
93
+
94
+ ## Support
95
+
96
+ Please [report bugs at the project on Github](https://github.com/google/google-api-ruby-client/issues). Don't hesitate to [ask questions](http://stackoverflow.com/questions/tagged/google-api-ruby-client) about the client or APIs on [StackOverflow](http://stackoverflow.com).
@@ -0,0 +1,15 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require "google/apis/deploymentmanager_v2beta"
@@ -0,0 +1,47 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/deploymentmanager_v2beta/service.rb'
16
+ require 'google/apis/deploymentmanager_v2beta/classes.rb'
17
+ require 'google/apis/deploymentmanager_v2beta/representations.rb'
18
+ require 'google/apis/deploymentmanager_v2beta/gem_version.rb'
19
+
20
+ module Google
21
+ module Apis
22
+ # Cloud Deployment Manager V2 API
23
+ #
24
+ # The Google Cloud Deployment Manager v2 API provides services for configuring,
25
+ # deploying, and viewing Google Cloud services and APIs via templates which
26
+ # specify deployments of Cloud resources.
27
+ #
28
+ # @see https://cloud.google.com/deployment-manager
29
+ module DeploymentmanagerV2beta
30
+ # Version of the Cloud Deployment Manager V2 API this client connects to.
31
+ # This is NOT the gem version.
32
+ VERSION = 'V2beta'
33
+
34
+ # View and manage your data across Google Cloud Platform services
35
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
36
+
37
+ # View your data across Google Cloud Platform services
38
+ AUTH_CLOUD_PLATFORM_READ_ONLY = 'https://www.googleapis.com/auth/cloud-platform.read-only'
39
+
40
+ # View and manage your Google Cloud Platform management resources and deployment status information
41
+ AUTH_NDEV_CLOUDMAN = 'https://www.googleapis.com/auth/ndev.cloudman'
42
+
43
+ # View your Google Cloud Platform management resources and deployment status information
44
+ AUTH_NDEV_CLOUDMAN_READONLY = 'https://www.googleapis.com/auth/ndev.cloudman.readonly'
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,2481 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module DeploymentmanagerV2beta
24
+
25
+ # Async options that determine when a resource should finish.
26
+ class AsyncOptions
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Method regex where this policy will apply.
30
+ # Corresponds to the JSON property `methodMatch`
31
+ # @return [String]
32
+ attr_accessor :method_match
33
+
34
+ # Deployment manager will poll instances for this API resource setting a RUNNING
35
+ # state, and blocking until polling conditions tell whether the resource is
36
+ # completed or failed.
37
+ # Corresponds to the JSON property `pollingOptions`
38
+ # @return [Google::Apis::DeploymentmanagerV2beta::PollingOptions]
39
+ attr_accessor :polling_options
40
+
41
+ def initialize(**args)
42
+ update!(**args)
43
+ end
44
+
45
+ # Update properties of this object
46
+ def update!(**args)
47
+ @method_match = args[:method_match] if args.key?(:method_match)
48
+ @polling_options = args[:polling_options] if args.key?(:polling_options)
49
+ end
50
+ end
51
+
52
+ # Specifies the audit configuration for a service. The configuration determines
53
+ # which permission types are logged, and what identities, if any, are exempted
54
+ # from logging. An AuditConfig must have one or more AuditLogConfigs. If there
55
+ # are AuditConfigs for both `allServices` and a specific service, the union of
56
+ # the two AuditConfigs is used for that service: the log_types specified in each
57
+ # AuditConfig are enabled, and the exempted_members in each AuditLogConfig are
58
+ # exempted. Example Policy with multiple AuditConfigs: ` "audit_configs": [ ` "
59
+ # service": "allServices", "audit_log_configs": [ ` "log_type": "DATA_READ", "
60
+ # exempted_members": [ "user:jose@example.com" ] `, ` "log_type": "DATA_WRITE" `,
61
+ # ` "log_type": "ADMIN_READ" ` ] `, ` "service": "sampleservice.googleapis.com",
62
+ # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
63
+ # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
64
+ # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
65
+ # exempts jose@example.com from DATA_READ logging, and aliya@example.com from
66
+ # DATA_WRITE logging.
67
+ class AuditConfig
68
+ include Google::Apis::Core::Hashable
69
+
70
+ # The configuration for logging of each type of permission.
71
+ # Corresponds to the JSON property `auditLogConfigs`
72
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::AuditLogConfig>]
73
+ attr_accessor :audit_log_configs
74
+
75
+ # Specifies a service that will be enabled for audit logging. For example, `
76
+ # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special
77
+ # value that covers all services.
78
+ # Corresponds to the JSON property `service`
79
+ # @return [String]
80
+ attr_accessor :service
81
+
82
+ def initialize(**args)
83
+ update!(**args)
84
+ end
85
+
86
+ # Update properties of this object
87
+ def update!(**args)
88
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
89
+ @service = args[:service] if args.key?(:service)
90
+ end
91
+ end
92
+
93
+ # Provides the configuration for logging a type of permissions. Example: ` "
94
+ # audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ "user:
95
+ # jose@example.com" ] `, ` "log_type": "DATA_WRITE" ` ] ` This enables '
96
+ # DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from
97
+ # DATA_READ logging.
98
+ class AuditLogConfig
99
+ include Google::Apis::Core::Hashable
100
+
101
+ # Specifies the identities that do not cause logging for this type of permission.
102
+ # Follows the same format of Binding.members.
103
+ # Corresponds to the JSON property `exemptedMembers`
104
+ # @return [Array<String>]
105
+ attr_accessor :exempted_members
106
+
107
+ # The log type that this config enables.
108
+ # Corresponds to the JSON property `logType`
109
+ # @return [String]
110
+ attr_accessor :log_type
111
+
112
+ def initialize(**args)
113
+ update!(**args)
114
+ end
115
+
116
+ # Update properties of this object
117
+ def update!(**args)
118
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
119
+ @log_type = args[:log_type] if args.key?(:log_type)
120
+ end
121
+ end
122
+
123
+ # BaseType that describes a service-backed Type.
124
+ class BaseType
125
+ include Google::Apis::Core::Hashable
126
+
127
+ # Allows resource handling overrides for specific collections
128
+ # Corresponds to the JSON property `collectionOverrides`
129
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::CollectionOverride>]
130
+ attr_accessor :collection_overrides
131
+
132
+ # The credential used by Deployment Manager and TypeProvider. Only one of the
133
+ # options is permitted.
134
+ # Corresponds to the JSON property `credential`
135
+ # @return [Google::Apis::DeploymentmanagerV2beta::Credential]
136
+ attr_accessor :credential
137
+
138
+ # Descriptor Url for the this type.
139
+ # Corresponds to the JSON property `descriptorUrl`
140
+ # @return [String]
141
+ attr_accessor :descriptor_url
142
+
143
+ # Options allows customized resource handling by Deployment Manager.
144
+ # Corresponds to the JSON property `options`
145
+ # @return [Google::Apis::DeploymentmanagerV2beta::Options]
146
+ attr_accessor :options
147
+
148
+ def initialize(**args)
149
+ update!(**args)
150
+ end
151
+
152
+ # Update properties of this object
153
+ def update!(**args)
154
+ @collection_overrides = args[:collection_overrides] if args.key?(:collection_overrides)
155
+ @credential = args[:credential] if args.key?(:credential)
156
+ @descriptor_url = args[:descriptor_url] if args.key?(:descriptor_url)
157
+ @options = args[:options] if args.key?(:options)
158
+ end
159
+ end
160
+
161
+ # Basic Auth used as a credential.
162
+ class BasicAuth
163
+ include Google::Apis::Core::Hashable
164
+
165
+ #
166
+ # Corresponds to the JSON property `password`
167
+ # @return [String]
168
+ attr_accessor :password
169
+
170
+ #
171
+ # Corresponds to the JSON property `user`
172
+ # @return [String]
173
+ attr_accessor :user
174
+
175
+ def initialize(**args)
176
+ update!(**args)
177
+ end
178
+
179
+ # Update properties of this object
180
+ def update!(**args)
181
+ @password = args[:password] if args.key?(:password)
182
+ @user = args[:user] if args.key?(:user)
183
+ end
184
+ end
185
+
186
+ # Associates `members` with a `role`.
187
+ class Binding
188
+ include Google::Apis::Core::Hashable
189
+
190
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
191
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
192
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
193
+ # "Summary size limit" description: "Determines if a summary is less than 100
194
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
195
+ # Requestor is owner" description: "Determines if requestor is the document
196
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
197
+ # Logic): title: "Public documents" description: "Determine whether the document
198
+ # should be publicly visible" expression: "document.type != 'private' &&
199
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
200
+ # string" description: "Create a notification string with a timestamp."
201
+ # expression: "'New message received at ' + string(document.create_time)" The
202
+ # exact variables and functions that may be referenced within an expression are
203
+ # determined by the service that evaluates it. See the service documentation for
204
+ # additional information.
205
+ # Corresponds to the JSON property `condition`
206
+ # @return [Google::Apis::DeploymentmanagerV2beta::Expr]
207
+ attr_accessor :condition
208
+
209
+ # Specifies the identities requesting access for a Cloud Platform resource. `
210
+ # members` can have the following values: * `allUsers`: A special identifier
211
+ # that represents anyone who is on the internet; with or without a Google
212
+ # account. * `allAuthenticatedUsers`: A special identifier that represents
213
+ # anyone who is authenticated with a Google account or a service account. * `
214
+ # user:`emailid``: An email address that represents a specific Google account.
215
+ # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
216
+ # address that represents a service account. For example, `my-other-app@appspot.
217
+ # gserviceaccount.com`. * `group:`emailid``: An email address that represents a
218
+ # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
219
+ # `uniqueid``: An email address (plus unique identifier) representing a user
220
+ # that has been recently deleted. For example, `alice@example.com?uid=
221
+ # 123456789012345678901`. If the user is recovered, this value reverts to `user:`
222
+ # emailid`` and the recovered user retains the role in the binding. * `deleted:
223
+ # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
224
+ # identifier) representing a service account that has been recently deleted. For
225
+ # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
226
+ # If the service account is undeleted, this value reverts to `serviceAccount:`
227
+ # emailid`` and the undeleted service account retains the role in the binding. *
228
+ # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
229
+ # identifier) representing a Google group that has been recently deleted. For
230
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
231
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
232
+ # retains the role in the binding. * `domain:`domain``: The G Suite domain (
233
+ # primary) that represents all the users of that domain. For example, `google.
234
+ # com` or `example.com`.
235
+ # Corresponds to the JSON property `members`
236
+ # @return [Array<String>]
237
+ attr_accessor :members
238
+
239
+ # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
240
+ # , or `roles/owner`.
241
+ # Corresponds to the JSON property `role`
242
+ # @return [String]
243
+ attr_accessor :role
244
+
245
+ def initialize(**args)
246
+ update!(**args)
247
+ end
248
+
249
+ # Update properties of this object
250
+ def update!(**args)
251
+ @condition = args[:condition] if args.key?(:condition)
252
+ @members = args[:members] if args.key?(:members)
253
+ @role = args[:role] if args.key?(:role)
254
+ end
255
+ end
256
+
257
+ # CollectionOverride allows resource handling overrides for specific resources
258
+ # within a BaseType
259
+ class CollectionOverride
260
+ include Google::Apis::Core::Hashable
261
+
262
+ # The collection that identifies this resource within its service.
263
+ # Corresponds to the JSON property `collection`
264
+ # @return [String]
265
+ attr_accessor :collection
266
+
267
+ # Options allows customized resource handling by Deployment Manager.
268
+ # Corresponds to the JSON property `options`
269
+ # @return [Google::Apis::DeploymentmanagerV2beta::Options]
270
+ attr_accessor :options
271
+
272
+ def initialize(**args)
273
+ update!(**args)
274
+ end
275
+
276
+ # Update properties of this object
277
+ def update!(**args)
278
+ @collection = args[:collection] if args.key?(:collection)
279
+ @options = args[:options] if args.key?(:options)
280
+ end
281
+ end
282
+
283
+ # Holds the composite type.
284
+ class CompositeType
285
+ include Google::Apis::Core::Hashable
286
+
287
+ # An optional textual description of the resource; provided by the client when
288
+ # the resource is created.
289
+ # Corresponds to the JSON property `description`
290
+ # @return [String]
291
+ attr_accessor :description
292
+
293
+ #
294
+ # Corresponds to the JSON property `id`
295
+ # @return [Fixnum]
296
+ attr_accessor :id
297
+
298
+ # Output only. Creation timestamp in RFC3339 text format.
299
+ # Corresponds to the JSON property `insertTime`
300
+ # @return [String]
301
+ attr_accessor :insert_time
302
+
303
+ # Map of labels; provided by the client when the resource is created or updated.
304
+ # Specifically: Label keys must be between 1 and 63 characters long and must
305
+ # conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`
306
+ # Label values must be between 0 and 63 characters long and must conform to the
307
+ # regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
308
+ # Corresponds to the JSON property `labels`
309
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::CompositeTypeLabelEntry>]
310
+ attr_accessor :labels
311
+
312
+ # Name of the composite type, must follow the expression: `[a-z]([-a-z0-9_.]`0,
313
+ # 61`[a-z0-9])?`.
314
+ # Corresponds to the JSON property `name`
315
+ # @return [String]
316
+ attr_accessor :name
317
+
318
+ # Represents an Operation resource. Google Compute Engine has three Operation
319
+ # resources: * [Global](/compute/docs/reference/rest/`$api_version`/
320
+ # globalOperations) * [Regional](/compute/docs/reference/rest/`$api_version`/
321
+ # regionOperations) * [Zonal](/compute/docs/reference/rest/`$api_version`/
322
+ # zoneOperations) You can use an operation resource to manage asynchronous API
323
+ # requests. For more information, read Handling API responses. Operations can be
324
+ # global, regional or zonal. - For global operations, use the `globalOperations`
325
+ # resource. - For regional operations, use the `regionOperations` resource. -
326
+ # For zonal operations, use the `zonalOperations` resource. For more information,
327
+ # read Global, Regional, and Zonal Resources.
328
+ # Corresponds to the JSON property `operation`
329
+ # @return [Google::Apis::DeploymentmanagerV2beta::Operation]
330
+ attr_accessor :operation
331
+
332
+ # Output only. Server defined URL for the resource.
333
+ # Corresponds to the JSON property `selfLink`
334
+ # @return [String]
335
+ attr_accessor :self_link
336
+
337
+ #
338
+ # Corresponds to the JSON property `status`
339
+ # @return [String]
340
+ attr_accessor :status
341
+
342
+ # Files that make up the template contents of a template type.
343
+ # Corresponds to the JSON property `templateContents`
344
+ # @return [Google::Apis::DeploymentmanagerV2beta::TemplateContents]
345
+ attr_accessor :template_contents
346
+
347
+ def initialize(**args)
348
+ update!(**args)
349
+ end
350
+
351
+ # Update properties of this object
352
+ def update!(**args)
353
+ @description = args[:description] if args.key?(:description)
354
+ @id = args[:id] if args.key?(:id)
355
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
356
+ @labels = args[:labels] if args.key?(:labels)
357
+ @name = args[:name] if args.key?(:name)
358
+ @operation = args[:operation] if args.key?(:operation)
359
+ @self_link = args[:self_link] if args.key?(:self_link)
360
+ @status = args[:status] if args.key?(:status)
361
+ @template_contents = args[:template_contents] if args.key?(:template_contents)
362
+ end
363
+ end
364
+
365
+ # Label object for CompositeTypes
366
+ class CompositeTypeLabelEntry
367
+ include Google::Apis::Core::Hashable
368
+
369
+ # Key of the label
370
+ # Corresponds to the JSON property `key`
371
+ # @return [String]
372
+ attr_accessor :key
373
+
374
+ # Value of the label
375
+ # Corresponds to the JSON property `value`
376
+ # @return [String]
377
+ attr_accessor :value
378
+
379
+ def initialize(**args)
380
+ update!(**args)
381
+ end
382
+
383
+ # Update properties of this object
384
+ def update!(**args)
385
+ @key = args[:key] if args.key?(:key)
386
+ @value = args[:value] if args.key?(:value)
387
+ end
388
+ end
389
+
390
+ # A response that returns all Composite Types supported by Deployment Manager
391
+ class CompositeTypesListResponse
392
+ include Google::Apis::Core::Hashable
393
+
394
+ # Output only. A list of resource composite types supported by Deployment
395
+ # Manager.
396
+ # Corresponds to the JSON property `compositeTypes`
397
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::CompositeType>]
398
+ attr_accessor :composite_types
399
+
400
+ # A token used to continue a truncated list request.
401
+ # Corresponds to the JSON property `nextPageToken`
402
+ # @return [String]
403
+ attr_accessor :next_page_token
404
+
405
+ def initialize(**args)
406
+ update!(**args)
407
+ end
408
+
409
+ # Update properties of this object
410
+ def update!(**args)
411
+ @composite_types = args[:composite_types] if args.key?(:composite_types)
412
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
413
+ end
414
+ end
415
+
416
+ #
417
+ class ConfigFile
418
+ include Google::Apis::Core::Hashable
419
+
420
+ # The contents of the file.
421
+ # Corresponds to the JSON property `content`
422
+ # @return [String]
423
+ attr_accessor :content
424
+
425
+ def initialize(**args)
426
+ update!(**args)
427
+ end
428
+
429
+ # Update properties of this object
430
+ def update!(**args)
431
+ @content = args[:content] if args.key?(:content)
432
+ end
433
+ end
434
+
435
+ # The credential used by Deployment Manager and TypeProvider. Only one of the
436
+ # options is permitted.
437
+ class Credential
438
+ include Google::Apis::Core::Hashable
439
+
440
+ # Basic Auth used as a credential.
441
+ # Corresponds to the JSON property `basicAuth`
442
+ # @return [Google::Apis::DeploymentmanagerV2beta::BasicAuth]
443
+ attr_accessor :basic_auth
444
+
445
+ # Service Account used as a credential.
446
+ # Corresponds to the JSON property `serviceAccount`
447
+ # @return [Google::Apis::DeploymentmanagerV2beta::ServiceAccount]
448
+ attr_accessor :service_account
449
+
450
+ # Specify to use the project default credential, only supported by Deployment.
451
+ # Corresponds to the JSON property `useProjectDefault`
452
+ # @return [Boolean]
453
+ attr_accessor :use_project_default
454
+ alias_method :use_project_default?, :use_project_default
455
+
456
+ def initialize(**args)
457
+ update!(**args)
458
+ end
459
+
460
+ # Update properties of this object
461
+ def update!(**args)
462
+ @basic_auth = args[:basic_auth] if args.key?(:basic_auth)
463
+ @service_account = args[:service_account] if args.key?(:service_account)
464
+ @use_project_default = args[:use_project_default] if args.key?(:use_project_default)
465
+ end
466
+ end
467
+
468
+ #
469
+ class Deployment
470
+ include Google::Apis::Core::Hashable
471
+
472
+ # An optional user-provided description of the deployment.
473
+ # Corresponds to the JSON property `description`
474
+ # @return [String]
475
+ attr_accessor :description
476
+
477
+ # Provides a fingerprint to use in requests to modify a deployment, such as `
478
+ # update()`, `stop()`, and `cancelPreview()` requests. A fingerprint is a
479
+ # randomly generated value that must be provided with `update()`, `stop()`, and `
480
+ # cancelPreview()` requests to perform optimistic locking. This ensures
481
+ # optimistic concurrency so that only one request happens at a time. The
482
+ # fingerprint is initially generated by Deployment Manager and changes after
483
+ # every request to modify data. To get the latest fingerprint value, perform a `
484
+ # get()` request to a deployment.
485
+ # Corresponds to the JSON property `fingerprint`
486
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
487
+ # @return [String]
488
+ attr_accessor :fingerprint
489
+
490
+ #
491
+ # Corresponds to the JSON property `id`
492
+ # @return [Fixnum]
493
+ attr_accessor :id
494
+
495
+ # Output only. Creation timestamp in RFC3339 text format.
496
+ # Corresponds to the JSON property `insertTime`
497
+ # @return [String]
498
+ attr_accessor :insert_time
499
+
500
+ # Map of One Platform labels; provided by the client when the resource is
501
+ # created or updated. Specifically: Label keys must be between 1 and 63
502
+ # characters long and must conform to the following regular expression: `[a-z]([-
503
+ # a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and
504
+ # must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
505
+ # Corresponds to the JSON property `labels`
506
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::DeploymentLabelEntry>]
507
+ attr_accessor :labels
508
+
509
+ # Output only. URL of the manifest representing the last manifest that was
510
+ # successfully deployed. If no manifest has been successfully deployed, this
511
+ # field will be absent.
512
+ # Corresponds to the JSON property `manifest`
513
+ # @return [String]
514
+ attr_accessor :manifest
515
+
516
+ # Name of the resource; provided by the client when the resource is created. The
517
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
518
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
519
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
520
+ # and all following characters must be a dash, lowercase letter, or digit,
521
+ # except the last character, which cannot be a dash.
522
+ # Corresponds to the JSON property `name`
523
+ # @return [String]
524
+ attr_accessor :name
525
+
526
+ # Represents an Operation resource. Google Compute Engine has three Operation
527
+ # resources: * [Global](/compute/docs/reference/rest/`$api_version`/
528
+ # globalOperations) * [Regional](/compute/docs/reference/rest/`$api_version`/
529
+ # regionOperations) * [Zonal](/compute/docs/reference/rest/`$api_version`/
530
+ # zoneOperations) You can use an operation resource to manage asynchronous API
531
+ # requests. For more information, read Handling API responses. Operations can be
532
+ # global, regional or zonal. - For global operations, use the `globalOperations`
533
+ # resource. - For regional operations, use the `regionOperations` resource. -
534
+ # For zonal operations, use the `zonalOperations` resource. For more information,
535
+ # read Global, Regional, and Zonal Resources.
536
+ # Corresponds to the JSON property `operation`
537
+ # @return [Google::Apis::DeploymentmanagerV2beta::Operation]
538
+ attr_accessor :operation
539
+
540
+ # Output only. Server defined URL for the resource.
541
+ # Corresponds to the JSON property `selfLink`
542
+ # @return [String]
543
+ attr_accessor :self_link
544
+
545
+ # [Input Only] The parameters that define your deployment, including the
546
+ # deployment configuration and relevant templates.
547
+ # Corresponds to the JSON property `target`
548
+ # @return [Google::Apis::DeploymentmanagerV2beta::TargetConfiguration]
549
+ attr_accessor :target
550
+
551
+ # Output only. If Deployment Manager is currently updating or previewing an
552
+ # update to this deployment, the updated configuration appears here.
553
+ # Corresponds to the JSON property `update`
554
+ # @return [Google::Apis::DeploymentmanagerV2beta::DeploymentUpdate]
555
+ attr_accessor :update
556
+
557
+ # Output only. Update timestamp in RFC3339 text format.
558
+ # Corresponds to the JSON property `updateTime`
559
+ # @return [String]
560
+ attr_accessor :update_time
561
+
562
+ def initialize(**args)
563
+ update!(**args)
564
+ end
565
+
566
+ # Update properties of this object
567
+ def update!(**args)
568
+ @description = args[:description] if args.key?(:description)
569
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
570
+ @id = args[:id] if args.key?(:id)
571
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
572
+ @labels = args[:labels] if args.key?(:labels)
573
+ @manifest = args[:manifest] if args.key?(:manifest)
574
+ @name = args[:name] if args.key?(:name)
575
+ @operation = args[:operation] if args.key?(:operation)
576
+ @self_link = args[:self_link] if args.key?(:self_link)
577
+ @target = args[:target] if args.key?(:target)
578
+ @update = args[:update] if args.key?(:update)
579
+ @update_time = args[:update_time] if args.key?(:update_time)
580
+ end
581
+ end
582
+
583
+ # Label object for Deployments
584
+ class DeploymentLabelEntry
585
+ include Google::Apis::Core::Hashable
586
+
587
+ # Key of the label
588
+ # Corresponds to the JSON property `key`
589
+ # @return [String]
590
+ attr_accessor :key
591
+
592
+ # Value of the label
593
+ # Corresponds to the JSON property `value`
594
+ # @return [String]
595
+ attr_accessor :value
596
+
597
+ def initialize(**args)
598
+ update!(**args)
599
+ end
600
+
601
+ # Update properties of this object
602
+ def update!(**args)
603
+ @key = args[:key] if args.key?(:key)
604
+ @value = args[:value] if args.key?(:value)
605
+ end
606
+ end
607
+
608
+ #
609
+ class DeploymentUpdate
610
+ include Google::Apis::Core::Hashable
611
+
612
+ # Output only. An optional user-provided description of the deployment after the
613
+ # current update has been applied.
614
+ # Corresponds to the JSON property `description`
615
+ # @return [String]
616
+ attr_accessor :description
617
+
618
+ # Map of One Platform labels; provided by the client when the resource is
619
+ # created or updated. Specifically: Label keys must be between 1 and 63
620
+ # characters long and must conform to the following regular expression: `[a-z]([-
621
+ # a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and
622
+ # must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
623
+ # Corresponds to the JSON property `labels`
624
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::DeploymentUpdateLabelEntry>]
625
+ attr_accessor :labels
626
+
627
+ # Output only. URL of the manifest representing the update configuration of this
628
+ # deployment.
629
+ # Corresponds to the JSON property `manifest`
630
+ # @return [String]
631
+ attr_accessor :manifest
632
+
633
+ def initialize(**args)
634
+ update!(**args)
635
+ end
636
+
637
+ # Update properties of this object
638
+ def update!(**args)
639
+ @description = args[:description] if args.key?(:description)
640
+ @labels = args[:labels] if args.key?(:labels)
641
+ @manifest = args[:manifest] if args.key?(:manifest)
642
+ end
643
+ end
644
+
645
+ # Label object for DeploymentUpdate
646
+ class DeploymentUpdateLabelEntry
647
+ include Google::Apis::Core::Hashable
648
+
649
+ # Key of the label
650
+ # Corresponds to the JSON property `key`
651
+ # @return [String]
652
+ attr_accessor :key
653
+
654
+ # Value of the label
655
+ # Corresponds to the JSON property `value`
656
+ # @return [String]
657
+ attr_accessor :value
658
+
659
+ def initialize(**args)
660
+ update!(**args)
661
+ end
662
+
663
+ # Update properties of this object
664
+ def update!(**args)
665
+ @key = args[:key] if args.key?(:key)
666
+ @value = args[:value] if args.key?(:value)
667
+ end
668
+ end
669
+
670
+ #
671
+ class DeploymentsCancelPreviewRequest
672
+ include Google::Apis::Core::Hashable
673
+
674
+ # Specifies a fingerprint for `cancelPreview()` requests. A fingerprint is a
675
+ # randomly generated value that must be provided in `cancelPreview()` requests
676
+ # to perform optimistic locking. This ensures optimistic concurrency so that the
677
+ # deployment does not have conflicting requests (e.g. if someone attempts to
678
+ # make a new update request while another user attempts to cancel a preview,
679
+ # this would prevent one of the requests). The fingerprint is initially
680
+ # generated by Deployment Manager and changes after every request to modify a
681
+ # deployment. To get the latest fingerprint value, perform a `get()` request on
682
+ # the deployment.
683
+ # Corresponds to the JSON property `fingerprint`
684
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
685
+ # @return [String]
686
+ attr_accessor :fingerprint
687
+
688
+ def initialize(**args)
689
+ update!(**args)
690
+ end
691
+
692
+ # Update properties of this object
693
+ def update!(**args)
694
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
695
+ end
696
+ end
697
+
698
+ # A response containing a partial list of deployments and a page token used to
699
+ # build the next request if the request has been truncated.
700
+ class DeploymentsListResponse
701
+ include Google::Apis::Core::Hashable
702
+
703
+ # Output only. The deployments contained in this response.
704
+ # Corresponds to the JSON property `deployments`
705
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::Deployment>]
706
+ attr_accessor :deployments
707
+
708
+ # Output only. A token used to continue a truncated list request.
709
+ # Corresponds to the JSON property `nextPageToken`
710
+ # @return [String]
711
+ attr_accessor :next_page_token
712
+
713
+ def initialize(**args)
714
+ update!(**args)
715
+ end
716
+
717
+ # Update properties of this object
718
+ def update!(**args)
719
+ @deployments = args[:deployments] if args.key?(:deployments)
720
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
721
+ end
722
+ end
723
+
724
+ #
725
+ class DeploymentsStopRequest
726
+ include Google::Apis::Core::Hashable
727
+
728
+ # Specifies a fingerprint for `stop()` requests. A fingerprint is a randomly
729
+ # generated value that must be provided in `stop()` requests to perform
730
+ # optimistic locking. This ensures optimistic concurrency so that the deployment
731
+ # does not have conflicting requests (e.g. if someone attempts to make a new
732
+ # update request while another user attempts to stop an ongoing update request,
733
+ # this would prevent a collision). The fingerprint is initially generated by
734
+ # Deployment Manager and changes after every request to modify a deployment. To
735
+ # get the latest fingerprint value, perform a `get()` request on the deployment.
736
+ # Corresponds to the JSON property `fingerprint`
737
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
738
+ # @return [String]
739
+ attr_accessor :fingerprint
740
+
741
+ def initialize(**args)
742
+ update!(**args)
743
+ end
744
+
745
+ # Update properties of this object
746
+ def update!(**args)
747
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
748
+ end
749
+ end
750
+
751
+ #
752
+ class Diagnostic
753
+ include Google::Apis::Core::Hashable
754
+
755
+ # JsonPath expression on the resource that if non empty, indicates that this
756
+ # field needs to be extracted as a diagnostic.
757
+ # Corresponds to the JSON property `field`
758
+ # @return [String]
759
+ attr_accessor :field
760
+
761
+ # Level to record this diagnostic.
762
+ # Corresponds to the JSON property `level`
763
+ # @return [String]
764
+ attr_accessor :level
765
+
766
+ def initialize(**args)
767
+ update!(**args)
768
+ end
769
+
770
+ # Update properties of this object
771
+ def update!(**args)
772
+ @field = args[:field] if args.key?(:field)
773
+ @level = args[:level] if args.key?(:level)
774
+ end
775
+ end
776
+
777
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
778
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
779
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
780
+ # "Summary size limit" description: "Determines if a summary is less than 100
781
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
782
+ # Requestor is owner" description: "Determines if requestor is the document
783
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
784
+ # Logic): title: "Public documents" description: "Determine whether the document
785
+ # should be publicly visible" expression: "document.type != 'private' &&
786
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
787
+ # string" description: "Create a notification string with a timestamp."
788
+ # expression: "'New message received at ' + string(document.create_time)" The
789
+ # exact variables and functions that may be referenced within an expression are
790
+ # determined by the service that evaluates it. See the service documentation for
791
+ # additional information.
792
+ class Expr
793
+ include Google::Apis::Core::Hashable
794
+
795
+ # Optional. Description of the expression. This is a longer text which describes
796
+ # the expression, e.g. when hovered over it in a UI.
797
+ # Corresponds to the JSON property `description`
798
+ # @return [String]
799
+ attr_accessor :description
800
+
801
+ # Textual representation of an expression in Common Expression Language syntax.
802
+ # Corresponds to the JSON property `expression`
803
+ # @return [String]
804
+ attr_accessor :expression
805
+
806
+ # Optional. String indicating the location of the expression for error reporting,
807
+ # e.g. a file name and a position in the file.
808
+ # Corresponds to the JSON property `location`
809
+ # @return [String]
810
+ attr_accessor :location
811
+
812
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
813
+ # This can be used e.g. in UIs which allow to enter the expression.
814
+ # Corresponds to the JSON property `title`
815
+ # @return [String]
816
+ attr_accessor :title
817
+
818
+ def initialize(**args)
819
+ update!(**args)
820
+ end
821
+
822
+ # Update properties of this object
823
+ def update!(**args)
824
+ @description = args[:description] if args.key?(:description)
825
+ @expression = args[:expression] if args.key?(:expression)
826
+ @location = args[:location] if args.key?(:location)
827
+ @title = args[:title] if args.key?(:title)
828
+ end
829
+ end
830
+
831
+ #
832
+ class GlobalSetPolicyRequest
833
+ include Google::Apis::Core::Hashable
834
+
835
+ # Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
836
+ # policy' to specify bindings.
837
+ # Corresponds to the JSON property `bindings`
838
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::Binding>]
839
+ attr_accessor :bindings
840
+
841
+ # Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
842
+ # policy' to specify the etag.
843
+ # Corresponds to the JSON property `etag`
844
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
845
+ # @return [String]
846
+ attr_accessor :etag
847
+
848
+ # An Identity and Access Management (IAM) policy, which specifies access
849
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
850
+ # A `binding` binds one or more `members` to a single `role`. Members can be
851
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
852
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
853
+ # role or a user-created custom role. For some types of Google Cloud resources,
854
+ # a `binding` can also specify a `condition`, which is a logical expression that
855
+ # allows access to a resource only if the expression evaluates to `true`. A
856
+ # condition can add constraints based on attributes of the request, the resource,
857
+ # or both. To learn which resources support conditions in their IAM policies,
858
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
859
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
860
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
861
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
862
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
863
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
864
+ # title": "expirable access", "description": "Does not grant access after Sep
865
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
866
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
867
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
868
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
869
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
870
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
871
+ # description: Does not grant access after Sep 2020 expression: request.time <
872
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
873
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
874
+ # google.com/iam/docs/).
875
+ # Corresponds to the JSON property `policy`
876
+ # @return [Google::Apis::DeploymentmanagerV2beta::Policy]
877
+ attr_accessor :policy
878
+
879
+ def initialize(**args)
880
+ update!(**args)
881
+ end
882
+
883
+ # Update properties of this object
884
+ def update!(**args)
885
+ @bindings = args[:bindings] if args.key?(:bindings)
886
+ @etag = args[:etag] if args.key?(:etag)
887
+ @policy = args[:policy] if args.key?(:policy)
888
+ end
889
+ end
890
+
891
+ #
892
+ class ImportFile
893
+ include Google::Apis::Core::Hashable
894
+
895
+ # The contents of the file.
896
+ # Corresponds to the JSON property `content`
897
+ # @return [String]
898
+ attr_accessor :content
899
+
900
+ # The name of the file.
901
+ # Corresponds to the JSON property `name`
902
+ # @return [String]
903
+ attr_accessor :name
904
+
905
+ def initialize(**args)
906
+ update!(**args)
907
+ end
908
+
909
+ # Update properties of this object
910
+ def update!(**args)
911
+ @content = args[:content] if args.key?(:content)
912
+ @name = args[:name] if args.key?(:name)
913
+ end
914
+ end
915
+
916
+ # InputMapping creates a 'virtual' property that will be injected into the
917
+ # properties before sending the request to the underlying API.
918
+ class InputMapping
919
+ include Google::Apis::Core::Hashable
920
+
921
+ # The name of the field that is going to be injected.
922
+ # Corresponds to the JSON property `fieldName`
923
+ # @return [String]
924
+ attr_accessor :field_name
925
+
926
+ # The location where this mapping applies.
927
+ # Corresponds to the JSON property `location`
928
+ # @return [String]
929
+ attr_accessor :location
930
+
931
+ # Regex to evaluate on method to decide if input applies.
932
+ # Corresponds to the JSON property `methodMatch`
933
+ # @return [String]
934
+ attr_accessor :method_match
935
+
936
+ # A jsonPath expression to select an element.
937
+ # Corresponds to the JSON property `value`
938
+ # @return [String]
939
+ attr_accessor :value
940
+
941
+ def initialize(**args)
942
+ update!(**args)
943
+ end
944
+
945
+ # Update properties of this object
946
+ def update!(**args)
947
+ @field_name = args[:field_name] if args.key?(:field_name)
948
+ @location = args[:location] if args.key?(:location)
949
+ @method_match = args[:method_match] if args.key?(:method_match)
950
+ @value = args[:value] if args.key?(:value)
951
+ end
952
+ end
953
+
954
+ #
955
+ class Manifest
956
+ include Google::Apis::Core::Hashable
957
+
958
+ # Output only. The YAML configuration for this manifest.
959
+ # Corresponds to the JSON property `config`
960
+ # @return [Google::Apis::DeploymentmanagerV2beta::ConfigFile]
961
+ attr_accessor :config
962
+
963
+ # Output only. The fully-expanded configuration file, including any templates
964
+ # and references.
965
+ # Corresponds to the JSON property `expandedConfig`
966
+ # @return [String]
967
+ attr_accessor :expanded_config
968
+
969
+ #
970
+ # Corresponds to the JSON property `id`
971
+ # @return [Fixnum]
972
+ attr_accessor :id
973
+
974
+ # Output only. The imported files for this manifest.
975
+ # Corresponds to the JSON property `imports`
976
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::ImportFile>]
977
+ attr_accessor :imports
978
+
979
+ # Output only. Creation timestamp in RFC3339 text format.
980
+ # Corresponds to the JSON property `insertTime`
981
+ # @return [String]
982
+ attr_accessor :insert_time
983
+
984
+ # Output only. The YAML layout for this manifest.
985
+ # Corresponds to the JSON property `layout`
986
+ # @return [String]
987
+ attr_accessor :layout
988
+
989
+ # Output only. The name of the manifest.
990
+ # Corresponds to the JSON property `name`
991
+ # @return [String]
992
+ attr_accessor :name
993
+
994
+ # Output only. Self link for the manifest.
995
+ # Corresponds to the JSON property `selfLink`
996
+ # @return [String]
997
+ attr_accessor :self_link
998
+
999
+ def initialize(**args)
1000
+ update!(**args)
1001
+ end
1002
+
1003
+ # Update properties of this object
1004
+ def update!(**args)
1005
+ @config = args[:config] if args.key?(:config)
1006
+ @expanded_config = args[:expanded_config] if args.key?(:expanded_config)
1007
+ @id = args[:id] if args.key?(:id)
1008
+ @imports = args[:imports] if args.key?(:imports)
1009
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
1010
+ @layout = args[:layout] if args.key?(:layout)
1011
+ @name = args[:name] if args.key?(:name)
1012
+ @self_link = args[:self_link] if args.key?(:self_link)
1013
+ end
1014
+ end
1015
+
1016
+ # A response containing a partial list of manifests and a page token used to
1017
+ # build the next request if the request has been truncated.
1018
+ class ManifestsListResponse
1019
+ include Google::Apis::Core::Hashable
1020
+
1021
+ # Output only. Manifests contained in this list response.
1022
+ # Corresponds to the JSON property `manifests`
1023
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::Manifest>]
1024
+ attr_accessor :manifests
1025
+
1026
+ # Output only. A token used to continue a truncated list request.
1027
+ # Corresponds to the JSON property `nextPageToken`
1028
+ # @return [String]
1029
+ attr_accessor :next_page_token
1030
+
1031
+ def initialize(**args)
1032
+ update!(**args)
1033
+ end
1034
+
1035
+ # Update properties of this object
1036
+ def update!(**args)
1037
+ @manifests = args[:manifests] if args.key?(:manifests)
1038
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1039
+ end
1040
+ end
1041
+
1042
+ # Represents an Operation resource. Google Compute Engine has three Operation
1043
+ # resources: * [Global](/compute/docs/reference/rest/`$api_version`/
1044
+ # globalOperations) * [Regional](/compute/docs/reference/rest/`$api_version`/
1045
+ # regionOperations) * [Zonal](/compute/docs/reference/rest/`$api_version`/
1046
+ # zoneOperations) You can use an operation resource to manage asynchronous API
1047
+ # requests. For more information, read Handling API responses. Operations can be
1048
+ # global, regional or zonal. - For global operations, use the `globalOperations`
1049
+ # resource. - For regional operations, use the `regionOperations` resource. -
1050
+ # For zonal operations, use the `zonalOperations` resource. For more information,
1051
+ # read Global, Regional, and Zonal Resources.
1052
+ class Operation
1053
+ include Google::Apis::Core::Hashable
1054
+
1055
+ # [Output Only] The value of `requestId` if you provided it in the request. Not
1056
+ # present otherwise.
1057
+ # Corresponds to the JSON property `clientOperationId`
1058
+ # @return [String]
1059
+ attr_accessor :client_operation_id
1060
+
1061
+ # [Deprecated] This field is deprecated.
1062
+ # Corresponds to the JSON property `creationTimestamp`
1063
+ # @return [String]
1064
+ attr_accessor :creation_timestamp
1065
+
1066
+ # [Output Only] A textual description of the operation, which is set when the
1067
+ # operation is created.
1068
+ # Corresponds to the JSON property `description`
1069
+ # @return [String]
1070
+ attr_accessor :description
1071
+
1072
+ # [Output Only] The time that this operation was completed. This value is in
1073
+ # RFC3339 text format.
1074
+ # Corresponds to the JSON property `endTime`
1075
+ # @return [String]
1076
+ attr_accessor :end_time
1077
+
1078
+ # [Output Only] If errors are generated during processing of the operation, this
1079
+ # field will be populated.
1080
+ # Corresponds to the JSON property `error`
1081
+ # @return [Google::Apis::DeploymentmanagerV2beta::Operation::Error]
1082
+ attr_accessor :error
1083
+
1084
+ # [Output Only] If the operation fails, this field contains the HTTP error
1085
+ # message that was returned, such as `NOT FOUND`.
1086
+ # Corresponds to the JSON property `httpErrorMessage`
1087
+ # @return [String]
1088
+ attr_accessor :http_error_message
1089
+
1090
+ # [Output Only] If the operation fails, this field contains the HTTP error
1091
+ # status code that was returned. For example, a `404` means the resource was not
1092
+ # found.
1093
+ # Corresponds to the JSON property `httpErrorStatusCode`
1094
+ # @return [Fixnum]
1095
+ attr_accessor :http_error_status_code
1096
+
1097
+ # [Output Only] The unique identifier for the operation. This identifier is
1098
+ # defined by the server.
1099
+ # Corresponds to the JSON property `id`
1100
+ # @return [Fixnum]
1101
+ attr_accessor :id
1102
+
1103
+ # [Output Only] The time that this operation was requested. This value is in
1104
+ # RFC3339 text format.
1105
+ # Corresponds to the JSON property `insertTime`
1106
+ # @return [String]
1107
+ attr_accessor :insert_time
1108
+
1109
+ # [Output Only] Type of the resource. Always `compute#operation` for Operation
1110
+ # resources.
1111
+ # Corresponds to the JSON property `kind`
1112
+ # @return [String]
1113
+ attr_accessor :kind
1114
+
1115
+ # [Output Only] Name of the operation.
1116
+ # Corresponds to the JSON property `name`
1117
+ # @return [String]
1118
+ attr_accessor :name
1119
+
1120
+ # [Output Only] The type of operation, such as `insert`, `update`, or `delete`,
1121
+ # and so on.
1122
+ # Corresponds to the JSON property `operationType`
1123
+ # @return [String]
1124
+ attr_accessor :operation_type
1125
+
1126
+ # [Output Only] An optional progress indicator that ranges from 0 to 100. There
1127
+ # is no requirement that this be linear or support any granularity of operations.
1128
+ # This should not be used to guess when the operation will be complete. This
1129
+ # number should monotonically increase as the operation progresses.
1130
+ # Corresponds to the JSON property `progress`
1131
+ # @return [Fixnum]
1132
+ attr_accessor :progress
1133
+
1134
+ # [Output Only] The URL of the region where the operation resides. Only
1135
+ # applicable when performing regional operations.
1136
+ # Corresponds to the JSON property `region`
1137
+ # @return [String]
1138
+ attr_accessor :region
1139
+
1140
+ # [Output Only] Server-defined URL for the resource.
1141
+ # Corresponds to the JSON property `selfLink`
1142
+ # @return [String]
1143
+ attr_accessor :self_link
1144
+
1145
+ # [Output Only] The time that this operation was started by the server. This
1146
+ # value is in RFC3339 text format.
1147
+ # Corresponds to the JSON property `startTime`
1148
+ # @return [String]
1149
+ attr_accessor :start_time
1150
+
1151
+ # [Output Only] The status of the operation, which can be one of the following: `
1152
+ # PENDING`, `RUNNING`, or `DONE`.
1153
+ # Corresponds to the JSON property `status`
1154
+ # @return [String]
1155
+ attr_accessor :status
1156
+
1157
+ # [Output Only] An optional textual description of the current status of the
1158
+ # operation.
1159
+ # Corresponds to the JSON property `statusMessage`
1160
+ # @return [String]
1161
+ attr_accessor :status_message
1162
+
1163
+ # [Output Only] The unique target ID, which identifies a specific incarnation of
1164
+ # the target resource.
1165
+ # Corresponds to the JSON property `targetId`
1166
+ # @return [Fixnum]
1167
+ attr_accessor :target_id
1168
+
1169
+ # [Output Only] The URL of the resource that the operation modifies. For
1170
+ # operations related to creating a snapshot, this points to the persistent disk
1171
+ # that the snapshot was created from.
1172
+ # Corresponds to the JSON property `targetLink`
1173
+ # @return [String]
1174
+ attr_accessor :target_link
1175
+
1176
+ # [Output Only] User who requested the operation, for example: `user@example.com`
1177
+ # .
1178
+ # Corresponds to the JSON property `user`
1179
+ # @return [String]
1180
+ attr_accessor :user
1181
+
1182
+ # [Output Only] If warning messages are generated during processing of the
1183
+ # operation, this field will be populated.
1184
+ # Corresponds to the JSON property `warnings`
1185
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::Operation::Warning>]
1186
+ attr_accessor :warnings
1187
+
1188
+ # [Output Only] The URL of the zone where the operation resides. Only applicable
1189
+ # when performing per-zone operations.
1190
+ # Corresponds to the JSON property `zone`
1191
+ # @return [String]
1192
+ attr_accessor :zone
1193
+
1194
+ def initialize(**args)
1195
+ update!(**args)
1196
+ end
1197
+
1198
+ # Update properties of this object
1199
+ def update!(**args)
1200
+ @client_operation_id = args[:client_operation_id] if args.key?(:client_operation_id)
1201
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
1202
+ @description = args[:description] if args.key?(:description)
1203
+ @end_time = args[:end_time] if args.key?(:end_time)
1204
+ @error = args[:error] if args.key?(:error)
1205
+ @http_error_message = args[:http_error_message] if args.key?(:http_error_message)
1206
+ @http_error_status_code = args[:http_error_status_code] if args.key?(:http_error_status_code)
1207
+ @id = args[:id] if args.key?(:id)
1208
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
1209
+ @kind = args[:kind] if args.key?(:kind)
1210
+ @name = args[:name] if args.key?(:name)
1211
+ @operation_type = args[:operation_type] if args.key?(:operation_type)
1212
+ @progress = args[:progress] if args.key?(:progress)
1213
+ @region = args[:region] if args.key?(:region)
1214
+ @self_link = args[:self_link] if args.key?(:self_link)
1215
+ @start_time = args[:start_time] if args.key?(:start_time)
1216
+ @status = args[:status] if args.key?(:status)
1217
+ @status_message = args[:status_message] if args.key?(:status_message)
1218
+ @target_id = args[:target_id] if args.key?(:target_id)
1219
+ @target_link = args[:target_link] if args.key?(:target_link)
1220
+ @user = args[:user] if args.key?(:user)
1221
+ @warnings = args[:warnings] if args.key?(:warnings)
1222
+ @zone = args[:zone] if args.key?(:zone)
1223
+ end
1224
+
1225
+ # [Output Only] If errors are generated during processing of the operation, this
1226
+ # field will be populated.
1227
+ class Error
1228
+ include Google::Apis::Core::Hashable
1229
+
1230
+ # [Output Only] The array of errors encountered while processing this operation.
1231
+ # Corresponds to the JSON property `errors`
1232
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::Operation::Error::Error>]
1233
+ attr_accessor :errors
1234
+
1235
+ def initialize(**args)
1236
+ update!(**args)
1237
+ end
1238
+
1239
+ # Update properties of this object
1240
+ def update!(**args)
1241
+ @errors = args[:errors] if args.key?(:errors)
1242
+ end
1243
+
1244
+ #
1245
+ class Error
1246
+ include Google::Apis::Core::Hashable
1247
+
1248
+ # [Output Only] The error type identifier for this error.
1249
+ # Corresponds to the JSON property `code`
1250
+ # @return [String]
1251
+ attr_accessor :code
1252
+
1253
+ # [Output Only] Indicates the field in the request that caused the error. This
1254
+ # property is optional.
1255
+ # Corresponds to the JSON property `location`
1256
+ # @return [String]
1257
+ attr_accessor :location
1258
+
1259
+ # [Output Only] An optional, human-readable error message.
1260
+ # Corresponds to the JSON property `message`
1261
+ # @return [String]
1262
+ attr_accessor :message
1263
+
1264
+ def initialize(**args)
1265
+ update!(**args)
1266
+ end
1267
+
1268
+ # Update properties of this object
1269
+ def update!(**args)
1270
+ @code = args[:code] if args.key?(:code)
1271
+ @location = args[:location] if args.key?(:location)
1272
+ @message = args[:message] if args.key?(:message)
1273
+ end
1274
+ end
1275
+ end
1276
+
1277
+ #
1278
+ class Warning
1279
+ include Google::Apis::Core::Hashable
1280
+
1281
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
1282
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
1283
+ # Corresponds to the JSON property `code`
1284
+ # @return [String]
1285
+ attr_accessor :code
1286
+
1287
+ # [Output Only] Metadata about this warning in key: value format. For example: "
1288
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
1289
+ # Corresponds to the JSON property `data`
1290
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::Operation::Warning::Datum>]
1291
+ attr_accessor :data
1292
+
1293
+ # [Output Only] A human-readable description of the warning code.
1294
+ # Corresponds to the JSON property `message`
1295
+ # @return [String]
1296
+ attr_accessor :message
1297
+
1298
+ def initialize(**args)
1299
+ update!(**args)
1300
+ end
1301
+
1302
+ # Update properties of this object
1303
+ def update!(**args)
1304
+ @code = args[:code] if args.key?(:code)
1305
+ @data = args[:data] if args.key?(:data)
1306
+ @message = args[:message] if args.key?(:message)
1307
+ end
1308
+
1309
+ #
1310
+ class Datum
1311
+ include Google::Apis::Core::Hashable
1312
+
1313
+ # [Output Only] A key that provides more detail on the warning being returned.
1314
+ # For example, for warnings where there are no results in a list request for a
1315
+ # particular zone, this key might be scope and the key value might be the zone
1316
+ # name. Other examples might be a key indicating a deprecated resource and a
1317
+ # suggested replacement, or a warning about invalid network settings (for
1318
+ # example, if an instance attempts to perform IP forwarding but is not enabled
1319
+ # for IP forwarding).
1320
+ # Corresponds to the JSON property `key`
1321
+ # @return [String]
1322
+ attr_accessor :key
1323
+
1324
+ # [Output Only] A warning data value corresponding to the key.
1325
+ # Corresponds to the JSON property `value`
1326
+ # @return [String]
1327
+ attr_accessor :value
1328
+
1329
+ def initialize(**args)
1330
+ update!(**args)
1331
+ end
1332
+
1333
+ # Update properties of this object
1334
+ def update!(**args)
1335
+ @key = args[:key] if args.key?(:key)
1336
+ @value = args[:value] if args.key?(:value)
1337
+ end
1338
+ end
1339
+ end
1340
+ end
1341
+
1342
+ # A response containing a partial list of operations and a page token used to
1343
+ # build the next request if the request has been truncated.
1344
+ class OperationsListResponse
1345
+ include Google::Apis::Core::Hashable
1346
+
1347
+ # Output only. A token used to continue a truncated list request.
1348
+ # Corresponds to the JSON property `nextPageToken`
1349
+ # @return [String]
1350
+ attr_accessor :next_page_token
1351
+
1352
+ # Output only. Operations contained in this list response.
1353
+ # Corresponds to the JSON property `operations`
1354
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::Operation>]
1355
+ attr_accessor :operations
1356
+
1357
+ def initialize(**args)
1358
+ update!(**args)
1359
+ end
1360
+
1361
+ # Update properties of this object
1362
+ def update!(**args)
1363
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1364
+ @operations = args[:operations] if args.key?(:operations)
1365
+ end
1366
+ end
1367
+
1368
+ # Options allows customized resource handling by Deployment Manager.
1369
+ class Options
1370
+ include Google::Apis::Core::Hashable
1371
+
1372
+ # Options regarding how to thread async requests.
1373
+ # Corresponds to the JSON property `asyncOptions`
1374
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::AsyncOptions>]
1375
+ attr_accessor :async_options
1376
+
1377
+ # The mappings that apply for requests.
1378
+ # Corresponds to the JSON property `inputMappings`
1379
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::InputMapping>]
1380
+ attr_accessor :input_mappings
1381
+
1382
+ # Options for how to validate and process properties on a resource.
1383
+ # Corresponds to the JSON property `validationOptions`
1384
+ # @return [Google::Apis::DeploymentmanagerV2beta::ValidationOptions]
1385
+ attr_accessor :validation_options
1386
+
1387
+ # Additional properties block described as a jsonSchema, these properties will
1388
+ # never be part of the json payload, but they can be consumed by InputMappings,
1389
+ # this must be a valid json schema draft-04. The properties specified here will
1390
+ # be decouple in a different section. This schema will be merged to the schema
1391
+ # validation, and properties here will be extracted From the payload and
1392
+ # consumed explicitly by InputMappings. ex: field1: type: string field2: type:
1393
+ # number
1394
+ # Corresponds to the JSON property `virtualProperties`
1395
+ # @return [String]
1396
+ attr_accessor :virtual_properties
1397
+
1398
+ def initialize(**args)
1399
+ update!(**args)
1400
+ end
1401
+
1402
+ # Update properties of this object
1403
+ def update!(**args)
1404
+ @async_options = args[:async_options] if args.key?(:async_options)
1405
+ @input_mappings = args[:input_mappings] if args.key?(:input_mappings)
1406
+ @validation_options = args[:validation_options] if args.key?(:validation_options)
1407
+ @virtual_properties = args[:virtual_properties] if args.key?(:virtual_properties)
1408
+ end
1409
+ end
1410
+
1411
+ # An Identity and Access Management (IAM) policy, which specifies access
1412
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1413
+ # A `binding` binds one or more `members` to a single `role`. Members can be
1414
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
1415
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
1416
+ # role or a user-created custom role. For some types of Google Cloud resources,
1417
+ # a `binding` can also specify a `condition`, which is a logical expression that
1418
+ # allows access to a resource only if the expression evaluates to `true`. A
1419
+ # condition can add constraints based on attributes of the request, the resource,
1420
+ # or both. To learn which resources support conditions in their IAM policies,
1421
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
1422
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
1423
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
1424
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
1425
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
1426
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
1427
+ # title": "expirable access", "description": "Does not grant access after Sep
1428
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
1429
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
1430
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
1431
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
1432
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
1433
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
1434
+ # description: Does not grant access after Sep 2020 expression: request.time <
1435
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
1436
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
1437
+ # google.com/iam/docs/).
1438
+ class Policy
1439
+ include Google::Apis::Core::Hashable
1440
+
1441
+ # Specifies cloud audit logging configuration for this policy.
1442
+ # Corresponds to the JSON property `auditConfigs`
1443
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::AuditConfig>]
1444
+ attr_accessor :audit_configs
1445
+
1446
+ # Associates a list of `members` to a `role`. Optionally, may specify a `
1447
+ # condition` that determines how and when the `bindings` are applied. Each of
1448
+ # the `bindings` must contain at least one member.
1449
+ # Corresponds to the JSON property `bindings`
1450
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::Binding>]
1451
+ attr_accessor :bindings
1452
+
1453
+ # `etag` is used for optimistic concurrency control as a way to help prevent
1454
+ # simultaneous updates of a policy from overwriting each other. It is strongly
1455
+ # suggested that systems make use of the `etag` in the read-modify-write cycle
1456
+ # to perform policy updates in order to avoid race conditions: An `etag` is
1457
+ # returned in the response to `getIamPolicy`, and systems are expected to put
1458
+ # that etag in the request to `setIamPolicy` to ensure that their change will be
1459
+ # applied to the same version of the policy. **Important:** If you use IAM
1460
+ # Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
1461
+ # If you omit this field, then IAM allows you to overwrite a version `3` policy
1462
+ # with a version `1` policy, and all of the conditions in the version `3` policy
1463
+ # are lost.
1464
+ # Corresponds to the JSON property `etag`
1465
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1466
+ # @return [String]
1467
+ attr_accessor :etag
1468
+
1469
+ # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
1470
+ # Requests that specify an invalid value are rejected. Any operation that
1471
+ # affects conditional role bindings must specify version `3`. This requirement
1472
+ # applies to the following operations: * Getting a policy that includes a
1473
+ # conditional role binding * Adding a conditional role binding to a policy *
1474
+ # Changing a conditional role binding in a policy * Removing any role binding,
1475
+ # with or without a condition, from a policy that includes conditions **
1476
+ # Important:** If you use IAM Conditions, you must include the `etag` field
1477
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
1478
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
1479
+ # conditions in the version `3` policy are lost. If a policy does not include
1480
+ # any conditions, operations on that policy may specify any valid version or
1481
+ # leave the field unset. To learn which resources support conditions in their
1482
+ # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
1483
+ # conditions/resource-policies).
1484
+ # Corresponds to the JSON property `version`
1485
+ # @return [Fixnum]
1486
+ attr_accessor :version
1487
+
1488
+ def initialize(**args)
1489
+ update!(**args)
1490
+ end
1491
+
1492
+ # Update properties of this object
1493
+ def update!(**args)
1494
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1495
+ @bindings = args[:bindings] if args.key?(:bindings)
1496
+ @etag = args[:etag] if args.key?(:etag)
1497
+ @version = args[:version] if args.key?(:version)
1498
+ end
1499
+ end
1500
+
1501
+ #
1502
+ class PollingOptions
1503
+ include Google::Apis::Core::Hashable
1504
+
1505
+ # An array of diagnostics to be collected by Deployment Manager, these
1506
+ # diagnostics will be displayed to the user.
1507
+ # Corresponds to the JSON property `diagnostics`
1508
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::Diagnostic>]
1509
+ attr_accessor :diagnostics
1510
+
1511
+ # JsonPath expression that determines if the request failed.
1512
+ # Corresponds to the JSON property `failCondition`
1513
+ # @return [String]
1514
+ attr_accessor :fail_condition
1515
+
1516
+ # JsonPath expression that determines if the request is completed.
1517
+ # Corresponds to the JSON property `finishCondition`
1518
+ # @return [String]
1519
+ attr_accessor :finish_condition
1520
+
1521
+ # JsonPath expression that evaluates to string, it indicates where to poll.
1522
+ # Corresponds to the JSON property `pollingLink`
1523
+ # @return [String]
1524
+ attr_accessor :polling_link
1525
+
1526
+ # JsonPath expression, after polling is completed, indicates where to fetch the
1527
+ # resource.
1528
+ # Corresponds to the JSON property `targetLink`
1529
+ # @return [String]
1530
+ attr_accessor :target_link
1531
+
1532
+ def initialize(**args)
1533
+ update!(**args)
1534
+ end
1535
+
1536
+ # Update properties of this object
1537
+ def update!(**args)
1538
+ @diagnostics = args[:diagnostics] if args.key?(:diagnostics)
1539
+ @fail_condition = args[:fail_condition] if args.key?(:fail_condition)
1540
+ @finish_condition = args[:finish_condition] if args.key?(:finish_condition)
1541
+ @polling_link = args[:polling_link] if args.key?(:polling_link)
1542
+ @target_link = args[:target_link] if args.key?(:target_link)
1543
+ end
1544
+ end
1545
+
1546
+ #
1547
+ class Resource
1548
+ include Google::Apis::Core::Hashable
1549
+
1550
+ # The access controls set on the resource.
1551
+ # Corresponds to the JSON property `accessControl`
1552
+ # @return [Google::Apis::DeploymentmanagerV2beta::ResourceAccessControl]
1553
+ attr_accessor :access_control
1554
+
1555
+ # Output only. The evaluated properties of the resource with references expanded.
1556
+ # Returned as serialized YAML.
1557
+ # Corresponds to the JSON property `finalProperties`
1558
+ # @return [String]
1559
+ attr_accessor :final_properties
1560
+
1561
+ #
1562
+ # Corresponds to the JSON property `id`
1563
+ # @return [Fixnum]
1564
+ attr_accessor :id
1565
+
1566
+ # Output only. Creation timestamp in RFC3339 text format.
1567
+ # Corresponds to the JSON property `insertTime`
1568
+ # @return [String]
1569
+ attr_accessor :insert_time
1570
+
1571
+ # Output only. URL of the manifest representing the current configuration of
1572
+ # this resource.
1573
+ # Corresponds to the JSON property `manifest`
1574
+ # @return [String]
1575
+ attr_accessor :manifest
1576
+
1577
+ # Output only. The name of the resource as it appears in the YAML config.
1578
+ # Corresponds to the JSON property `name`
1579
+ # @return [String]
1580
+ attr_accessor :name
1581
+
1582
+ # Output only. The current properties of the resource before any references have
1583
+ # been filled in. Returned as serialized YAML.
1584
+ # Corresponds to the JSON property `properties`
1585
+ # @return [String]
1586
+ attr_accessor :properties
1587
+
1588
+ # Output only. The type of the resource, for example `compute.v1.instance`, or `
1589
+ # cloudfunctions.v1beta1.function`.
1590
+ # Corresponds to the JSON property `type`
1591
+ # @return [String]
1592
+ attr_accessor :type
1593
+
1594
+ # Output only. If Deployment Manager is currently updating or previewing an
1595
+ # update to this resource, the updated configuration appears here.
1596
+ # Corresponds to the JSON property `update`
1597
+ # @return [Google::Apis::DeploymentmanagerV2beta::ResourceUpdate]
1598
+ attr_accessor :update
1599
+
1600
+ # Output only. Update timestamp in RFC3339 text format.
1601
+ # Corresponds to the JSON property `updateTime`
1602
+ # @return [String]
1603
+ attr_accessor :update_time
1604
+
1605
+ # Output only. The URL of the actual resource.
1606
+ # Corresponds to the JSON property `url`
1607
+ # @return [String]
1608
+ attr_accessor :url
1609
+
1610
+ # Output only. If warning messages are generated during processing of this
1611
+ # resource, this field will be populated.
1612
+ # Corresponds to the JSON property `warnings`
1613
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::Resource::Warning>]
1614
+ attr_accessor :warnings
1615
+
1616
+ def initialize(**args)
1617
+ update!(**args)
1618
+ end
1619
+
1620
+ # Update properties of this object
1621
+ def update!(**args)
1622
+ @access_control = args[:access_control] if args.key?(:access_control)
1623
+ @final_properties = args[:final_properties] if args.key?(:final_properties)
1624
+ @id = args[:id] if args.key?(:id)
1625
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
1626
+ @manifest = args[:manifest] if args.key?(:manifest)
1627
+ @name = args[:name] if args.key?(:name)
1628
+ @properties = args[:properties] if args.key?(:properties)
1629
+ @type = args[:type] if args.key?(:type)
1630
+ @update = args[:update] if args.key?(:update)
1631
+ @update_time = args[:update_time] if args.key?(:update_time)
1632
+ @url = args[:url] if args.key?(:url)
1633
+ @warnings = args[:warnings] if args.key?(:warnings)
1634
+ end
1635
+
1636
+ #
1637
+ class Warning
1638
+ include Google::Apis::Core::Hashable
1639
+
1640
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
1641
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
1642
+ # Corresponds to the JSON property `code`
1643
+ # @return [String]
1644
+ attr_accessor :code
1645
+
1646
+ # [Output Only] Metadata about this warning in key: value format. For example: "
1647
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
1648
+ # Corresponds to the JSON property `data`
1649
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::Resource::Warning::Datum>]
1650
+ attr_accessor :data
1651
+
1652
+ # [Output Only] A human-readable description of the warning code.
1653
+ # Corresponds to the JSON property `message`
1654
+ # @return [String]
1655
+ attr_accessor :message
1656
+
1657
+ def initialize(**args)
1658
+ update!(**args)
1659
+ end
1660
+
1661
+ # Update properties of this object
1662
+ def update!(**args)
1663
+ @code = args[:code] if args.key?(:code)
1664
+ @data = args[:data] if args.key?(:data)
1665
+ @message = args[:message] if args.key?(:message)
1666
+ end
1667
+
1668
+ #
1669
+ class Datum
1670
+ include Google::Apis::Core::Hashable
1671
+
1672
+ # [Output Only] A key that provides more detail on the warning being returned.
1673
+ # For example, for warnings where there are no results in a list request for a
1674
+ # particular zone, this key might be scope and the key value might be the zone
1675
+ # name. Other examples might be a key indicating a deprecated resource and a
1676
+ # suggested replacement, or a warning about invalid network settings (for
1677
+ # example, if an instance attempts to perform IP forwarding but is not enabled
1678
+ # for IP forwarding).
1679
+ # Corresponds to the JSON property `key`
1680
+ # @return [String]
1681
+ attr_accessor :key
1682
+
1683
+ # [Output Only] A warning data value corresponding to the key.
1684
+ # Corresponds to the JSON property `value`
1685
+ # @return [String]
1686
+ attr_accessor :value
1687
+
1688
+ def initialize(**args)
1689
+ update!(**args)
1690
+ end
1691
+
1692
+ # Update properties of this object
1693
+ def update!(**args)
1694
+ @key = args[:key] if args.key?(:key)
1695
+ @value = args[:value] if args.key?(:value)
1696
+ end
1697
+ end
1698
+ end
1699
+ end
1700
+
1701
+ # The access controls set on the resource.
1702
+ class ResourceAccessControl
1703
+ include Google::Apis::Core::Hashable
1704
+
1705
+ # The GCP IAM Policy to set on the resource.
1706
+ # Corresponds to the JSON property `gcpIamPolicy`
1707
+ # @return [String]
1708
+ attr_accessor :gcp_iam_policy
1709
+
1710
+ def initialize(**args)
1711
+ update!(**args)
1712
+ end
1713
+
1714
+ # Update properties of this object
1715
+ def update!(**args)
1716
+ @gcp_iam_policy = args[:gcp_iam_policy] if args.key?(:gcp_iam_policy)
1717
+ end
1718
+ end
1719
+
1720
+ #
1721
+ class ResourceUpdate
1722
+ include Google::Apis::Core::Hashable
1723
+
1724
+ # The access controls set on the resource.
1725
+ # Corresponds to the JSON property `accessControl`
1726
+ # @return [Google::Apis::DeploymentmanagerV2beta::ResourceAccessControl]
1727
+ attr_accessor :access_control
1728
+
1729
+ # Output only. If errors are generated during update of the resource, this field
1730
+ # will be populated.
1731
+ # Corresponds to the JSON property `error`
1732
+ # @return [Google::Apis::DeploymentmanagerV2beta::ResourceUpdate::Error]
1733
+ attr_accessor :error
1734
+
1735
+ # Output only. The expanded properties of the resource with reference values
1736
+ # expanded. Returned as serialized YAML.
1737
+ # Corresponds to the JSON property `finalProperties`
1738
+ # @return [String]
1739
+ attr_accessor :final_properties
1740
+
1741
+ # Output only. The intent of the resource: `PREVIEW`, `UPDATE`, or `CANCEL`.
1742
+ # Corresponds to the JSON property `intent`
1743
+ # @return [String]
1744
+ attr_accessor :intent
1745
+
1746
+ # Output only. URL of the manifest representing the update configuration of this
1747
+ # resource.
1748
+ # Corresponds to the JSON property `manifest`
1749
+ # @return [String]
1750
+ attr_accessor :manifest
1751
+
1752
+ # Output only. The set of updated properties for this resource, before
1753
+ # references are expanded. Returned as serialized YAML.
1754
+ # Corresponds to the JSON property `properties`
1755
+ # @return [String]
1756
+ attr_accessor :properties
1757
+
1758
+ # Output only. The state of the resource.
1759
+ # Corresponds to the JSON property `state`
1760
+ # @return [String]
1761
+ attr_accessor :state
1762
+
1763
+ # Output only. If warning messages are generated during processing of this
1764
+ # resource, this field will be populated.
1765
+ # Corresponds to the JSON property `warnings`
1766
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::ResourceUpdate::Warning>]
1767
+ attr_accessor :warnings
1768
+
1769
+ def initialize(**args)
1770
+ update!(**args)
1771
+ end
1772
+
1773
+ # Update properties of this object
1774
+ def update!(**args)
1775
+ @access_control = args[:access_control] if args.key?(:access_control)
1776
+ @error = args[:error] if args.key?(:error)
1777
+ @final_properties = args[:final_properties] if args.key?(:final_properties)
1778
+ @intent = args[:intent] if args.key?(:intent)
1779
+ @manifest = args[:manifest] if args.key?(:manifest)
1780
+ @properties = args[:properties] if args.key?(:properties)
1781
+ @state = args[:state] if args.key?(:state)
1782
+ @warnings = args[:warnings] if args.key?(:warnings)
1783
+ end
1784
+
1785
+ # Output only. If errors are generated during update of the resource, this field
1786
+ # will be populated.
1787
+ class Error
1788
+ include Google::Apis::Core::Hashable
1789
+
1790
+ # [Output Only] The array of errors encountered while processing this operation.
1791
+ # Corresponds to the JSON property `errors`
1792
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::ResourceUpdate::Error::Error>]
1793
+ attr_accessor :errors
1794
+
1795
+ def initialize(**args)
1796
+ update!(**args)
1797
+ end
1798
+
1799
+ # Update properties of this object
1800
+ def update!(**args)
1801
+ @errors = args[:errors] if args.key?(:errors)
1802
+ end
1803
+
1804
+ #
1805
+ class Error
1806
+ include Google::Apis::Core::Hashable
1807
+
1808
+ # [Output Only] The error type identifier for this error.
1809
+ # Corresponds to the JSON property `code`
1810
+ # @return [String]
1811
+ attr_accessor :code
1812
+
1813
+ # [Output Only] Indicates the field in the request that caused the error. This
1814
+ # property is optional.
1815
+ # Corresponds to the JSON property `location`
1816
+ # @return [String]
1817
+ attr_accessor :location
1818
+
1819
+ # [Output Only] An optional, human-readable error message.
1820
+ # Corresponds to the JSON property `message`
1821
+ # @return [String]
1822
+ attr_accessor :message
1823
+
1824
+ def initialize(**args)
1825
+ update!(**args)
1826
+ end
1827
+
1828
+ # Update properties of this object
1829
+ def update!(**args)
1830
+ @code = args[:code] if args.key?(:code)
1831
+ @location = args[:location] if args.key?(:location)
1832
+ @message = args[:message] if args.key?(:message)
1833
+ end
1834
+ end
1835
+ end
1836
+
1837
+ #
1838
+ class Warning
1839
+ include Google::Apis::Core::Hashable
1840
+
1841
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
1842
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
1843
+ # Corresponds to the JSON property `code`
1844
+ # @return [String]
1845
+ attr_accessor :code
1846
+
1847
+ # [Output Only] Metadata about this warning in key: value format. For example: "
1848
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
1849
+ # Corresponds to the JSON property `data`
1850
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::ResourceUpdate::Warning::Datum>]
1851
+ attr_accessor :data
1852
+
1853
+ # [Output Only] A human-readable description of the warning code.
1854
+ # Corresponds to the JSON property `message`
1855
+ # @return [String]
1856
+ attr_accessor :message
1857
+
1858
+ def initialize(**args)
1859
+ update!(**args)
1860
+ end
1861
+
1862
+ # Update properties of this object
1863
+ def update!(**args)
1864
+ @code = args[:code] if args.key?(:code)
1865
+ @data = args[:data] if args.key?(:data)
1866
+ @message = args[:message] if args.key?(:message)
1867
+ end
1868
+
1869
+ #
1870
+ class Datum
1871
+ include Google::Apis::Core::Hashable
1872
+
1873
+ # [Output Only] A key that provides more detail on the warning being returned.
1874
+ # For example, for warnings where there are no results in a list request for a
1875
+ # particular zone, this key might be scope and the key value might be the zone
1876
+ # name. Other examples might be a key indicating a deprecated resource and a
1877
+ # suggested replacement, or a warning about invalid network settings (for
1878
+ # example, if an instance attempts to perform IP forwarding but is not enabled
1879
+ # for IP forwarding).
1880
+ # Corresponds to the JSON property `key`
1881
+ # @return [String]
1882
+ attr_accessor :key
1883
+
1884
+ # [Output Only] A warning data value corresponding to the key.
1885
+ # Corresponds to the JSON property `value`
1886
+ # @return [String]
1887
+ attr_accessor :value
1888
+
1889
+ def initialize(**args)
1890
+ update!(**args)
1891
+ end
1892
+
1893
+ # Update properties of this object
1894
+ def update!(**args)
1895
+ @key = args[:key] if args.key?(:key)
1896
+ @value = args[:value] if args.key?(:value)
1897
+ end
1898
+ end
1899
+ end
1900
+ end
1901
+
1902
+ # A response containing a partial list of resources and a page token used to
1903
+ # build the next request if the request has been truncated.
1904
+ class ResourcesListResponse
1905
+ include Google::Apis::Core::Hashable
1906
+
1907
+ # A token used to continue a truncated list request.
1908
+ # Corresponds to the JSON property `nextPageToken`
1909
+ # @return [String]
1910
+ attr_accessor :next_page_token
1911
+
1912
+ # Resources contained in this list response.
1913
+ # Corresponds to the JSON property `resources`
1914
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::Resource>]
1915
+ attr_accessor :resources
1916
+
1917
+ def initialize(**args)
1918
+ update!(**args)
1919
+ end
1920
+
1921
+ # Update properties of this object
1922
+ def update!(**args)
1923
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1924
+ @resources = args[:resources] if args.key?(:resources)
1925
+ end
1926
+ end
1927
+
1928
+ # Service Account used as a credential.
1929
+ class ServiceAccount
1930
+ include Google::Apis::Core::Hashable
1931
+
1932
+ # The IAM service account email address like test@myproject.iam.gserviceaccount.
1933
+ # com
1934
+ # Corresponds to the JSON property `email`
1935
+ # @return [String]
1936
+ attr_accessor :email
1937
+
1938
+ def initialize(**args)
1939
+ update!(**args)
1940
+ end
1941
+
1942
+ # Update properties of this object
1943
+ def update!(**args)
1944
+ @email = args[:email] if args.key?(:email)
1945
+ end
1946
+ end
1947
+
1948
+ #
1949
+ class TargetConfiguration
1950
+ include Google::Apis::Core::Hashable
1951
+
1952
+ # The configuration to use for this deployment.
1953
+ # Corresponds to the JSON property `config`
1954
+ # @return [Google::Apis::DeploymentmanagerV2beta::ConfigFile]
1955
+ attr_accessor :config
1956
+
1957
+ # Specifies any files to import for this configuration. This can be used to
1958
+ # import templates or other files. For example, you might import a text file in
1959
+ # order to use the file in a template.
1960
+ # Corresponds to the JSON property `imports`
1961
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::ImportFile>]
1962
+ attr_accessor :imports
1963
+
1964
+ def initialize(**args)
1965
+ update!(**args)
1966
+ end
1967
+
1968
+ # Update properties of this object
1969
+ def update!(**args)
1970
+ @config = args[:config] if args.key?(:config)
1971
+ @imports = args[:imports] if args.key?(:imports)
1972
+ end
1973
+ end
1974
+
1975
+ # Files that make up the template contents of a template type.
1976
+ class TemplateContents
1977
+ include Google::Apis::Core::Hashable
1978
+
1979
+ # Import files referenced by the main template.
1980
+ # Corresponds to the JSON property `imports`
1981
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::ImportFile>]
1982
+ attr_accessor :imports
1983
+
1984
+ # Which interpreter (python or jinja) should be used during expansion.
1985
+ # Corresponds to the JSON property `interpreter`
1986
+ # @return [String]
1987
+ attr_accessor :interpreter
1988
+
1989
+ # The filename of the mainTemplate
1990
+ # Corresponds to the JSON property `mainTemplate`
1991
+ # @return [String]
1992
+ attr_accessor :main_template
1993
+
1994
+ # The contents of the template schema.
1995
+ # Corresponds to the JSON property `schema`
1996
+ # @return [String]
1997
+ attr_accessor :schema
1998
+
1999
+ # The contents of the main template file.
2000
+ # Corresponds to the JSON property `template`
2001
+ # @return [String]
2002
+ attr_accessor :template
2003
+
2004
+ def initialize(**args)
2005
+ update!(**args)
2006
+ end
2007
+
2008
+ # Update properties of this object
2009
+ def update!(**args)
2010
+ @imports = args[:imports] if args.key?(:imports)
2011
+ @interpreter = args[:interpreter] if args.key?(:interpreter)
2012
+ @main_template = args[:main_template] if args.key?(:main_template)
2013
+ @schema = args[:schema] if args.key?(:schema)
2014
+ @template = args[:template] if args.key?(:template)
2015
+ end
2016
+ end
2017
+
2018
+ #
2019
+ class TestPermissionsRequest
2020
+ include Google::Apis::Core::Hashable
2021
+
2022
+ # The set of permissions to check for the 'resource'. Permissions with wildcards
2023
+ # (such as '*' or 'storage.*') are not allowed.
2024
+ # Corresponds to the JSON property `permissions`
2025
+ # @return [Array<String>]
2026
+ attr_accessor :permissions
2027
+
2028
+ def initialize(**args)
2029
+ update!(**args)
2030
+ end
2031
+
2032
+ # Update properties of this object
2033
+ def update!(**args)
2034
+ @permissions = args[:permissions] if args.key?(:permissions)
2035
+ end
2036
+ end
2037
+
2038
+ #
2039
+ class TestPermissionsResponse
2040
+ include Google::Apis::Core::Hashable
2041
+
2042
+ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
2043
+ # Corresponds to the JSON property `permissions`
2044
+ # @return [Array<String>]
2045
+ attr_accessor :permissions
2046
+
2047
+ def initialize(**args)
2048
+ update!(**args)
2049
+ end
2050
+
2051
+ # Update properties of this object
2052
+ def update!(**args)
2053
+ @permissions = args[:permissions] if args.key?(:permissions)
2054
+ end
2055
+ end
2056
+
2057
+ # A resource type supported by Deployment Manager.
2058
+ class Type
2059
+ include Google::Apis::Core::Hashable
2060
+
2061
+ # BaseType that describes a service-backed Type.
2062
+ # Corresponds to the JSON property `base`
2063
+ # @return [Google::Apis::DeploymentmanagerV2beta::BaseType]
2064
+ attr_accessor :base
2065
+
2066
+ # An optional textual description of the resource; provided by the client when
2067
+ # the resource is created.
2068
+ # Corresponds to the JSON property `description`
2069
+ # @return [String]
2070
+ attr_accessor :description
2071
+
2072
+ #
2073
+ # Corresponds to the JSON property `id`
2074
+ # @return [Fixnum]
2075
+ attr_accessor :id
2076
+
2077
+ # Output only. Creation timestamp in RFC3339 text format.
2078
+ # Corresponds to the JSON property `insertTime`
2079
+ # @return [String]
2080
+ attr_accessor :insert_time
2081
+
2082
+ # Map of One Platform labels; provided by the client when the resource is
2083
+ # created or updated. Specifically: Label keys must be between 1 and 63
2084
+ # characters long and must conform to the following regular expression: `[a-z]([-
2085
+ # a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and
2086
+ # must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
2087
+ # Corresponds to the JSON property `labels`
2088
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::TypeLabelEntry>]
2089
+ attr_accessor :labels
2090
+
2091
+ # Name of the type.
2092
+ # Corresponds to the JSON property `name`
2093
+ # @return [String]
2094
+ attr_accessor :name
2095
+
2096
+ # Represents an Operation resource. Google Compute Engine has three Operation
2097
+ # resources: * [Global](/compute/docs/reference/rest/`$api_version`/
2098
+ # globalOperations) * [Regional](/compute/docs/reference/rest/`$api_version`/
2099
+ # regionOperations) * [Zonal](/compute/docs/reference/rest/`$api_version`/
2100
+ # zoneOperations) You can use an operation resource to manage asynchronous API
2101
+ # requests. For more information, read Handling API responses. Operations can be
2102
+ # global, regional or zonal. - For global operations, use the `globalOperations`
2103
+ # resource. - For regional operations, use the `regionOperations` resource. -
2104
+ # For zonal operations, use the `zonalOperations` resource. For more information,
2105
+ # read Global, Regional, and Zonal Resources.
2106
+ # Corresponds to the JSON property `operation`
2107
+ # @return [Google::Apis::DeploymentmanagerV2beta::Operation]
2108
+ attr_accessor :operation
2109
+
2110
+ # Output only. Server defined URL for the resource.
2111
+ # Corresponds to the JSON property `selfLink`
2112
+ # @return [String]
2113
+ attr_accessor :self_link
2114
+
2115
+ def initialize(**args)
2116
+ update!(**args)
2117
+ end
2118
+
2119
+ # Update properties of this object
2120
+ def update!(**args)
2121
+ @base = args[:base] if args.key?(:base)
2122
+ @description = args[:description] if args.key?(:description)
2123
+ @id = args[:id] if args.key?(:id)
2124
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
2125
+ @labels = args[:labels] if args.key?(:labels)
2126
+ @name = args[:name] if args.key?(:name)
2127
+ @operation = args[:operation] if args.key?(:operation)
2128
+ @self_link = args[:self_link] if args.key?(:self_link)
2129
+ end
2130
+ end
2131
+
2132
+ # Type Information. Contains detailed information about a composite type, base
2133
+ # type, or base type with specific collection.
2134
+ class TypeInfo
2135
+ include Google::Apis::Core::Hashable
2136
+
2137
+ # The description of the type.
2138
+ # Corresponds to the JSON property `description`
2139
+ # @return [String]
2140
+ attr_accessor :description
2141
+
2142
+ # For swagger 2.0 externalDocs field will be used. For swagger 1.2 this field
2143
+ # will be empty.
2144
+ # Corresponds to the JSON property `documentationLink`
2145
+ # @return [String]
2146
+ attr_accessor :documentation_link
2147
+
2148
+ # Output only. Type of the output. Always `deploymentManager#TypeInfo` for
2149
+ # TypeInfo.
2150
+ # Corresponds to the JSON property `kind`
2151
+ # @return [String]
2152
+ attr_accessor :kind
2153
+
2154
+ # The base type or composite type name.
2155
+ # Corresponds to the JSON property `name`
2156
+ # @return [String]
2157
+ attr_accessor :name
2158
+
2159
+ # For base types with a collection, we return a schema and documentation link
2160
+ # For template types, we return only a schema
2161
+ # Corresponds to the JSON property `schema`
2162
+ # @return [Google::Apis::DeploymentmanagerV2beta::TypeInfoSchemaInfo]
2163
+ attr_accessor :schema
2164
+
2165
+ # Output only. Self link for the type provider.
2166
+ # Corresponds to the JSON property `selfLink`
2167
+ # @return [String]
2168
+ attr_accessor :self_link
2169
+
2170
+ # The title on the API descriptor URL provided.
2171
+ # Corresponds to the JSON property `title`
2172
+ # @return [String]
2173
+ attr_accessor :title
2174
+
2175
+ def initialize(**args)
2176
+ update!(**args)
2177
+ end
2178
+
2179
+ # Update properties of this object
2180
+ def update!(**args)
2181
+ @description = args[:description] if args.key?(:description)
2182
+ @documentation_link = args[:documentation_link] if args.key?(:documentation_link)
2183
+ @kind = args[:kind] if args.key?(:kind)
2184
+ @name = args[:name] if args.key?(:name)
2185
+ @schema = args[:schema] if args.key?(:schema)
2186
+ @self_link = args[:self_link] if args.key?(:self_link)
2187
+ @title = args[:title] if args.key?(:title)
2188
+ end
2189
+ end
2190
+
2191
+ #
2192
+ class TypeInfoSchemaInfo
2193
+ include Google::Apis::Core::Hashable
2194
+
2195
+ # The properties that this composite type or base type collection accept as
2196
+ # input, represented as a json blob, format is: JSON Schema Draft V4
2197
+ # Corresponds to the JSON property `input`
2198
+ # @return [String]
2199
+ attr_accessor :input
2200
+
2201
+ # The properties that this composite type or base type collection exposes as
2202
+ # output, these properties can be used for references, represented as json blob,
2203
+ # format is: JSON Schema Draft V4
2204
+ # Corresponds to the JSON property `output`
2205
+ # @return [String]
2206
+ attr_accessor :output
2207
+
2208
+ def initialize(**args)
2209
+ update!(**args)
2210
+ end
2211
+
2212
+ # Update properties of this object
2213
+ def update!(**args)
2214
+ @input = args[:input] if args.key?(:input)
2215
+ @output = args[:output] if args.key?(:output)
2216
+ end
2217
+ end
2218
+
2219
+ # Label object for Types
2220
+ class TypeLabelEntry
2221
+ include Google::Apis::Core::Hashable
2222
+
2223
+ # Key of the label
2224
+ # Corresponds to the JSON property `key`
2225
+ # @return [String]
2226
+ attr_accessor :key
2227
+
2228
+ # Value of the label
2229
+ # Corresponds to the JSON property `value`
2230
+ # @return [String]
2231
+ attr_accessor :value
2232
+
2233
+ def initialize(**args)
2234
+ update!(**args)
2235
+ end
2236
+
2237
+ # Update properties of this object
2238
+ def update!(**args)
2239
+ @key = args[:key] if args.key?(:key)
2240
+ @value = args[:value] if args.key?(:value)
2241
+ end
2242
+ end
2243
+
2244
+ # A type provider that describes a service-backed Type.
2245
+ class TypeProvider
2246
+ include Google::Apis::Core::Hashable
2247
+
2248
+ # Allows resource handling overrides for specific collections
2249
+ # Corresponds to the JSON property `collectionOverrides`
2250
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::CollectionOverride>]
2251
+ attr_accessor :collection_overrides
2252
+
2253
+ # The credential used by Deployment Manager and TypeProvider. Only one of the
2254
+ # options is permitted.
2255
+ # Corresponds to the JSON property `credential`
2256
+ # @return [Google::Apis::DeploymentmanagerV2beta::Credential]
2257
+ attr_accessor :credential
2258
+
2259
+ # List of up to 2 custom certificate authority roots to use for TLS
2260
+ # authentication when making calls on behalf of this type provider. If set, TLS
2261
+ # authentication will exclusively use these roots instead of relying on publicly
2262
+ # trusted certificate authorities when validating TLS certificate authenticity.
2263
+ # The certificates must be in base64-encoded PEM format. The maximum size of
2264
+ # each certificate must not exceed 10KB.
2265
+ # Corresponds to the JSON property `customCertificateAuthorityRoots`
2266
+ # @return [Array<String>]
2267
+ attr_accessor :custom_certificate_authority_roots
2268
+
2269
+ # An optional textual description of the resource; provided by the client when
2270
+ # the resource is created.
2271
+ # Corresponds to the JSON property `description`
2272
+ # @return [String]
2273
+ attr_accessor :description
2274
+
2275
+ # Descriptor Url for the this type provider.
2276
+ # Corresponds to the JSON property `descriptorUrl`
2277
+ # @return [String]
2278
+ attr_accessor :descriptor_url
2279
+
2280
+ # Output only. Unique identifier for the resource defined by the server.
2281
+ # Corresponds to the JSON property `id`
2282
+ # @return [Fixnum]
2283
+ attr_accessor :id
2284
+
2285
+ # Output only. Creation timestamp in RFC3339 text format.
2286
+ # Corresponds to the JSON property `insertTime`
2287
+ # @return [String]
2288
+ attr_accessor :insert_time
2289
+
2290
+ # Map of One Platform labels; provided by the client when the resource is
2291
+ # created or updated. Specifically: Label keys must be between 1 and 63
2292
+ # characters long and must conform to the following regular expression: `[a-z]([-
2293
+ # a-z0-9]*[a-z0-9])?` Label values must be between 0 and 63 characters long and
2294
+ # must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`
2295
+ # Corresponds to the JSON property `labels`
2296
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::TypeProviderLabelEntry>]
2297
+ attr_accessor :labels
2298
+
2299
+ # Name of the resource; provided by the client when the resource is created. The
2300
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
2301
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
2302
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
2303
+ # and all following characters must be a dash, lowercase letter, or digit,
2304
+ # except the last character, which cannot be a dash.
2305
+ # Corresponds to the JSON property `name`
2306
+ # @return [String]
2307
+ attr_accessor :name
2308
+
2309
+ # Represents an Operation resource. Google Compute Engine has three Operation
2310
+ # resources: * [Global](/compute/docs/reference/rest/`$api_version`/
2311
+ # globalOperations) * [Regional](/compute/docs/reference/rest/`$api_version`/
2312
+ # regionOperations) * [Zonal](/compute/docs/reference/rest/`$api_version`/
2313
+ # zoneOperations) You can use an operation resource to manage asynchronous API
2314
+ # requests. For more information, read Handling API responses. Operations can be
2315
+ # global, regional or zonal. - For global operations, use the `globalOperations`
2316
+ # resource. - For regional operations, use the `regionOperations` resource. -
2317
+ # For zonal operations, use the `zonalOperations` resource. For more information,
2318
+ # read Global, Regional, and Zonal Resources.
2319
+ # Corresponds to the JSON property `operation`
2320
+ # @return [Google::Apis::DeploymentmanagerV2beta::Operation]
2321
+ attr_accessor :operation
2322
+
2323
+ # Options allows customized resource handling by Deployment Manager.
2324
+ # Corresponds to the JSON property `options`
2325
+ # @return [Google::Apis::DeploymentmanagerV2beta::Options]
2326
+ attr_accessor :options
2327
+
2328
+ # Output only. Self link for the type provider.
2329
+ # Corresponds to the JSON property `selfLink`
2330
+ # @return [String]
2331
+ attr_accessor :self_link
2332
+
2333
+ def initialize(**args)
2334
+ update!(**args)
2335
+ end
2336
+
2337
+ # Update properties of this object
2338
+ def update!(**args)
2339
+ @collection_overrides = args[:collection_overrides] if args.key?(:collection_overrides)
2340
+ @credential = args[:credential] if args.key?(:credential)
2341
+ @custom_certificate_authority_roots = args[:custom_certificate_authority_roots] if args.key?(:custom_certificate_authority_roots)
2342
+ @description = args[:description] if args.key?(:description)
2343
+ @descriptor_url = args[:descriptor_url] if args.key?(:descriptor_url)
2344
+ @id = args[:id] if args.key?(:id)
2345
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
2346
+ @labels = args[:labels] if args.key?(:labels)
2347
+ @name = args[:name] if args.key?(:name)
2348
+ @operation = args[:operation] if args.key?(:operation)
2349
+ @options = args[:options] if args.key?(:options)
2350
+ @self_link = args[:self_link] if args.key?(:self_link)
2351
+ end
2352
+ end
2353
+
2354
+ # Label object for TypeProviders
2355
+ class TypeProviderLabelEntry
2356
+ include Google::Apis::Core::Hashable
2357
+
2358
+ # Key of the label
2359
+ # Corresponds to the JSON property `key`
2360
+ # @return [String]
2361
+ attr_accessor :key
2362
+
2363
+ # Value of the label
2364
+ # Corresponds to the JSON property `value`
2365
+ # @return [String]
2366
+ attr_accessor :value
2367
+
2368
+ def initialize(**args)
2369
+ update!(**args)
2370
+ end
2371
+
2372
+ # Update properties of this object
2373
+ def update!(**args)
2374
+ @key = args[:key] if args.key?(:key)
2375
+ @value = args[:value] if args.key?(:value)
2376
+ end
2377
+ end
2378
+
2379
+ # A response that returns all Type Providers supported by Deployment Manager
2380
+ class TypeProvidersListResponse
2381
+ include Google::Apis::Core::Hashable
2382
+
2383
+ # A token used to continue a truncated list request.
2384
+ # Corresponds to the JSON property `nextPageToken`
2385
+ # @return [String]
2386
+ attr_accessor :next_page_token
2387
+
2388
+ # Output only. A list of resource type providers supported by Deployment Manager.
2389
+ # Corresponds to the JSON property `typeProviders`
2390
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::TypeProvider>]
2391
+ attr_accessor :type_providers
2392
+
2393
+ def initialize(**args)
2394
+ update!(**args)
2395
+ end
2396
+
2397
+ # Update properties of this object
2398
+ def update!(**args)
2399
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2400
+ @type_providers = args[:type_providers] if args.key?(:type_providers)
2401
+ end
2402
+ end
2403
+
2404
+ #
2405
+ class TypeProvidersListTypesResponse
2406
+ include Google::Apis::Core::Hashable
2407
+
2408
+ # A token used to continue a truncated list request.
2409
+ # Corresponds to the JSON property `nextPageToken`
2410
+ # @return [String]
2411
+ attr_accessor :next_page_token
2412
+
2413
+ # Output only. A list of resource type info.
2414
+ # Corresponds to the JSON property `types`
2415
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::TypeInfo>]
2416
+ attr_accessor :types
2417
+
2418
+ def initialize(**args)
2419
+ update!(**args)
2420
+ end
2421
+
2422
+ # Update properties of this object
2423
+ def update!(**args)
2424
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2425
+ @types = args[:types] if args.key?(:types)
2426
+ end
2427
+ end
2428
+
2429
+ # A response that returns all Types supported by Deployment Manager
2430
+ class TypesListResponse
2431
+ include Google::Apis::Core::Hashable
2432
+
2433
+ # A token used to continue a truncated list request.
2434
+ # Corresponds to the JSON property `nextPageToken`
2435
+ # @return [String]
2436
+ attr_accessor :next_page_token
2437
+
2438
+ # Output only. A list of resource types supported by Deployment Manager.
2439
+ # Corresponds to the JSON property `types`
2440
+ # @return [Array<Google::Apis::DeploymentmanagerV2beta::Type>]
2441
+ attr_accessor :types
2442
+
2443
+ def initialize(**args)
2444
+ update!(**args)
2445
+ end
2446
+
2447
+ # Update properties of this object
2448
+ def update!(**args)
2449
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2450
+ @types = args[:types] if args.key?(:types)
2451
+ end
2452
+ end
2453
+
2454
+ # Options for how to validate and process properties on a resource.
2455
+ class ValidationOptions
2456
+ include Google::Apis::Core::Hashable
2457
+
2458
+ # Customize how deployment manager will validate the resource against schema
2459
+ # errors.
2460
+ # Corresponds to the JSON property `schemaValidation`
2461
+ # @return [String]
2462
+ attr_accessor :schema_validation
2463
+
2464
+ # Specify what to do with extra properties when executing a request.
2465
+ # Corresponds to the JSON property `undeclaredProperties`
2466
+ # @return [String]
2467
+ attr_accessor :undeclared_properties
2468
+
2469
+ def initialize(**args)
2470
+ update!(**args)
2471
+ end
2472
+
2473
+ # Update properties of this object
2474
+ def update!(**args)
2475
+ @schema_validation = args[:schema_validation] if args.key?(:schema_validation)
2476
+ @undeclared_properties = args[:undeclared_properties] if args.key?(:undeclared_properties)
2477
+ end
2478
+ end
2479
+ end
2480
+ end
2481
+ end