google-apis-appengine_v1 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: 11db3375e5ca96097ed59357a54976e3f484f9e6d83f978d4c1b232ff0ca6a88
4
+ data.tar.gz: 9ab1515b3d8d289d984a3093c268af662e30def45371be12910b8083229332b7
5
+ SHA512:
6
+ metadata.gz: f790e2a3b2680e16a65fdeddb1488169f41a07661c5afdc520615c8be933ae4f2a5f6005b71883ff805b4f4b6622807120ef250278c87f10ad8ff5457171f001
7
+ data.tar.gz: 79ebc4636adf24645d9448754202453d14738a6c4b331c324a694d1701df10803169329558c50f3c3135aa6bd4832b2bd2f937d1dc791ef6c76f5fb6de2cfd88
@@ -0,0 +1,13 @@
1
+ --hide-void-return
2
+ --no-private
3
+ --verbose
4
+ --title=google-apis-appengine_v1
5
+ --markup-provider=redcarpet
6
+ --markup=markdown
7
+ --main OVERVIEW.md
8
+ lib/google/apis/appengine_v1/*.rb
9
+ lib/google/apis/appengine_v1.rb
10
+ -
11
+ OVERVIEW.md
12
+ CHANGELOG.md
13
+ LICENSE.md
@@ -0,0 +1,7 @@
1
+ # Release history for google-apis-appengine_v1
2
+
3
+ ### v0.1.0 (2021-01-07)
4
+
5
+ * Regenerated using generator version 0.1.1
6
+ * Regenerated from discovery document revision 20201201
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 V1 of the App Engine Admin API
2
+
3
+ This is a simple client library for version V1 of the App Engine Admin 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/appengine.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-appengine_v1', '~> 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-appengine_v1
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/appengine_v1"
49
+
50
+ # Create a client object
51
+ client = Google::Apis::AppengineV1::AppengineService.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 Appengine service in particular.)
67
+
68
+ For reference information on specific calls in the App Engine Admin API, see the {Google::Apis::AppengineV1::AppengineService 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-appengine_v1`, 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/appengine/docs/admin-api/) 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/appengine_v1"
@@ -0,0 +1,42 @@
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/appengine_v1/service.rb'
16
+ require 'google/apis/appengine_v1/classes.rb'
17
+ require 'google/apis/appengine_v1/representations.rb'
18
+ require 'google/apis/appengine_v1/gem_version.rb'
19
+
20
+ module Google
21
+ module Apis
22
+ # App Engine Admin API
23
+ #
24
+ # Provisions and manages developers' App Engine applications.
25
+ #
26
+ # @see https://cloud.google.com/appengine/docs/admin-api/
27
+ module AppengineV1
28
+ # Version of the App Engine Admin API this client connects to.
29
+ # This is NOT the gem version.
30
+ VERSION = 'V1'
31
+
32
+ # View and manage your applications deployed on Google App Engine
33
+ AUTH_APPENGINE_ADMIN = 'https://www.googleapis.com/auth/appengine.admin'
34
+
35
+ # View and manage your data across Google Cloud Platform services
36
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
37
+
38
+ # View your data across Google Cloud Platform services
39
+ AUTH_CLOUD_PLATFORM_READ_ONLY = 'https://www.googleapis.com/auth/cloud-platform.read-only'
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,3008 @@
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 AppengineV1
24
+
25
+ # Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/
26
+ # endpoints/) configuration for API handlers.
27
+ class ApiConfigHandler
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # Action to take when users access resources that require authentication.
31
+ # Defaults to redirect.
32
+ # Corresponds to the JSON property `authFailAction`
33
+ # @return [String]
34
+ attr_accessor :auth_fail_action
35
+
36
+ # Level of login required to access this resource. Defaults to optional.
37
+ # Corresponds to the JSON property `login`
38
+ # @return [String]
39
+ attr_accessor :login
40
+
41
+ # Path to the script from the application root directory.
42
+ # Corresponds to the JSON property `script`
43
+ # @return [String]
44
+ attr_accessor :script
45
+
46
+ # Security (HTTPS) enforcement for this URL.
47
+ # Corresponds to the JSON property `securityLevel`
48
+ # @return [String]
49
+ attr_accessor :security_level
50
+
51
+ # URL to serve the endpoint at.
52
+ # Corresponds to the JSON property `url`
53
+ # @return [String]
54
+ attr_accessor :url
55
+
56
+ def initialize(**args)
57
+ update!(**args)
58
+ end
59
+
60
+ # Update properties of this object
61
+ def update!(**args)
62
+ @auth_fail_action = args[:auth_fail_action] if args.key?(:auth_fail_action)
63
+ @login = args[:login] if args.key?(:login)
64
+ @script = args[:script] if args.key?(:script)
65
+ @security_level = args[:security_level] if args.key?(:security_level)
66
+ @url = args[:url] if args.key?(:url)
67
+ end
68
+ end
69
+
70
+ # Uses Google Cloud Endpoints to handle requests.
71
+ class ApiEndpointHandler
72
+ include Google::Apis::Core::Hashable
73
+
74
+ # Path to the script from the application root directory.
75
+ # Corresponds to the JSON property `scriptPath`
76
+ # @return [String]
77
+ attr_accessor :script_path
78
+
79
+ def initialize(**args)
80
+ update!(**args)
81
+ end
82
+
83
+ # Update properties of this object
84
+ def update!(**args)
85
+ @script_path = args[:script_path] if args.key?(:script_path)
86
+ end
87
+ end
88
+
89
+ # An Application resource contains the top-level configuration of an App Engine
90
+ # application.
91
+ class Application
92
+ include Google::Apis::Core::Hashable
93
+
94
+ # Google Apps authentication domain that controls which users can access this
95
+ # application.Defaults to open access for any Google Account.
96
+ # Corresponds to the JSON property `authDomain`
97
+ # @return [String]
98
+ attr_accessor :auth_domain
99
+
100
+ # Google Cloud Storage bucket that can be used for storing files associated with
101
+ # this application. This bucket is associated with the application and can be
102
+ # used by the gcloud deployment commands.@OutputOnly
103
+ # Corresponds to the JSON property `codeBucket`
104
+ # @return [String]
105
+ attr_accessor :code_bucket
106
+
107
+ # The type of the Cloud Firestore or Cloud Datastore database associated with
108
+ # this application.
109
+ # Corresponds to the JSON property `databaseType`
110
+ # @return [String]
111
+ attr_accessor :database_type
112
+
113
+ # Google Cloud Storage bucket that can be used by this application to store
114
+ # content.@OutputOnly
115
+ # Corresponds to the JSON property `defaultBucket`
116
+ # @return [String]
117
+ attr_accessor :default_bucket
118
+
119
+ # Cookie expiration policy for this application.
120
+ # Corresponds to the JSON property `defaultCookieExpiration`
121
+ # @return [String]
122
+ attr_accessor :default_cookie_expiration
123
+
124
+ # Hostname used to reach this application, as resolved by App Engine.@OutputOnly
125
+ # Corresponds to the JSON property `defaultHostname`
126
+ # @return [String]
127
+ attr_accessor :default_hostname
128
+
129
+ # HTTP path dispatch rules for requests to the application that do not
130
+ # explicitly target a service or version. Rules are order-dependent. Up to 20
131
+ # dispatch rules can be supported.
132
+ # Corresponds to the JSON property `dispatchRules`
133
+ # @return [Array<Google::Apis::AppengineV1::UrlDispatchRule>]
134
+ attr_accessor :dispatch_rules
135
+
136
+ # The feature specific settings to be used in the application. These define
137
+ # behaviors that are user configurable.
138
+ # Corresponds to the JSON property `featureSettings`
139
+ # @return [Google::Apis::AppengineV1::FeatureSettings]
140
+ attr_accessor :feature_settings
141
+
142
+ # The Google Container Registry domain used for storing managed build docker
143
+ # images for this application.
144
+ # Corresponds to the JSON property `gcrDomain`
145
+ # @return [String]
146
+ attr_accessor :gcr_domain
147
+
148
+ # Identity-Aware Proxy
149
+ # Corresponds to the JSON property `iap`
150
+ # @return [Google::Apis::AppengineV1::IdentityAwareProxy]
151
+ attr_accessor :iap
152
+
153
+ # Identifier of the Application resource. This identifier is equivalent to the
154
+ # project ID of the Google Cloud Platform project where you want to deploy your
155
+ # application. Example: myapp.
156
+ # Corresponds to the JSON property `id`
157
+ # @return [String]
158
+ attr_accessor :id
159
+
160
+ # Location from which this application runs. Application instances run out of
161
+ # the data centers in the specified location, which is also where all of the
162
+ # application's end user content is stored.Defaults to us-central.View the list
163
+ # of supported locations (https://cloud.google.com/appengine/docs/locations).
164
+ # Corresponds to the JSON property `locationId`
165
+ # @return [String]
166
+ attr_accessor :location_id
167
+
168
+ # Full path to the Application resource in the API. Example: apps/myapp.@
169
+ # OutputOnly
170
+ # Corresponds to the JSON property `name`
171
+ # @return [String]
172
+ attr_accessor :name
173
+
174
+ # Serving status of this application.
175
+ # Corresponds to the JSON property `servingStatus`
176
+ # @return [String]
177
+ attr_accessor :serving_status
178
+
179
+ def initialize(**args)
180
+ update!(**args)
181
+ end
182
+
183
+ # Update properties of this object
184
+ def update!(**args)
185
+ @auth_domain = args[:auth_domain] if args.key?(:auth_domain)
186
+ @code_bucket = args[:code_bucket] if args.key?(:code_bucket)
187
+ @database_type = args[:database_type] if args.key?(:database_type)
188
+ @default_bucket = args[:default_bucket] if args.key?(:default_bucket)
189
+ @default_cookie_expiration = args[:default_cookie_expiration] if args.key?(:default_cookie_expiration)
190
+ @default_hostname = args[:default_hostname] if args.key?(:default_hostname)
191
+ @dispatch_rules = args[:dispatch_rules] if args.key?(:dispatch_rules)
192
+ @feature_settings = args[:feature_settings] if args.key?(:feature_settings)
193
+ @gcr_domain = args[:gcr_domain] if args.key?(:gcr_domain)
194
+ @iap = args[:iap] if args.key?(:iap)
195
+ @id = args[:id] if args.key?(:id)
196
+ @location_id = args[:location_id] if args.key?(:location_id)
197
+ @name = args[:name] if args.key?(:name)
198
+ @serving_status = args[:serving_status] if args.key?(:serving_status)
199
+ end
200
+ end
201
+
202
+ # An SSL certificate that a user has been authorized to administer. A user is
203
+ # authorized to administer any certificate that applies to one of their
204
+ # authorized domains.
205
+ class AuthorizedCertificate
206
+ include Google::Apis::Core::Hashable
207
+
208
+ # An SSL certificate obtained from a certificate authority.
209
+ # Corresponds to the JSON property `certificateRawData`
210
+ # @return [Google::Apis::AppengineV1::CertificateRawData]
211
+ attr_accessor :certificate_raw_data
212
+
213
+ # The user-specified display name of the certificate. This is not guaranteed to
214
+ # be unique. Example: My Certificate.
215
+ # Corresponds to the JSON property `displayName`
216
+ # @return [String]
217
+ attr_accessor :display_name
218
+
219
+ # Aggregate count of the domain mappings with this certificate mapped. This
220
+ # count includes domain mappings on applications for which the user does not
221
+ # have VIEWER permissions.Only returned by GET or LIST requests when
222
+ # specifically requested by the view=FULL_CERTIFICATE option.@OutputOnly
223
+ # Corresponds to the JSON property `domainMappingsCount`
224
+ # @return [Fixnum]
225
+ attr_accessor :domain_mappings_count
226
+
227
+ # Topmost applicable domains of this certificate. This certificate applies to
228
+ # these domains and their subdomains. Example: example.com.@OutputOnly
229
+ # Corresponds to the JSON property `domainNames`
230
+ # @return [Array<String>]
231
+ attr_accessor :domain_names
232
+
233
+ # The time when this certificate expires. To update the renewal time on this
234
+ # certificate, upload an SSL certificate with a different expiration time using
235
+ # AuthorizedCertificates.UpdateAuthorizedCertificate.@OutputOnly
236
+ # Corresponds to the JSON property `expireTime`
237
+ # @return [String]
238
+ attr_accessor :expire_time
239
+
240
+ # Relative name of the certificate. This is a unique value autogenerated on
241
+ # AuthorizedCertificate resource creation. Example: 12345.@OutputOnly
242
+ # Corresponds to the JSON property `id`
243
+ # @return [String]
244
+ attr_accessor :id
245
+
246
+ # A certificate managed by App Engine.
247
+ # Corresponds to the JSON property `managedCertificate`
248
+ # @return [Google::Apis::AppengineV1::ManagedCertificate]
249
+ attr_accessor :managed_certificate
250
+
251
+ # Full path to the AuthorizedCertificate resource in the API. Example: apps/
252
+ # myapp/authorizedCertificates/12345.@OutputOnly
253
+ # Corresponds to the JSON property `name`
254
+ # @return [String]
255
+ attr_accessor :name
256
+
257
+ # The full paths to user visible Domain Mapping resources that have this
258
+ # certificate mapped. Example: apps/myapp/domainMappings/example.com.This may
259
+ # not represent the full list of mapped domain mappings if the user does not
260
+ # have VIEWER permissions on all of the applications that have this certificate
261
+ # mapped. See domain_mappings_count for a complete count.Only returned by GET or
262
+ # LIST requests when specifically requested by the view=FULL_CERTIFICATE option.@
263
+ # OutputOnly
264
+ # Corresponds to the JSON property `visibleDomainMappings`
265
+ # @return [Array<String>]
266
+ attr_accessor :visible_domain_mappings
267
+
268
+ def initialize(**args)
269
+ update!(**args)
270
+ end
271
+
272
+ # Update properties of this object
273
+ def update!(**args)
274
+ @certificate_raw_data = args[:certificate_raw_data] if args.key?(:certificate_raw_data)
275
+ @display_name = args[:display_name] if args.key?(:display_name)
276
+ @domain_mappings_count = args[:domain_mappings_count] if args.key?(:domain_mappings_count)
277
+ @domain_names = args[:domain_names] if args.key?(:domain_names)
278
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
279
+ @id = args[:id] if args.key?(:id)
280
+ @managed_certificate = args[:managed_certificate] if args.key?(:managed_certificate)
281
+ @name = args[:name] if args.key?(:name)
282
+ @visible_domain_mappings = args[:visible_domain_mappings] if args.key?(:visible_domain_mappings)
283
+ end
284
+ end
285
+
286
+ # A domain that a user has been authorized to administer. To authorize use of a
287
+ # domain, verify ownership via Webmaster Central (https://www.google.com/
288
+ # webmasters/verification/home).
289
+ class AuthorizedDomain
290
+ include Google::Apis::Core::Hashable
291
+
292
+ # Fully qualified domain name of the domain authorized for use. Example: example.
293
+ # com.
294
+ # Corresponds to the JSON property `id`
295
+ # @return [String]
296
+ attr_accessor :id
297
+
298
+ # Full path to the AuthorizedDomain resource in the API. Example: apps/myapp/
299
+ # authorizedDomains/example.com.@OutputOnly
300
+ # Corresponds to the JSON property `name`
301
+ # @return [String]
302
+ attr_accessor :name
303
+
304
+ def initialize(**args)
305
+ update!(**args)
306
+ end
307
+
308
+ # Update properties of this object
309
+ def update!(**args)
310
+ @id = args[:id] if args.key?(:id)
311
+ @name = args[:name] if args.key?(:name)
312
+ end
313
+ end
314
+
315
+ # Automatic scaling is based on request rate, response latencies, and other
316
+ # application metrics.
317
+ class AutomaticScaling
318
+ include Google::Apis::Core::Hashable
319
+
320
+ # The time period that the Autoscaler (https://cloud.google.com/compute/docs/
321
+ # autoscaler/) should wait before it starts collecting information from a new
322
+ # instance. This prevents the autoscaler from collecting information when the
323
+ # instance is initializing, during which the collected usage would not be
324
+ # reliable. Only applicable in the App Engine flexible environment.
325
+ # Corresponds to the JSON property `coolDownPeriod`
326
+ # @return [String]
327
+ attr_accessor :cool_down_period
328
+
329
+ # Target scaling by CPU usage.
330
+ # Corresponds to the JSON property `cpuUtilization`
331
+ # @return [Google::Apis::AppengineV1::CpuUtilization]
332
+ attr_accessor :cpu_utilization
333
+
334
+ # Target scaling by disk usage. Only applicable in the App Engine flexible
335
+ # environment.
336
+ # Corresponds to the JSON property `diskUtilization`
337
+ # @return [Google::Apis::AppengineV1::DiskUtilization]
338
+ attr_accessor :disk_utilization
339
+
340
+ # Number of concurrent requests an automatic scaling instance can accept before
341
+ # the scheduler spawns a new instance.Defaults to a runtime-specific value.
342
+ # Corresponds to the JSON property `maxConcurrentRequests`
343
+ # @return [Fixnum]
344
+ attr_accessor :max_concurrent_requests
345
+
346
+ # Maximum number of idle instances that should be maintained for this version.
347
+ # Corresponds to the JSON property `maxIdleInstances`
348
+ # @return [Fixnum]
349
+ attr_accessor :max_idle_instances
350
+
351
+ # Maximum amount of time that a request should wait in the pending queue before
352
+ # starting a new instance to handle it.
353
+ # Corresponds to the JSON property `maxPendingLatency`
354
+ # @return [String]
355
+ attr_accessor :max_pending_latency
356
+
357
+ # Maximum number of instances that should be started to handle requests for this
358
+ # version.
359
+ # Corresponds to the JSON property `maxTotalInstances`
360
+ # @return [Fixnum]
361
+ attr_accessor :max_total_instances
362
+
363
+ # Minimum number of idle instances that should be maintained for this version.
364
+ # Only applicable for the default version of a service.
365
+ # Corresponds to the JSON property `minIdleInstances`
366
+ # @return [Fixnum]
367
+ attr_accessor :min_idle_instances
368
+
369
+ # Minimum amount of time a request should wait in the pending queue before
370
+ # starting a new instance to handle it.
371
+ # Corresponds to the JSON property `minPendingLatency`
372
+ # @return [String]
373
+ attr_accessor :min_pending_latency
374
+
375
+ # Minimum number of running instances that should be maintained for this version.
376
+ # Corresponds to the JSON property `minTotalInstances`
377
+ # @return [Fixnum]
378
+ attr_accessor :min_total_instances
379
+
380
+ # Target scaling by network usage. Only applicable in the App Engine flexible
381
+ # environment.
382
+ # Corresponds to the JSON property `networkUtilization`
383
+ # @return [Google::Apis::AppengineV1::NetworkUtilization]
384
+ attr_accessor :network_utilization
385
+
386
+ # Target scaling by request utilization. Only applicable in the App Engine
387
+ # flexible environment.
388
+ # Corresponds to the JSON property `requestUtilization`
389
+ # @return [Google::Apis::AppengineV1::RequestUtilization]
390
+ attr_accessor :request_utilization
391
+
392
+ # Scheduler settings for standard environment.
393
+ # Corresponds to the JSON property `standardSchedulerSettings`
394
+ # @return [Google::Apis::AppengineV1::StandardSchedulerSettings]
395
+ attr_accessor :standard_scheduler_settings
396
+
397
+ def initialize(**args)
398
+ update!(**args)
399
+ end
400
+
401
+ # Update properties of this object
402
+ def update!(**args)
403
+ @cool_down_period = args[:cool_down_period] if args.key?(:cool_down_period)
404
+ @cpu_utilization = args[:cpu_utilization] if args.key?(:cpu_utilization)
405
+ @disk_utilization = args[:disk_utilization] if args.key?(:disk_utilization)
406
+ @max_concurrent_requests = args[:max_concurrent_requests] if args.key?(:max_concurrent_requests)
407
+ @max_idle_instances = args[:max_idle_instances] if args.key?(:max_idle_instances)
408
+ @max_pending_latency = args[:max_pending_latency] if args.key?(:max_pending_latency)
409
+ @max_total_instances = args[:max_total_instances] if args.key?(:max_total_instances)
410
+ @min_idle_instances = args[:min_idle_instances] if args.key?(:min_idle_instances)
411
+ @min_pending_latency = args[:min_pending_latency] if args.key?(:min_pending_latency)
412
+ @min_total_instances = args[:min_total_instances] if args.key?(:min_total_instances)
413
+ @network_utilization = args[:network_utilization] if args.key?(:network_utilization)
414
+ @request_utilization = args[:request_utilization] if args.key?(:request_utilization)
415
+ @standard_scheduler_settings = args[:standard_scheduler_settings] if args.key?(:standard_scheduler_settings)
416
+ end
417
+ end
418
+
419
+ # A service with basic scaling will create an instance when the application
420
+ # receives a request. The instance will be turned down when the app becomes idle.
421
+ # Basic scaling is ideal for work that is intermittent or driven by user
422
+ # activity.
423
+ class BasicScaling
424
+ include Google::Apis::Core::Hashable
425
+
426
+ # Duration of time after the last request that an instance must wait before the
427
+ # instance is shut down.
428
+ # Corresponds to the JSON property `idleTimeout`
429
+ # @return [String]
430
+ attr_accessor :idle_timeout
431
+
432
+ # Maximum number of instances to create for this version.
433
+ # Corresponds to the JSON property `maxInstances`
434
+ # @return [Fixnum]
435
+ attr_accessor :max_instances
436
+
437
+ def initialize(**args)
438
+ update!(**args)
439
+ end
440
+
441
+ # Update properties of this object
442
+ def update!(**args)
443
+ @idle_timeout = args[:idle_timeout] if args.key?(:idle_timeout)
444
+ @max_instances = args[:max_instances] if args.key?(:max_instances)
445
+ end
446
+ end
447
+
448
+ # Request message for Firewall.BatchUpdateIngressRules.
449
+ class BatchUpdateIngressRulesRequest
450
+ include Google::Apis::Core::Hashable
451
+
452
+ # A list of FirewallRules to replace the existing set.
453
+ # Corresponds to the JSON property `ingressRules`
454
+ # @return [Array<Google::Apis::AppengineV1::FirewallRule>]
455
+ attr_accessor :ingress_rules
456
+
457
+ def initialize(**args)
458
+ update!(**args)
459
+ end
460
+
461
+ # Update properties of this object
462
+ def update!(**args)
463
+ @ingress_rules = args[:ingress_rules] if args.key?(:ingress_rules)
464
+ end
465
+ end
466
+
467
+ # Response message for Firewall.UpdateAllIngressRules.
468
+ class BatchUpdateIngressRulesResponse
469
+ include Google::Apis::Core::Hashable
470
+
471
+ # The full list of ingress FirewallRules for this application.
472
+ # Corresponds to the JSON property `ingressRules`
473
+ # @return [Array<Google::Apis::AppengineV1::FirewallRule>]
474
+ attr_accessor :ingress_rules
475
+
476
+ def initialize(**args)
477
+ update!(**args)
478
+ end
479
+
480
+ # Update properties of this object
481
+ def update!(**args)
482
+ @ingress_rules = args[:ingress_rules] if args.key?(:ingress_rules)
483
+ end
484
+ end
485
+
486
+ # An SSL certificate obtained from a certificate authority.
487
+ class CertificateRawData
488
+ include Google::Apis::Core::Hashable
489
+
490
+ # Unencrypted PEM encoded RSA private key. This field is set once on certificate
491
+ # creation and then encrypted. The key size must be 2048 bits or fewer. Must
492
+ # include the header and footer. Example: -----BEGIN RSA PRIVATE KEY----- -----
493
+ # END RSA PRIVATE KEY----- @InputOnly
494
+ # Corresponds to the JSON property `privateKey`
495
+ # @return [String]
496
+ attr_accessor :private_key
497
+
498
+ # PEM encoded x.509 public key certificate. This field is set once on
499
+ # certificate creation. Must include the header and footer. Example: -----BEGIN
500
+ # CERTIFICATE----- -----END CERTIFICATE-----
501
+ # Corresponds to the JSON property `publicCertificate`
502
+ # @return [String]
503
+ attr_accessor :public_certificate
504
+
505
+ def initialize(**args)
506
+ update!(**args)
507
+ end
508
+
509
+ # Update properties of this object
510
+ def update!(**args)
511
+ @private_key = args[:private_key] if args.key?(:private_key)
512
+ @public_certificate = args[:public_certificate] if args.key?(:public_certificate)
513
+ end
514
+ end
515
+
516
+ # Options for the build operations performed as a part of the version deployment.
517
+ # Only applicable for App Engine flexible environment when creating a version
518
+ # using source code directly.
519
+ class CloudBuildOptions
520
+ include Google::Apis::Core::Hashable
521
+
522
+ # Path to the yaml file used in deployment, used to determine runtime
523
+ # configuration details.Required for flexible environment builds.See https://
524
+ # cloud.google.com/appengine/docs/standard/python/config/appref for more details.
525
+ # Corresponds to the JSON property `appYamlPath`
526
+ # @return [String]
527
+ attr_accessor :app_yaml_path
528
+
529
+ # The Cloud Build timeout used as part of any dependent builds performed by
530
+ # version creation. Defaults to 10 minutes.
531
+ # Corresponds to the JSON property `cloudBuildTimeout`
532
+ # @return [String]
533
+ attr_accessor :cloud_build_timeout
534
+
535
+ def initialize(**args)
536
+ update!(**args)
537
+ end
538
+
539
+ # Update properties of this object
540
+ def update!(**args)
541
+ @app_yaml_path = args[:app_yaml_path] if args.key?(:app_yaml_path)
542
+ @cloud_build_timeout = args[:cloud_build_timeout] if args.key?(:cloud_build_timeout)
543
+ end
544
+ end
545
+
546
+ # Docker image that is used to create a container and start a VM instance for
547
+ # the version that you deploy. Only applicable for instances running in the App
548
+ # Engine flexible environment.
549
+ class ContainerInfo
550
+ include Google::Apis::Core::Hashable
551
+
552
+ # URI to the hosted container image in Google Container Registry. The URI must
553
+ # be fully qualified and include a tag or digest. Examples: "gcr.io/my-project/
554
+ # image:tag" or "gcr.io/my-project/image@digest"
555
+ # Corresponds to the JSON property `image`
556
+ # @return [String]
557
+ attr_accessor :image
558
+
559
+ def initialize(**args)
560
+ update!(**args)
561
+ end
562
+
563
+ # Update properties of this object
564
+ def update!(**args)
565
+ @image = args[:image] if args.key?(:image)
566
+ end
567
+ end
568
+
569
+ # Target scaling by CPU usage.
570
+ class CpuUtilization
571
+ include Google::Apis::Core::Hashable
572
+
573
+ # Period of time over which CPU utilization is calculated.
574
+ # Corresponds to the JSON property `aggregationWindowLength`
575
+ # @return [String]
576
+ attr_accessor :aggregation_window_length
577
+
578
+ # Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.
579
+ # Corresponds to the JSON property `targetUtilization`
580
+ # @return [Float]
581
+ attr_accessor :target_utilization
582
+
583
+ def initialize(**args)
584
+ update!(**args)
585
+ end
586
+
587
+ # Update properties of this object
588
+ def update!(**args)
589
+ @aggregation_window_length = args[:aggregation_window_length] if args.key?(:aggregation_window_length)
590
+ @target_utilization = args[:target_utilization] if args.key?(:target_utilization)
591
+ end
592
+ end
593
+
594
+ # Metadata for the given google.longrunning.Operation during a google.appengine.
595
+ # v1.CreateVersionRequest.
596
+ class CreateVersionMetadataV1
597
+ include Google::Apis::Core::Hashable
598
+
599
+ # The Cloud Build ID if one was created as part of the version create. @
600
+ # OutputOnly
601
+ # Corresponds to the JSON property `cloudBuildId`
602
+ # @return [String]
603
+ attr_accessor :cloud_build_id
604
+
605
+ def initialize(**args)
606
+ update!(**args)
607
+ end
608
+
609
+ # Update properties of this object
610
+ def update!(**args)
611
+ @cloud_build_id = args[:cloud_build_id] if args.key?(:cloud_build_id)
612
+ end
613
+ end
614
+
615
+ # Metadata for the given google.longrunning.Operation during a google.appengine.
616
+ # v1alpha.CreateVersionRequest.
617
+ class CreateVersionMetadataV1Alpha
618
+ include Google::Apis::Core::Hashable
619
+
620
+ # The Cloud Build ID if one was created as part of the version create. @
621
+ # OutputOnly
622
+ # Corresponds to the JSON property `cloudBuildId`
623
+ # @return [String]
624
+ attr_accessor :cloud_build_id
625
+
626
+ def initialize(**args)
627
+ update!(**args)
628
+ end
629
+
630
+ # Update properties of this object
631
+ def update!(**args)
632
+ @cloud_build_id = args[:cloud_build_id] if args.key?(:cloud_build_id)
633
+ end
634
+ end
635
+
636
+ # Metadata for the given google.longrunning.Operation during a google.appengine.
637
+ # v1beta.CreateVersionRequest.
638
+ class CreateVersionMetadataV1Beta
639
+ include Google::Apis::Core::Hashable
640
+
641
+ # The Cloud Build ID if one was created as part of the version create. @
642
+ # OutputOnly
643
+ # Corresponds to the JSON property `cloudBuildId`
644
+ # @return [String]
645
+ attr_accessor :cloud_build_id
646
+
647
+ def initialize(**args)
648
+ update!(**args)
649
+ end
650
+
651
+ # Update properties of this object
652
+ def update!(**args)
653
+ @cloud_build_id = args[:cloud_build_id] if args.key?(:cloud_build_id)
654
+ end
655
+ end
656
+
657
+ # Request message for Instances.DebugInstance.
658
+ class DebugInstanceRequest
659
+ include Google::Apis::Core::Hashable
660
+
661
+ # Public SSH key to add to the instance. Examples: [USERNAME]:ssh-rsa [KEY_VALUE]
662
+ # [USERNAME] [USERNAME]:ssh-rsa [KEY_VALUE] google-ssh `"userName":"[USERNAME]",
663
+ # "expireOn":"[EXPIRE_TIME]"`For more information, see Adding and Removing SSH
664
+ # Keys (https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys)
665
+ # .
666
+ # Corresponds to the JSON property `sshKey`
667
+ # @return [String]
668
+ attr_accessor :ssh_key
669
+
670
+ def initialize(**args)
671
+ update!(**args)
672
+ end
673
+
674
+ # Update properties of this object
675
+ def update!(**args)
676
+ @ssh_key = args[:ssh_key] if args.key?(:ssh_key)
677
+ end
678
+ end
679
+
680
+ # Code and application artifacts used to deploy a version to App Engine.
681
+ class Deployment
682
+ include Google::Apis::Core::Hashable
683
+
684
+ # Options for the build operations performed as a part of the version deployment.
685
+ # Only applicable for App Engine flexible environment when creating a version
686
+ # using source code directly.
687
+ # Corresponds to the JSON property `cloudBuildOptions`
688
+ # @return [Google::Apis::AppengineV1::CloudBuildOptions]
689
+ attr_accessor :cloud_build_options
690
+
691
+ # Docker image that is used to create a container and start a VM instance for
692
+ # the version that you deploy. Only applicable for instances running in the App
693
+ # Engine flexible environment.
694
+ # Corresponds to the JSON property `container`
695
+ # @return [Google::Apis::AppengineV1::ContainerInfo]
696
+ attr_accessor :container
697
+
698
+ # Manifest of the files stored in Google Cloud Storage that are included as part
699
+ # of this version. All files must be readable using the credentials supplied
700
+ # with this call.
701
+ # Corresponds to the JSON property `files`
702
+ # @return [Hash<String,Google::Apis::AppengineV1::FileInfo>]
703
+ attr_accessor :files
704
+
705
+ # The zip file information for a zip deployment.
706
+ # Corresponds to the JSON property `zip`
707
+ # @return [Google::Apis::AppengineV1::ZipInfo]
708
+ attr_accessor :zip
709
+
710
+ def initialize(**args)
711
+ update!(**args)
712
+ end
713
+
714
+ # Update properties of this object
715
+ def update!(**args)
716
+ @cloud_build_options = args[:cloud_build_options] if args.key?(:cloud_build_options)
717
+ @container = args[:container] if args.key?(:container)
718
+ @files = args[:files] if args.key?(:files)
719
+ @zip = args[:zip] if args.key?(:zip)
720
+ end
721
+ end
722
+
723
+ # Target scaling by disk usage. Only applicable in the App Engine flexible
724
+ # environment.
725
+ class DiskUtilization
726
+ include Google::Apis::Core::Hashable
727
+
728
+ # Target bytes read per second.
729
+ # Corresponds to the JSON property `targetReadBytesPerSecond`
730
+ # @return [Fixnum]
731
+ attr_accessor :target_read_bytes_per_second
732
+
733
+ # Target ops read per seconds.
734
+ # Corresponds to the JSON property `targetReadOpsPerSecond`
735
+ # @return [Fixnum]
736
+ attr_accessor :target_read_ops_per_second
737
+
738
+ # Target bytes written per second.
739
+ # Corresponds to the JSON property `targetWriteBytesPerSecond`
740
+ # @return [Fixnum]
741
+ attr_accessor :target_write_bytes_per_second
742
+
743
+ # Target ops written per second.
744
+ # Corresponds to the JSON property `targetWriteOpsPerSecond`
745
+ # @return [Fixnum]
746
+ attr_accessor :target_write_ops_per_second
747
+
748
+ def initialize(**args)
749
+ update!(**args)
750
+ end
751
+
752
+ # Update properties of this object
753
+ def update!(**args)
754
+ @target_read_bytes_per_second = args[:target_read_bytes_per_second] if args.key?(:target_read_bytes_per_second)
755
+ @target_read_ops_per_second = args[:target_read_ops_per_second] if args.key?(:target_read_ops_per_second)
756
+ @target_write_bytes_per_second = args[:target_write_bytes_per_second] if args.key?(:target_write_bytes_per_second)
757
+ @target_write_ops_per_second = args[:target_write_ops_per_second] if args.key?(:target_write_ops_per_second)
758
+ end
759
+ end
760
+
761
+ # A domain serving an App Engine application.
762
+ class DomainMapping
763
+ include Google::Apis::Core::Hashable
764
+
765
+ # Relative name of the domain serving the application. Example: example.com.
766
+ # Corresponds to the JSON property `id`
767
+ # @return [String]
768
+ attr_accessor :id
769
+
770
+ # Full path to the DomainMapping resource in the API. Example: apps/myapp/
771
+ # domainMapping/example.com.@OutputOnly
772
+ # Corresponds to the JSON property `name`
773
+ # @return [String]
774
+ attr_accessor :name
775
+
776
+ # The resource records required to configure this domain mapping. These records
777
+ # must be added to the domain's DNS configuration in order to serve the
778
+ # application via this domain mapping.@OutputOnly
779
+ # Corresponds to the JSON property `resourceRecords`
780
+ # @return [Array<Google::Apis::AppengineV1::ResourceRecord>]
781
+ attr_accessor :resource_records
782
+
783
+ # SSL configuration for a DomainMapping resource.
784
+ # Corresponds to the JSON property `sslSettings`
785
+ # @return [Google::Apis::AppengineV1::SslSettings]
786
+ attr_accessor :ssl_settings
787
+
788
+ def initialize(**args)
789
+ update!(**args)
790
+ end
791
+
792
+ # Update properties of this object
793
+ def update!(**args)
794
+ @id = args[:id] if args.key?(:id)
795
+ @name = args[:name] if args.key?(:name)
796
+ @resource_records = args[:resource_records] if args.key?(:resource_records)
797
+ @ssl_settings = args[:ssl_settings] if args.key?(:ssl_settings)
798
+ end
799
+ end
800
+
801
+ # A generic empty message that you can re-use to avoid defining duplicated empty
802
+ # messages in your APIs. A typical example is to use it as the request or the
803
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
804
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
805
+ # Empty is empty JSON object ``.
806
+ class Empty
807
+ include Google::Apis::Core::Hashable
808
+
809
+ def initialize(**args)
810
+ update!(**args)
811
+ end
812
+
813
+ # Update properties of this object
814
+ def update!(**args)
815
+ end
816
+ end
817
+
818
+ # Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The
819
+ # Endpoints API Service provides tooling for serving Open API and gRPC endpoints
820
+ # via an NGINX proxy. Only valid for App Engine Flexible environment deployments.
821
+ # The fields here refer to the name and configuration ID of a "service" resource
822
+ # in the Service Management API (https://cloud.google.com/service-management/
823
+ # overview).
824
+ class EndpointsApiService
825
+ include Google::Apis::Core::Hashable
826
+
827
+ # Endpoints service configuration ID as specified by the Service Management API.
828
+ # For example "2016-09-19r1".By default, the rollout strategy for Endpoints is
829
+ # RolloutStrategy.FIXED. This means that Endpoints starts up with a particular
830
+ # configuration ID. When a new configuration is rolled out, Endpoints must be
831
+ # given the new configuration ID. The config_id field is used to give the
832
+ # configuration ID and is required in this case.Endpoints also has a rollout
833
+ # strategy called RolloutStrategy.MANAGED. When using this, Endpoints fetches
834
+ # the latest configuration and does not need the configuration ID. In this case,
835
+ # config_id must be omitted.
836
+ # Corresponds to the JSON property `configId`
837
+ # @return [String]
838
+ attr_accessor :config_id
839
+
840
+ # Enable or disable trace sampling. By default, this is set to false for enabled.
841
+ # Corresponds to the JSON property `disableTraceSampling`
842
+ # @return [Boolean]
843
+ attr_accessor :disable_trace_sampling
844
+ alias_method :disable_trace_sampling?, :disable_trace_sampling
845
+
846
+ # Endpoints service name which is the name of the "service" resource in the
847
+ # Service Management API. For example "myapi.endpoints.myproject.cloud.goog"
848
+ # Corresponds to the JSON property `name`
849
+ # @return [String]
850
+ attr_accessor :name
851
+
852
+ # Endpoints rollout strategy. If FIXED, config_id must be specified. If MANAGED,
853
+ # config_id must be omitted.
854
+ # Corresponds to the JSON property `rolloutStrategy`
855
+ # @return [String]
856
+ attr_accessor :rollout_strategy
857
+
858
+ def initialize(**args)
859
+ update!(**args)
860
+ end
861
+
862
+ # Update properties of this object
863
+ def update!(**args)
864
+ @config_id = args[:config_id] if args.key?(:config_id)
865
+ @disable_trace_sampling = args[:disable_trace_sampling] if args.key?(:disable_trace_sampling)
866
+ @name = args[:name] if args.key?(:name)
867
+ @rollout_strategy = args[:rollout_strategy] if args.key?(:rollout_strategy)
868
+ end
869
+ end
870
+
871
+ # The entrypoint for the application.
872
+ class Entrypoint
873
+ include Google::Apis::Core::Hashable
874
+
875
+ # The format should be a shell command that can be fed to bash -c.
876
+ # Corresponds to the JSON property `shell`
877
+ # @return [String]
878
+ attr_accessor :shell
879
+
880
+ def initialize(**args)
881
+ update!(**args)
882
+ end
883
+
884
+ # Update properties of this object
885
+ def update!(**args)
886
+ @shell = args[:shell] if args.key?(:shell)
887
+ end
888
+ end
889
+
890
+ # Custom static error page to be served when an error occurs.
891
+ class ErrorHandler
892
+ include Google::Apis::Core::Hashable
893
+
894
+ # Error condition this handler applies to.
895
+ # Corresponds to the JSON property `errorCode`
896
+ # @return [String]
897
+ attr_accessor :error_code
898
+
899
+ # MIME type of file. Defaults to text/html.
900
+ # Corresponds to the JSON property `mimeType`
901
+ # @return [String]
902
+ attr_accessor :mime_type
903
+
904
+ # Static file content to be served for this error.
905
+ # Corresponds to the JSON property `staticFile`
906
+ # @return [String]
907
+ attr_accessor :static_file
908
+
909
+ def initialize(**args)
910
+ update!(**args)
911
+ end
912
+
913
+ # Update properties of this object
914
+ def update!(**args)
915
+ @error_code = args[:error_code] if args.key?(:error_code)
916
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
917
+ @static_file = args[:static_file] if args.key?(:static_file)
918
+ end
919
+ end
920
+
921
+ # The feature specific settings to be used in the application. These define
922
+ # behaviors that are user configurable.
923
+ class FeatureSettings
924
+ include Google::Apis::Core::Hashable
925
+
926
+ # Boolean value indicating if split health checks should be used instead of the
927
+ # legacy health checks. At an app.yaml level, this means defaulting to '
928
+ # readiness_check' and 'liveness_check' values instead of 'health_check' ones.
929
+ # Once the legacy 'health_check' behavior is deprecated, and this value is
930
+ # always true, this setting can be removed.
931
+ # Corresponds to the JSON property `splitHealthChecks`
932
+ # @return [Boolean]
933
+ attr_accessor :split_health_checks
934
+ alias_method :split_health_checks?, :split_health_checks
935
+
936
+ # If true, use Container-Optimized OS (https://cloud.google.com/container-
937
+ # optimized-os/) base image for VMs, rather than a base Debian image.
938
+ # Corresponds to the JSON property `useContainerOptimizedOs`
939
+ # @return [Boolean]
940
+ attr_accessor :use_container_optimized_os
941
+ alias_method :use_container_optimized_os?, :use_container_optimized_os
942
+
943
+ def initialize(**args)
944
+ update!(**args)
945
+ end
946
+
947
+ # Update properties of this object
948
+ def update!(**args)
949
+ @split_health_checks = args[:split_health_checks] if args.key?(:split_health_checks)
950
+ @use_container_optimized_os = args[:use_container_optimized_os] if args.key?(:use_container_optimized_os)
951
+ end
952
+ end
953
+
954
+ # Single source file that is part of the version to be deployed. Each source
955
+ # file that is deployed must be specified separately.
956
+ class FileInfo
957
+ include Google::Apis::Core::Hashable
958
+
959
+ # The MIME type of the file.Defaults to the value from Google Cloud Storage.
960
+ # Corresponds to the JSON property `mimeType`
961
+ # @return [String]
962
+ attr_accessor :mime_type
963
+
964
+ # The SHA1 hash of the file, in hex.
965
+ # Corresponds to the JSON property `sha1Sum`
966
+ # @return [String]
967
+ attr_accessor :sha1_sum
968
+
969
+ # URL source to use to fetch this file. Must be a URL to a resource in Google
970
+ # Cloud Storage in the form 'http(s)://storage.googleapis.com//'.
971
+ # Corresponds to the JSON property `sourceUrl`
972
+ # @return [String]
973
+ attr_accessor :source_url
974
+
975
+ def initialize(**args)
976
+ update!(**args)
977
+ end
978
+
979
+ # Update properties of this object
980
+ def update!(**args)
981
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
982
+ @sha1_sum = args[:sha1_sum] if args.key?(:sha1_sum)
983
+ @source_url = args[:source_url] if args.key?(:source_url)
984
+ end
985
+ end
986
+
987
+ # A single firewall rule that is evaluated against incoming traffic and provides
988
+ # an action to take on matched requests.
989
+ class FirewallRule
990
+ include Google::Apis::Core::Hashable
991
+
992
+ # The action to take on matched requests.
993
+ # Corresponds to the JSON property `action`
994
+ # @return [String]
995
+ attr_accessor :action
996
+
997
+ # An optional string description of this rule. This field has a maximum length
998
+ # of 100 characters.
999
+ # Corresponds to the JSON property `description`
1000
+ # @return [String]
1001
+ attr_accessor :description
1002
+
1003
+ # A positive integer between 1, Int32.MaxValue-1 that defines the order of rule
1004
+ # evaluation. Rules with the lowest priority are evaluated first.A default rule
1005
+ # at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous
1006
+ # rule matches. Only the action of this rule can be modified by the user.
1007
+ # Corresponds to the JSON property `priority`
1008
+ # @return [Fixnum]
1009
+ attr_accessor :priority
1010
+
1011
+ # IP address or range, defined using CIDR notation, of requests that this rule
1012
+ # applies to. You can use the wildcard character "*" to match all IPs equivalent
1013
+ # to "0/0" and "::/0" together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:
1014
+ # db8::/32 or 2001:0db8:0000:0042:0000:8a2e:0370:7334. Truncation will be
1015
+ # silently performed on addresses which are not properly truncated. For example,
1016
+ # 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. Similarly, for IPv6,
1017
+ # 2001:db8::1/32 is accepted as the same address as 2001:db8::/32.
1018
+ # Corresponds to the JSON property `sourceRange`
1019
+ # @return [String]
1020
+ attr_accessor :source_range
1021
+
1022
+ def initialize(**args)
1023
+ update!(**args)
1024
+ end
1025
+
1026
+ # Update properties of this object
1027
+ def update!(**args)
1028
+ @action = args[:action] if args.key?(:action)
1029
+ @description = args[:description] if args.key?(:description)
1030
+ @priority = args[:priority] if args.key?(:priority)
1031
+ @source_range = args[:source_range] if args.key?(:source_range)
1032
+ end
1033
+ end
1034
+
1035
+ # Health checking configuration for VM instances. Unhealthy instances are killed
1036
+ # and replaced with new instances. Only applicable for instances in App Engine
1037
+ # flexible environment.
1038
+ class HealthCheck
1039
+ include Google::Apis::Core::Hashable
1040
+
1041
+ # Interval between health checks.
1042
+ # Corresponds to the JSON property `checkInterval`
1043
+ # @return [String]
1044
+ attr_accessor :check_interval
1045
+
1046
+ # Whether to explicitly disable health checks for this instance.
1047
+ # Corresponds to the JSON property `disableHealthCheck`
1048
+ # @return [Boolean]
1049
+ attr_accessor :disable_health_check
1050
+ alias_method :disable_health_check?, :disable_health_check
1051
+
1052
+ # Number of consecutive successful health checks required before receiving
1053
+ # traffic.
1054
+ # Corresponds to the JSON property `healthyThreshold`
1055
+ # @return [Fixnum]
1056
+ attr_accessor :healthy_threshold
1057
+
1058
+ # Host header to send when performing an HTTP health check. Example: "myapp.
1059
+ # appspot.com"
1060
+ # Corresponds to the JSON property `host`
1061
+ # @return [String]
1062
+ attr_accessor :host
1063
+
1064
+ # Number of consecutive failed health checks required before an instance is
1065
+ # restarted.
1066
+ # Corresponds to the JSON property `restartThreshold`
1067
+ # @return [Fixnum]
1068
+ attr_accessor :restart_threshold
1069
+
1070
+ # Time before the health check is considered failed.
1071
+ # Corresponds to the JSON property `timeout`
1072
+ # @return [String]
1073
+ attr_accessor :timeout
1074
+
1075
+ # Number of consecutive failed health checks required before removing traffic.
1076
+ # Corresponds to the JSON property `unhealthyThreshold`
1077
+ # @return [Fixnum]
1078
+ attr_accessor :unhealthy_threshold
1079
+
1080
+ def initialize(**args)
1081
+ update!(**args)
1082
+ end
1083
+
1084
+ # Update properties of this object
1085
+ def update!(**args)
1086
+ @check_interval = args[:check_interval] if args.key?(:check_interval)
1087
+ @disable_health_check = args[:disable_health_check] if args.key?(:disable_health_check)
1088
+ @healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold)
1089
+ @host = args[:host] if args.key?(:host)
1090
+ @restart_threshold = args[:restart_threshold] if args.key?(:restart_threshold)
1091
+ @timeout = args[:timeout] if args.key?(:timeout)
1092
+ @unhealthy_threshold = args[:unhealthy_threshold] if args.key?(:unhealthy_threshold)
1093
+ end
1094
+ end
1095
+
1096
+ # Identity-Aware Proxy
1097
+ class IdentityAwareProxy
1098
+ include Google::Apis::Core::Hashable
1099
+
1100
+ # Whether the serving infrastructure will authenticate and authorize all
1101
+ # incoming requests.If true, the oauth2_client_id and oauth2_client_secret
1102
+ # fields must be non-empty.
1103
+ # Corresponds to the JSON property `enabled`
1104
+ # @return [Boolean]
1105
+ attr_accessor :enabled
1106
+ alias_method :enabled?, :enabled
1107
+
1108
+ # OAuth2 client ID to use for the authentication flow.
1109
+ # Corresponds to the JSON property `oauth2ClientId`
1110
+ # @return [String]
1111
+ attr_accessor :oauth2_client_id
1112
+
1113
+ # OAuth2 client secret to use for the authentication flow.For security reasons,
1114
+ # this value cannot be retrieved via the API. Instead, the SHA-256 hash of the
1115
+ # value is returned in the oauth2_client_secret_sha256 field.@InputOnly
1116
+ # Corresponds to the JSON property `oauth2ClientSecret`
1117
+ # @return [String]
1118
+ attr_accessor :oauth2_client_secret
1119
+
1120
+ # Hex-encoded SHA-256 hash of the client secret.@OutputOnly
1121
+ # Corresponds to the JSON property `oauth2ClientSecretSha256`
1122
+ # @return [String]
1123
+ attr_accessor :oauth2_client_secret_sha256
1124
+
1125
+ def initialize(**args)
1126
+ update!(**args)
1127
+ end
1128
+
1129
+ # Update properties of this object
1130
+ def update!(**args)
1131
+ @enabled = args[:enabled] if args.key?(:enabled)
1132
+ @oauth2_client_id = args[:oauth2_client_id] if args.key?(:oauth2_client_id)
1133
+ @oauth2_client_secret = args[:oauth2_client_secret] if args.key?(:oauth2_client_secret)
1134
+ @oauth2_client_secret_sha256 = args[:oauth2_client_secret_sha256] if args.key?(:oauth2_client_secret_sha256)
1135
+ end
1136
+ end
1137
+
1138
+ # An Instance resource is the computing unit that App Engine uses to
1139
+ # automatically scale an application.
1140
+ class Instance
1141
+ include Google::Apis::Core::Hashable
1142
+
1143
+ # Output only. App Engine release this instance is running on.
1144
+ # Corresponds to the JSON property `appEngineRelease`
1145
+ # @return [String]
1146
+ attr_accessor :app_engine_release
1147
+
1148
+ # Output only. Availability of the instance.
1149
+ # Corresponds to the JSON property `availability`
1150
+ # @return [String]
1151
+ attr_accessor :availability
1152
+
1153
+ # Output only. Average latency (ms) over the last minute.
1154
+ # Corresponds to the JSON property `averageLatency`
1155
+ # @return [Fixnum]
1156
+ attr_accessor :average_latency
1157
+
1158
+ # Output only. Number of errors since this instance was started.
1159
+ # Corresponds to the JSON property `errors`
1160
+ # @return [Fixnum]
1161
+ attr_accessor :errors
1162
+
1163
+ # Output only. Relative name of the instance within the version. Example:
1164
+ # instance-1.
1165
+ # Corresponds to the JSON property `id`
1166
+ # @return [String]
1167
+ attr_accessor :id
1168
+
1169
+ # Output only. Total memory in use (bytes).
1170
+ # Corresponds to the JSON property `memoryUsage`
1171
+ # @return [Fixnum]
1172
+ attr_accessor :memory_usage
1173
+
1174
+ # Output only. Full path to the Instance resource in the API. Example: apps/
1175
+ # myapp/services/default/versions/v1/instances/instance-1.
1176
+ # Corresponds to the JSON property `name`
1177
+ # @return [String]
1178
+ attr_accessor :name
1179
+
1180
+ # Output only. Average queries per second (QPS) over the last minute.
1181
+ # Corresponds to the JSON property `qps`
1182
+ # @return [Float]
1183
+ attr_accessor :qps
1184
+
1185
+ # Output only. Number of requests since this instance was started.
1186
+ # Corresponds to the JSON property `requests`
1187
+ # @return [Fixnum]
1188
+ attr_accessor :requests
1189
+
1190
+ # Output only. Time that this instance was started.@OutputOnly
1191
+ # Corresponds to the JSON property `startTime`
1192
+ # @return [String]
1193
+ attr_accessor :start_time
1194
+
1195
+ # Output only. Whether this instance is in debug mode. Only applicable for
1196
+ # instances in App Engine flexible environment.
1197
+ # Corresponds to the JSON property `vmDebugEnabled`
1198
+ # @return [Boolean]
1199
+ attr_accessor :vm_debug_enabled
1200
+ alias_method :vm_debug_enabled?, :vm_debug_enabled
1201
+
1202
+ # Output only. Virtual machine ID of this instance. Only applicable for
1203
+ # instances in App Engine flexible environment.
1204
+ # Corresponds to the JSON property `vmId`
1205
+ # @return [String]
1206
+ attr_accessor :vm_id
1207
+
1208
+ # Output only. The IP address of this instance. Only applicable for instances in
1209
+ # App Engine flexible environment.
1210
+ # Corresponds to the JSON property `vmIp`
1211
+ # @return [String]
1212
+ attr_accessor :vm_ip
1213
+
1214
+ # Output only. The liveness health check of this instance. Only applicable for
1215
+ # instances in App Engine flexible environment.
1216
+ # Corresponds to the JSON property `vmLiveness`
1217
+ # @return [String]
1218
+ attr_accessor :vm_liveness
1219
+
1220
+ # Output only. Name of the virtual machine where this instance lives. Only
1221
+ # applicable for instances in App Engine flexible environment.
1222
+ # Corresponds to the JSON property `vmName`
1223
+ # @return [String]
1224
+ attr_accessor :vm_name
1225
+
1226
+ # Output only. Status of the virtual machine where this instance lives. Only
1227
+ # applicable for instances in App Engine flexible environment.
1228
+ # Corresponds to the JSON property `vmStatus`
1229
+ # @return [String]
1230
+ attr_accessor :vm_status
1231
+
1232
+ # Output only. Zone where the virtual machine is located. Only applicable for
1233
+ # instances in App Engine flexible environment.
1234
+ # Corresponds to the JSON property `vmZoneName`
1235
+ # @return [String]
1236
+ attr_accessor :vm_zone_name
1237
+
1238
+ def initialize(**args)
1239
+ update!(**args)
1240
+ end
1241
+
1242
+ # Update properties of this object
1243
+ def update!(**args)
1244
+ @app_engine_release = args[:app_engine_release] if args.key?(:app_engine_release)
1245
+ @availability = args[:availability] if args.key?(:availability)
1246
+ @average_latency = args[:average_latency] if args.key?(:average_latency)
1247
+ @errors = args[:errors] if args.key?(:errors)
1248
+ @id = args[:id] if args.key?(:id)
1249
+ @memory_usage = args[:memory_usage] if args.key?(:memory_usage)
1250
+ @name = args[:name] if args.key?(:name)
1251
+ @qps = args[:qps] if args.key?(:qps)
1252
+ @requests = args[:requests] if args.key?(:requests)
1253
+ @start_time = args[:start_time] if args.key?(:start_time)
1254
+ @vm_debug_enabled = args[:vm_debug_enabled] if args.key?(:vm_debug_enabled)
1255
+ @vm_id = args[:vm_id] if args.key?(:vm_id)
1256
+ @vm_ip = args[:vm_ip] if args.key?(:vm_ip)
1257
+ @vm_liveness = args[:vm_liveness] if args.key?(:vm_liveness)
1258
+ @vm_name = args[:vm_name] if args.key?(:vm_name)
1259
+ @vm_status = args[:vm_status] if args.key?(:vm_status)
1260
+ @vm_zone_name = args[:vm_zone_name] if args.key?(:vm_zone_name)
1261
+ end
1262
+ end
1263
+
1264
+ # Third-party Python runtime library that is required by the application.
1265
+ class Library
1266
+ include Google::Apis::Core::Hashable
1267
+
1268
+ # Name of the library. Example: "django".
1269
+ # Corresponds to the JSON property `name`
1270
+ # @return [String]
1271
+ attr_accessor :name
1272
+
1273
+ # Version of the library to select, or "latest".
1274
+ # Corresponds to the JSON property `version`
1275
+ # @return [String]
1276
+ attr_accessor :version
1277
+
1278
+ def initialize(**args)
1279
+ update!(**args)
1280
+ end
1281
+
1282
+ # Update properties of this object
1283
+ def update!(**args)
1284
+ @name = args[:name] if args.key?(:name)
1285
+ @version = args[:version] if args.key?(:version)
1286
+ end
1287
+ end
1288
+
1289
+ # Response message for AuthorizedCertificates.ListAuthorizedCertificates.
1290
+ class ListAuthorizedCertificatesResponse
1291
+ include Google::Apis::Core::Hashable
1292
+
1293
+ # The SSL certificates the user is authorized to administer.
1294
+ # Corresponds to the JSON property `certificates`
1295
+ # @return [Array<Google::Apis::AppengineV1::AuthorizedCertificate>]
1296
+ attr_accessor :certificates
1297
+
1298
+ # Continuation token for fetching the next page of results.
1299
+ # Corresponds to the JSON property `nextPageToken`
1300
+ # @return [String]
1301
+ attr_accessor :next_page_token
1302
+
1303
+ def initialize(**args)
1304
+ update!(**args)
1305
+ end
1306
+
1307
+ # Update properties of this object
1308
+ def update!(**args)
1309
+ @certificates = args[:certificates] if args.key?(:certificates)
1310
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1311
+ end
1312
+ end
1313
+
1314
+ # Response message for AuthorizedDomains.ListAuthorizedDomains.
1315
+ class ListAuthorizedDomainsResponse
1316
+ include Google::Apis::Core::Hashable
1317
+
1318
+ # The authorized domains belonging to the user.
1319
+ # Corresponds to the JSON property `domains`
1320
+ # @return [Array<Google::Apis::AppengineV1::AuthorizedDomain>]
1321
+ attr_accessor :domains
1322
+
1323
+ # Continuation token for fetching the next page of results.
1324
+ # Corresponds to the JSON property `nextPageToken`
1325
+ # @return [String]
1326
+ attr_accessor :next_page_token
1327
+
1328
+ def initialize(**args)
1329
+ update!(**args)
1330
+ end
1331
+
1332
+ # Update properties of this object
1333
+ def update!(**args)
1334
+ @domains = args[:domains] if args.key?(:domains)
1335
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1336
+ end
1337
+ end
1338
+
1339
+ # Response message for DomainMappings.ListDomainMappings.
1340
+ class ListDomainMappingsResponse
1341
+ include Google::Apis::Core::Hashable
1342
+
1343
+ # The domain mappings for the application.
1344
+ # Corresponds to the JSON property `domainMappings`
1345
+ # @return [Array<Google::Apis::AppengineV1::DomainMapping>]
1346
+ attr_accessor :domain_mappings
1347
+
1348
+ # Continuation token for fetching the next page of results.
1349
+ # Corresponds to the JSON property `nextPageToken`
1350
+ # @return [String]
1351
+ attr_accessor :next_page_token
1352
+
1353
+ def initialize(**args)
1354
+ update!(**args)
1355
+ end
1356
+
1357
+ # Update properties of this object
1358
+ def update!(**args)
1359
+ @domain_mappings = args[:domain_mappings] if args.key?(:domain_mappings)
1360
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1361
+ end
1362
+ end
1363
+
1364
+ # Response message for Firewall.ListIngressRules.
1365
+ class ListIngressRulesResponse
1366
+ include Google::Apis::Core::Hashable
1367
+
1368
+ # The ingress FirewallRules for this application.
1369
+ # Corresponds to the JSON property `ingressRules`
1370
+ # @return [Array<Google::Apis::AppengineV1::FirewallRule>]
1371
+ attr_accessor :ingress_rules
1372
+
1373
+ # Continuation token for fetching the next page of results.
1374
+ # Corresponds to the JSON property `nextPageToken`
1375
+ # @return [String]
1376
+ attr_accessor :next_page_token
1377
+
1378
+ def initialize(**args)
1379
+ update!(**args)
1380
+ end
1381
+
1382
+ # Update properties of this object
1383
+ def update!(**args)
1384
+ @ingress_rules = args[:ingress_rules] if args.key?(:ingress_rules)
1385
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1386
+ end
1387
+ end
1388
+
1389
+ # Response message for Instances.ListInstances.
1390
+ class ListInstancesResponse
1391
+ include Google::Apis::Core::Hashable
1392
+
1393
+ # The instances belonging to the requested version.
1394
+ # Corresponds to the JSON property `instances`
1395
+ # @return [Array<Google::Apis::AppengineV1::Instance>]
1396
+ attr_accessor :instances
1397
+
1398
+ # Continuation token for fetching the next page of results.
1399
+ # Corresponds to the JSON property `nextPageToken`
1400
+ # @return [String]
1401
+ attr_accessor :next_page_token
1402
+
1403
+ def initialize(**args)
1404
+ update!(**args)
1405
+ end
1406
+
1407
+ # Update properties of this object
1408
+ def update!(**args)
1409
+ @instances = args[:instances] if args.key?(:instances)
1410
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1411
+ end
1412
+ end
1413
+
1414
+ # The response message for Locations.ListLocations.
1415
+ class ListLocationsResponse
1416
+ include Google::Apis::Core::Hashable
1417
+
1418
+ # A list of locations that matches the specified filter in the request.
1419
+ # Corresponds to the JSON property `locations`
1420
+ # @return [Array<Google::Apis::AppengineV1::Location>]
1421
+ attr_accessor :locations
1422
+
1423
+ # The standard List next-page token.
1424
+ # Corresponds to the JSON property `nextPageToken`
1425
+ # @return [String]
1426
+ attr_accessor :next_page_token
1427
+
1428
+ def initialize(**args)
1429
+ update!(**args)
1430
+ end
1431
+
1432
+ # Update properties of this object
1433
+ def update!(**args)
1434
+ @locations = args[:locations] if args.key?(:locations)
1435
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1436
+ end
1437
+ end
1438
+
1439
+ # The response message for Operations.ListOperations.
1440
+ class ListOperationsResponse
1441
+ include Google::Apis::Core::Hashable
1442
+
1443
+ # The standard List next-page token.
1444
+ # Corresponds to the JSON property `nextPageToken`
1445
+ # @return [String]
1446
+ attr_accessor :next_page_token
1447
+
1448
+ # A list of operations that matches the specified filter in the request.
1449
+ # Corresponds to the JSON property `operations`
1450
+ # @return [Array<Google::Apis::AppengineV1::Operation>]
1451
+ attr_accessor :operations
1452
+
1453
+ def initialize(**args)
1454
+ update!(**args)
1455
+ end
1456
+
1457
+ # Update properties of this object
1458
+ def update!(**args)
1459
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1460
+ @operations = args[:operations] if args.key?(:operations)
1461
+ end
1462
+ end
1463
+
1464
+ # Response message for Services.ListServices.
1465
+ class ListServicesResponse
1466
+ include Google::Apis::Core::Hashable
1467
+
1468
+ # Continuation token for fetching the next page of results.
1469
+ # Corresponds to the JSON property `nextPageToken`
1470
+ # @return [String]
1471
+ attr_accessor :next_page_token
1472
+
1473
+ # The services belonging to the requested application.
1474
+ # Corresponds to the JSON property `services`
1475
+ # @return [Array<Google::Apis::AppengineV1::Service>]
1476
+ attr_accessor :services
1477
+
1478
+ def initialize(**args)
1479
+ update!(**args)
1480
+ end
1481
+
1482
+ # Update properties of this object
1483
+ def update!(**args)
1484
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1485
+ @services = args[:services] if args.key?(:services)
1486
+ end
1487
+ end
1488
+
1489
+ # Response message for Versions.ListVersions.
1490
+ class ListVersionsResponse
1491
+ include Google::Apis::Core::Hashable
1492
+
1493
+ # Continuation token for fetching the next page of results.
1494
+ # Corresponds to the JSON property `nextPageToken`
1495
+ # @return [String]
1496
+ attr_accessor :next_page_token
1497
+
1498
+ # The versions belonging to the requested service.
1499
+ # Corresponds to the JSON property `versions`
1500
+ # @return [Array<Google::Apis::AppengineV1::Version>]
1501
+ attr_accessor :versions
1502
+
1503
+ def initialize(**args)
1504
+ update!(**args)
1505
+ end
1506
+
1507
+ # Update properties of this object
1508
+ def update!(**args)
1509
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1510
+ @versions = args[:versions] if args.key?(:versions)
1511
+ end
1512
+ end
1513
+
1514
+ # Health checking configuration for VM instances. Unhealthy instances are killed
1515
+ # and replaced with new instances.
1516
+ class LivenessCheck
1517
+ include Google::Apis::Core::Hashable
1518
+
1519
+ # Interval between health checks.
1520
+ # Corresponds to the JSON property `checkInterval`
1521
+ # @return [String]
1522
+ attr_accessor :check_interval
1523
+
1524
+ # Number of consecutive failed checks required before considering the VM
1525
+ # unhealthy.
1526
+ # Corresponds to the JSON property `failureThreshold`
1527
+ # @return [Fixnum]
1528
+ attr_accessor :failure_threshold
1529
+
1530
+ # Host header to send when performing a HTTP Liveness check. Example: "myapp.
1531
+ # appspot.com"
1532
+ # Corresponds to the JSON property `host`
1533
+ # @return [String]
1534
+ attr_accessor :host
1535
+
1536
+ # The initial delay before starting to execute the checks.
1537
+ # Corresponds to the JSON property `initialDelay`
1538
+ # @return [String]
1539
+ attr_accessor :initial_delay
1540
+
1541
+ # The request path.
1542
+ # Corresponds to the JSON property `path`
1543
+ # @return [String]
1544
+ attr_accessor :path
1545
+
1546
+ # Number of consecutive successful checks required before considering the VM
1547
+ # healthy.
1548
+ # Corresponds to the JSON property `successThreshold`
1549
+ # @return [Fixnum]
1550
+ attr_accessor :success_threshold
1551
+
1552
+ # Time before the check is considered failed.
1553
+ # Corresponds to the JSON property `timeout`
1554
+ # @return [String]
1555
+ attr_accessor :timeout
1556
+
1557
+ def initialize(**args)
1558
+ update!(**args)
1559
+ end
1560
+
1561
+ # Update properties of this object
1562
+ def update!(**args)
1563
+ @check_interval = args[:check_interval] if args.key?(:check_interval)
1564
+ @failure_threshold = args[:failure_threshold] if args.key?(:failure_threshold)
1565
+ @host = args[:host] if args.key?(:host)
1566
+ @initial_delay = args[:initial_delay] if args.key?(:initial_delay)
1567
+ @path = args[:path] if args.key?(:path)
1568
+ @success_threshold = args[:success_threshold] if args.key?(:success_threshold)
1569
+ @timeout = args[:timeout] if args.key?(:timeout)
1570
+ end
1571
+ end
1572
+
1573
+ # A resource that represents Google Cloud Platform location.
1574
+ class Location
1575
+ include Google::Apis::Core::Hashable
1576
+
1577
+ # The friendly name for this location, typically a nearby city name. For example,
1578
+ # "Tokyo".
1579
+ # Corresponds to the JSON property `displayName`
1580
+ # @return [String]
1581
+ attr_accessor :display_name
1582
+
1583
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
1584
+ # region": "us-east1"`
1585
+ # Corresponds to the JSON property `labels`
1586
+ # @return [Hash<String,String>]
1587
+ attr_accessor :labels
1588
+
1589
+ # The canonical id for this location. For example: "us-east1".
1590
+ # Corresponds to the JSON property `locationId`
1591
+ # @return [String]
1592
+ attr_accessor :location_id
1593
+
1594
+ # Service-specific metadata. For example the available capacity at the given
1595
+ # location.
1596
+ # Corresponds to the JSON property `metadata`
1597
+ # @return [Hash<String,Object>]
1598
+ attr_accessor :metadata
1599
+
1600
+ # Resource name for the location, which may vary between implementations. For
1601
+ # example: "projects/example-project/locations/us-east1"
1602
+ # Corresponds to the JSON property `name`
1603
+ # @return [String]
1604
+ attr_accessor :name
1605
+
1606
+ def initialize(**args)
1607
+ update!(**args)
1608
+ end
1609
+
1610
+ # Update properties of this object
1611
+ def update!(**args)
1612
+ @display_name = args[:display_name] if args.key?(:display_name)
1613
+ @labels = args[:labels] if args.key?(:labels)
1614
+ @location_id = args[:location_id] if args.key?(:location_id)
1615
+ @metadata = args[:metadata] if args.key?(:metadata)
1616
+ @name = args[:name] if args.key?(:name)
1617
+ end
1618
+ end
1619
+
1620
+ # Metadata for the given google.cloud.location.Location.
1621
+ class LocationMetadata
1622
+ include Google::Apis::Core::Hashable
1623
+
1624
+ # App Engine flexible environment is available in the given location.@OutputOnly
1625
+ # Corresponds to the JSON property `flexibleEnvironmentAvailable`
1626
+ # @return [Boolean]
1627
+ attr_accessor :flexible_environment_available
1628
+ alias_method :flexible_environment_available?, :flexible_environment_available
1629
+
1630
+ # App Engine standard environment is available in the given location.@OutputOnly
1631
+ # Corresponds to the JSON property `standardEnvironmentAvailable`
1632
+ # @return [Boolean]
1633
+ attr_accessor :standard_environment_available
1634
+ alias_method :standard_environment_available?, :standard_environment_available
1635
+
1636
+ def initialize(**args)
1637
+ update!(**args)
1638
+ end
1639
+
1640
+ # Update properties of this object
1641
+ def update!(**args)
1642
+ @flexible_environment_available = args[:flexible_environment_available] if args.key?(:flexible_environment_available)
1643
+ @standard_environment_available = args[:standard_environment_available] if args.key?(:standard_environment_available)
1644
+ end
1645
+ end
1646
+
1647
+ # A certificate managed by App Engine.
1648
+ class ManagedCertificate
1649
+ include Google::Apis::Core::Hashable
1650
+
1651
+ # Time at which the certificate was last renewed. The renewal process is fully
1652
+ # managed. Certificate renewal will automatically occur before the certificate
1653
+ # expires. Renewal errors can be tracked via ManagementStatus.@OutputOnly
1654
+ # Corresponds to the JSON property `lastRenewalTime`
1655
+ # @return [String]
1656
+ attr_accessor :last_renewal_time
1657
+
1658
+ # Status of certificate management. Refers to the most recent certificate
1659
+ # acquisition or renewal attempt.@OutputOnly
1660
+ # Corresponds to the JSON property `status`
1661
+ # @return [String]
1662
+ attr_accessor :status
1663
+
1664
+ def initialize(**args)
1665
+ update!(**args)
1666
+ end
1667
+
1668
+ # Update properties of this object
1669
+ def update!(**args)
1670
+ @last_renewal_time = args[:last_renewal_time] if args.key?(:last_renewal_time)
1671
+ @status = args[:status] if args.key?(:status)
1672
+ end
1673
+ end
1674
+
1675
+ # A service with manual scaling runs continuously, allowing you to perform
1676
+ # complex initialization and rely on the state of its memory over time.
1677
+ class ManualScaling
1678
+ include Google::Apis::Core::Hashable
1679
+
1680
+ # Number of instances to assign to the service at the start. This number can
1681
+ # later be altered by using the Modules API (https://cloud.google.com/appengine/
1682
+ # docs/python/modules/functions) set_num_instances() function.
1683
+ # Corresponds to the JSON property `instances`
1684
+ # @return [Fixnum]
1685
+ attr_accessor :instances
1686
+
1687
+ def initialize(**args)
1688
+ update!(**args)
1689
+ end
1690
+
1691
+ # Update properties of this object
1692
+ def update!(**args)
1693
+ @instances = args[:instances] if args.key?(:instances)
1694
+ end
1695
+ end
1696
+
1697
+ # Extra network settings. Only applicable in the App Engine flexible environment.
1698
+ class Network
1699
+ include Google::Apis::Core::Hashable
1700
+
1701
+ # List of ports, or port pairs, to forward from the virtual machine to the
1702
+ # application container. Only applicable in the App Engine flexible environment.
1703
+ # Corresponds to the JSON property `forwardedPorts`
1704
+ # @return [Array<String>]
1705
+ attr_accessor :forwarded_ports
1706
+
1707
+ # Tag to apply to the instance during creation. Only applicable in the App
1708
+ # Engine flexible environment.
1709
+ # Corresponds to the JSON property `instanceTag`
1710
+ # @return [String]
1711
+ attr_accessor :instance_tag
1712
+
1713
+ # Google Compute Engine network where the virtual machines are created. Specify
1714
+ # the short name, not the resource path.Defaults to default.
1715
+ # Corresponds to the JSON property `name`
1716
+ # @return [String]
1717
+ attr_accessor :name
1718
+
1719
+ # Enable session affinity. Only applicable in the App Engine flexible
1720
+ # environment.
1721
+ # Corresponds to the JSON property `sessionAffinity`
1722
+ # @return [Boolean]
1723
+ attr_accessor :session_affinity
1724
+ alias_method :session_affinity?, :session_affinity
1725
+
1726
+ # Google Cloud Platform sub-network where the virtual machines are created.
1727
+ # Specify the short name, not the resource path.If a subnetwork name is
1728
+ # specified, a network name will also be required unless it is for the default
1729
+ # network. If the network that the instance is being created in is a Legacy
1730
+ # network, then the IP address is allocated from the IPv4Range. If the network
1731
+ # that the instance is being created in is an auto Subnet Mode Network, then
1732
+ # only network name should be specified (not the subnetwork_name) and the IP
1733
+ # address is created from the IPCidrRange of the subnetwork that exists in that
1734
+ # zone for that network. If the network that the instance is being created in is
1735
+ # a custom Subnet Mode Network, then the subnetwork_name must be specified and
1736
+ # the IP address is created from the IPCidrRange of the subnetwork.If specified,
1737
+ # the subnetwork must exist in the same region as the App Engine flexible
1738
+ # environment application.
1739
+ # Corresponds to the JSON property `subnetworkName`
1740
+ # @return [String]
1741
+ attr_accessor :subnetwork_name
1742
+
1743
+ def initialize(**args)
1744
+ update!(**args)
1745
+ end
1746
+
1747
+ # Update properties of this object
1748
+ def update!(**args)
1749
+ @forwarded_ports = args[:forwarded_ports] if args.key?(:forwarded_ports)
1750
+ @instance_tag = args[:instance_tag] if args.key?(:instance_tag)
1751
+ @name = args[:name] if args.key?(:name)
1752
+ @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
1753
+ @subnetwork_name = args[:subnetwork_name] if args.key?(:subnetwork_name)
1754
+ end
1755
+ end
1756
+
1757
+ # A NetworkSettings resource is a container for ingress settings for a version
1758
+ # or service.
1759
+ class NetworkSettings
1760
+ include Google::Apis::Core::Hashable
1761
+
1762
+ # The ingress settings for version or service.
1763
+ # Corresponds to the JSON property `ingressTrafficAllowed`
1764
+ # @return [String]
1765
+ attr_accessor :ingress_traffic_allowed
1766
+
1767
+ def initialize(**args)
1768
+ update!(**args)
1769
+ end
1770
+
1771
+ # Update properties of this object
1772
+ def update!(**args)
1773
+ @ingress_traffic_allowed = args[:ingress_traffic_allowed] if args.key?(:ingress_traffic_allowed)
1774
+ end
1775
+ end
1776
+
1777
+ # Target scaling by network usage. Only applicable in the App Engine flexible
1778
+ # environment.
1779
+ class NetworkUtilization
1780
+ include Google::Apis::Core::Hashable
1781
+
1782
+ # Target bytes received per second.
1783
+ # Corresponds to the JSON property `targetReceivedBytesPerSecond`
1784
+ # @return [Fixnum]
1785
+ attr_accessor :target_received_bytes_per_second
1786
+
1787
+ # Target packets received per second.
1788
+ # Corresponds to the JSON property `targetReceivedPacketsPerSecond`
1789
+ # @return [Fixnum]
1790
+ attr_accessor :target_received_packets_per_second
1791
+
1792
+ # Target bytes sent per second.
1793
+ # Corresponds to the JSON property `targetSentBytesPerSecond`
1794
+ # @return [Fixnum]
1795
+ attr_accessor :target_sent_bytes_per_second
1796
+
1797
+ # Target packets sent per second.
1798
+ # Corresponds to the JSON property `targetSentPacketsPerSecond`
1799
+ # @return [Fixnum]
1800
+ attr_accessor :target_sent_packets_per_second
1801
+
1802
+ def initialize(**args)
1803
+ update!(**args)
1804
+ end
1805
+
1806
+ # Update properties of this object
1807
+ def update!(**args)
1808
+ @target_received_bytes_per_second = args[:target_received_bytes_per_second] if args.key?(:target_received_bytes_per_second)
1809
+ @target_received_packets_per_second = args[:target_received_packets_per_second] if args.key?(:target_received_packets_per_second)
1810
+ @target_sent_bytes_per_second = args[:target_sent_bytes_per_second] if args.key?(:target_sent_bytes_per_second)
1811
+ @target_sent_packets_per_second = args[:target_sent_packets_per_second] if args.key?(:target_sent_packets_per_second)
1812
+ end
1813
+ end
1814
+
1815
+ # This resource represents a long-running operation that is the result of a
1816
+ # network API call.
1817
+ class Operation
1818
+ include Google::Apis::Core::Hashable
1819
+
1820
+ # If the value is false, it means the operation is still in progress. If true,
1821
+ # the operation is completed, and either error or response is available.
1822
+ # Corresponds to the JSON property `done`
1823
+ # @return [Boolean]
1824
+ attr_accessor :done
1825
+ alias_method :done?, :done
1826
+
1827
+ # The Status type defines a logical error model that is suitable for different
1828
+ # programming environments, including REST APIs and RPC APIs. It is used by gRPC
1829
+ # (https://github.com/grpc). Each Status message contains three pieces of data:
1830
+ # error code, error message, and error details.You can find out more about this
1831
+ # error model and how to work with it in the API Design Guide (https://cloud.
1832
+ # google.com/apis/design/errors).
1833
+ # Corresponds to the JSON property `error`
1834
+ # @return [Google::Apis::AppengineV1::Status]
1835
+ attr_accessor :error
1836
+
1837
+ # Service-specific metadata associated with the operation. It typically contains
1838
+ # progress information and common metadata such as create time. Some services
1839
+ # might not provide such metadata. Any method that returns a long-running
1840
+ # operation should document the metadata type, if any.
1841
+ # Corresponds to the JSON property `metadata`
1842
+ # @return [Hash<String,Object>]
1843
+ attr_accessor :metadata
1844
+
1845
+ # The server-assigned name, which is only unique within the same service that
1846
+ # originally returns it. If you use the default HTTP mapping, the name should be
1847
+ # a resource name ending with operations/`unique_id`.
1848
+ # Corresponds to the JSON property `name`
1849
+ # @return [String]
1850
+ attr_accessor :name
1851
+
1852
+ # The normal response of the operation in case of success. If the original
1853
+ # method returns no data on success, such as Delete, the response is google.
1854
+ # protobuf.Empty. If the original method is standard Get/Create/Update, the
1855
+ # response should be the resource. For other methods, the response should have
1856
+ # the type XxxResponse, where Xxx is the original method name. For example, if
1857
+ # the original method name is TakeSnapshot(), the inferred response type is
1858
+ # TakeSnapshotResponse.
1859
+ # Corresponds to the JSON property `response`
1860
+ # @return [Hash<String,Object>]
1861
+ attr_accessor :response
1862
+
1863
+ def initialize(**args)
1864
+ update!(**args)
1865
+ end
1866
+
1867
+ # Update properties of this object
1868
+ def update!(**args)
1869
+ @done = args[:done] if args.key?(:done)
1870
+ @error = args[:error] if args.key?(:error)
1871
+ @metadata = args[:metadata] if args.key?(:metadata)
1872
+ @name = args[:name] if args.key?(:name)
1873
+ @response = args[:response] if args.key?(:response)
1874
+ end
1875
+ end
1876
+
1877
+ # Metadata for the given google.longrunning.Operation.
1878
+ class OperationMetadataV1
1879
+ include Google::Apis::Core::Hashable
1880
+
1881
+ # Metadata for the given google.longrunning.Operation during a google.appengine.
1882
+ # v1.CreateVersionRequest.
1883
+ # Corresponds to the JSON property `createVersionMetadata`
1884
+ # @return [Google::Apis::AppengineV1::CreateVersionMetadataV1]
1885
+ attr_accessor :create_version_metadata
1886
+
1887
+ # Time that this operation completed.@OutputOnly
1888
+ # Corresponds to the JSON property `endTime`
1889
+ # @return [String]
1890
+ attr_accessor :end_time
1891
+
1892
+ # Ephemeral message that may change every time the operation is polled. @
1893
+ # OutputOnly
1894
+ # Corresponds to the JSON property `ephemeralMessage`
1895
+ # @return [String]
1896
+ attr_accessor :ephemeral_message
1897
+
1898
+ # Time that this operation was created.@OutputOnly
1899
+ # Corresponds to the JSON property `insertTime`
1900
+ # @return [String]
1901
+ attr_accessor :insert_time
1902
+
1903
+ # API method that initiated this operation. Example: google.appengine.v1.
1904
+ # Versions.CreateVersion.@OutputOnly
1905
+ # Corresponds to the JSON property `method`
1906
+ # @return [String]
1907
+ attr_accessor :method_prop
1908
+
1909
+ # Name of the resource that this operation is acting on. Example: apps/myapp/
1910
+ # services/default.@OutputOnly
1911
+ # Corresponds to the JSON property `target`
1912
+ # @return [String]
1913
+ attr_accessor :target
1914
+
1915
+ # User who requested this operation.@OutputOnly
1916
+ # Corresponds to the JSON property `user`
1917
+ # @return [String]
1918
+ attr_accessor :user
1919
+
1920
+ # Durable messages that persist on every operation poll. @OutputOnly
1921
+ # Corresponds to the JSON property `warning`
1922
+ # @return [Array<String>]
1923
+ attr_accessor :warning
1924
+
1925
+ def initialize(**args)
1926
+ update!(**args)
1927
+ end
1928
+
1929
+ # Update properties of this object
1930
+ def update!(**args)
1931
+ @create_version_metadata = args[:create_version_metadata] if args.key?(:create_version_metadata)
1932
+ @end_time = args[:end_time] if args.key?(:end_time)
1933
+ @ephemeral_message = args[:ephemeral_message] if args.key?(:ephemeral_message)
1934
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
1935
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
1936
+ @target = args[:target] if args.key?(:target)
1937
+ @user = args[:user] if args.key?(:user)
1938
+ @warning = args[:warning] if args.key?(:warning)
1939
+ end
1940
+ end
1941
+
1942
+ # Metadata for the given google.longrunning.Operation.
1943
+ class OperationMetadataV1Alpha
1944
+ include Google::Apis::Core::Hashable
1945
+
1946
+ # Metadata for the given google.longrunning.Operation during a google.appengine.
1947
+ # v1alpha.CreateVersionRequest.
1948
+ # Corresponds to the JSON property `createVersionMetadata`
1949
+ # @return [Google::Apis::AppengineV1::CreateVersionMetadataV1Alpha]
1950
+ attr_accessor :create_version_metadata
1951
+
1952
+ # Time that this operation completed.@OutputOnly
1953
+ # Corresponds to the JSON property `endTime`
1954
+ # @return [String]
1955
+ attr_accessor :end_time
1956
+
1957
+ # Ephemeral message that may change every time the operation is polled. @
1958
+ # OutputOnly
1959
+ # Corresponds to the JSON property `ephemeralMessage`
1960
+ # @return [String]
1961
+ attr_accessor :ephemeral_message
1962
+
1963
+ # Time that this operation was created.@OutputOnly
1964
+ # Corresponds to the JSON property `insertTime`
1965
+ # @return [String]
1966
+ attr_accessor :insert_time
1967
+
1968
+ # API method that initiated this operation. Example: google.appengine.v1alpha.
1969
+ # Versions.CreateVersion.@OutputOnly
1970
+ # Corresponds to the JSON property `method`
1971
+ # @return [String]
1972
+ attr_accessor :method_prop
1973
+
1974
+ # Name of the resource that this operation is acting on. Example: apps/myapp/
1975
+ # services/default.@OutputOnly
1976
+ # Corresponds to the JSON property `target`
1977
+ # @return [String]
1978
+ attr_accessor :target
1979
+
1980
+ # User who requested this operation.@OutputOnly
1981
+ # Corresponds to the JSON property `user`
1982
+ # @return [String]
1983
+ attr_accessor :user
1984
+
1985
+ # Durable messages that persist on every operation poll. @OutputOnly
1986
+ # Corresponds to the JSON property `warning`
1987
+ # @return [Array<String>]
1988
+ attr_accessor :warning
1989
+
1990
+ def initialize(**args)
1991
+ update!(**args)
1992
+ end
1993
+
1994
+ # Update properties of this object
1995
+ def update!(**args)
1996
+ @create_version_metadata = args[:create_version_metadata] if args.key?(:create_version_metadata)
1997
+ @end_time = args[:end_time] if args.key?(:end_time)
1998
+ @ephemeral_message = args[:ephemeral_message] if args.key?(:ephemeral_message)
1999
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
2000
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
2001
+ @target = args[:target] if args.key?(:target)
2002
+ @user = args[:user] if args.key?(:user)
2003
+ @warning = args[:warning] if args.key?(:warning)
2004
+ end
2005
+ end
2006
+
2007
+ # Metadata for the given google.longrunning.Operation.
2008
+ class OperationMetadataV1Beta
2009
+ include Google::Apis::Core::Hashable
2010
+
2011
+ # Metadata for the given google.longrunning.Operation during a google.appengine.
2012
+ # v1beta.CreateVersionRequest.
2013
+ # Corresponds to the JSON property `createVersionMetadata`
2014
+ # @return [Google::Apis::AppengineV1::CreateVersionMetadataV1Beta]
2015
+ attr_accessor :create_version_metadata
2016
+
2017
+ # Time that this operation completed.@OutputOnly
2018
+ # Corresponds to the JSON property `endTime`
2019
+ # @return [String]
2020
+ attr_accessor :end_time
2021
+
2022
+ # Ephemeral message that may change every time the operation is polled. @
2023
+ # OutputOnly
2024
+ # Corresponds to the JSON property `ephemeralMessage`
2025
+ # @return [String]
2026
+ attr_accessor :ephemeral_message
2027
+
2028
+ # Time that this operation was created.@OutputOnly
2029
+ # Corresponds to the JSON property `insertTime`
2030
+ # @return [String]
2031
+ attr_accessor :insert_time
2032
+
2033
+ # API method that initiated this operation. Example: google.appengine.v1beta.
2034
+ # Versions.CreateVersion.@OutputOnly
2035
+ # Corresponds to the JSON property `method`
2036
+ # @return [String]
2037
+ attr_accessor :method_prop
2038
+
2039
+ # Name of the resource that this operation is acting on. Example: apps/myapp/
2040
+ # services/default.@OutputOnly
2041
+ # Corresponds to the JSON property `target`
2042
+ # @return [String]
2043
+ attr_accessor :target
2044
+
2045
+ # User who requested this operation.@OutputOnly
2046
+ # Corresponds to the JSON property `user`
2047
+ # @return [String]
2048
+ attr_accessor :user
2049
+
2050
+ # Durable messages that persist on every operation poll. @OutputOnly
2051
+ # Corresponds to the JSON property `warning`
2052
+ # @return [Array<String>]
2053
+ attr_accessor :warning
2054
+
2055
+ def initialize(**args)
2056
+ update!(**args)
2057
+ end
2058
+
2059
+ # Update properties of this object
2060
+ def update!(**args)
2061
+ @create_version_metadata = args[:create_version_metadata] if args.key?(:create_version_metadata)
2062
+ @end_time = args[:end_time] if args.key?(:end_time)
2063
+ @ephemeral_message = args[:ephemeral_message] if args.key?(:ephemeral_message)
2064
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
2065
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
2066
+ @target = args[:target] if args.key?(:target)
2067
+ @user = args[:user] if args.key?(:user)
2068
+ @warning = args[:warning] if args.key?(:warning)
2069
+ end
2070
+ end
2071
+
2072
+ # Readiness checking configuration for VM instances. Unhealthy instances are
2073
+ # removed from traffic rotation.
2074
+ class ReadinessCheck
2075
+ include Google::Apis::Core::Hashable
2076
+
2077
+ # A maximum time limit on application initialization, measured from moment the
2078
+ # application successfully replies to a healthcheck until it is ready to serve
2079
+ # traffic.
2080
+ # Corresponds to the JSON property `appStartTimeout`
2081
+ # @return [String]
2082
+ attr_accessor :app_start_timeout
2083
+
2084
+ # Interval between health checks.
2085
+ # Corresponds to the JSON property `checkInterval`
2086
+ # @return [String]
2087
+ attr_accessor :check_interval
2088
+
2089
+ # Number of consecutive failed checks required before removing traffic.
2090
+ # Corresponds to the JSON property `failureThreshold`
2091
+ # @return [Fixnum]
2092
+ attr_accessor :failure_threshold
2093
+
2094
+ # Host header to send when performing a HTTP Readiness check. Example: "myapp.
2095
+ # appspot.com"
2096
+ # Corresponds to the JSON property `host`
2097
+ # @return [String]
2098
+ attr_accessor :host
2099
+
2100
+ # The request path.
2101
+ # Corresponds to the JSON property `path`
2102
+ # @return [String]
2103
+ attr_accessor :path
2104
+
2105
+ # Number of consecutive successful checks required before receiving traffic.
2106
+ # Corresponds to the JSON property `successThreshold`
2107
+ # @return [Fixnum]
2108
+ attr_accessor :success_threshold
2109
+
2110
+ # Time before the check is considered failed.
2111
+ # Corresponds to the JSON property `timeout`
2112
+ # @return [String]
2113
+ attr_accessor :timeout
2114
+
2115
+ def initialize(**args)
2116
+ update!(**args)
2117
+ end
2118
+
2119
+ # Update properties of this object
2120
+ def update!(**args)
2121
+ @app_start_timeout = args[:app_start_timeout] if args.key?(:app_start_timeout)
2122
+ @check_interval = args[:check_interval] if args.key?(:check_interval)
2123
+ @failure_threshold = args[:failure_threshold] if args.key?(:failure_threshold)
2124
+ @host = args[:host] if args.key?(:host)
2125
+ @path = args[:path] if args.key?(:path)
2126
+ @success_threshold = args[:success_threshold] if args.key?(:success_threshold)
2127
+ @timeout = args[:timeout] if args.key?(:timeout)
2128
+ end
2129
+ end
2130
+
2131
+ # Request message for 'Applications.RepairApplication'.
2132
+ class RepairApplicationRequest
2133
+ include Google::Apis::Core::Hashable
2134
+
2135
+ def initialize(**args)
2136
+ update!(**args)
2137
+ end
2138
+
2139
+ # Update properties of this object
2140
+ def update!(**args)
2141
+ end
2142
+ end
2143
+
2144
+ # Target scaling by request utilization. Only applicable in the App Engine
2145
+ # flexible environment.
2146
+ class RequestUtilization
2147
+ include Google::Apis::Core::Hashable
2148
+
2149
+ # Target number of concurrent requests.
2150
+ # Corresponds to the JSON property `targetConcurrentRequests`
2151
+ # @return [Fixnum]
2152
+ attr_accessor :target_concurrent_requests
2153
+
2154
+ # Target requests per second.
2155
+ # Corresponds to the JSON property `targetRequestCountPerSecond`
2156
+ # @return [Fixnum]
2157
+ attr_accessor :target_request_count_per_second
2158
+
2159
+ def initialize(**args)
2160
+ update!(**args)
2161
+ end
2162
+
2163
+ # Update properties of this object
2164
+ def update!(**args)
2165
+ @target_concurrent_requests = args[:target_concurrent_requests] if args.key?(:target_concurrent_requests)
2166
+ @target_request_count_per_second = args[:target_request_count_per_second] if args.key?(:target_request_count_per_second)
2167
+ end
2168
+ end
2169
+
2170
+ # A DNS resource record.
2171
+ class ResourceRecord
2172
+ include Google::Apis::Core::Hashable
2173
+
2174
+ # Relative name of the object affected by this record. Only applicable for CNAME
2175
+ # records. Example: 'www'.
2176
+ # Corresponds to the JSON property `name`
2177
+ # @return [String]
2178
+ attr_accessor :name
2179
+
2180
+ # Data for this record. Values vary by record type, as defined in RFC 1035 (
2181
+ # section 5) and RFC 1034 (section 3.6.1).
2182
+ # Corresponds to the JSON property `rrdata`
2183
+ # @return [String]
2184
+ attr_accessor :rrdata
2185
+
2186
+ # Resource record type. Example: AAAA.
2187
+ # Corresponds to the JSON property `type`
2188
+ # @return [String]
2189
+ attr_accessor :type
2190
+
2191
+ def initialize(**args)
2192
+ update!(**args)
2193
+ end
2194
+
2195
+ # Update properties of this object
2196
+ def update!(**args)
2197
+ @name = args[:name] if args.key?(:name)
2198
+ @rrdata = args[:rrdata] if args.key?(:rrdata)
2199
+ @type = args[:type] if args.key?(:type)
2200
+ end
2201
+ end
2202
+
2203
+ # Machine resources for a version.
2204
+ class Resources
2205
+ include Google::Apis::Core::Hashable
2206
+
2207
+ # Number of CPU cores needed.
2208
+ # Corresponds to the JSON property `cpu`
2209
+ # @return [Float]
2210
+ attr_accessor :cpu
2211
+
2212
+ # Disk size (GB) needed.
2213
+ # Corresponds to the JSON property `diskGb`
2214
+ # @return [Float]
2215
+ attr_accessor :disk_gb
2216
+
2217
+ # The name of the encryption key that is stored in Google Cloud KMS. Only should
2218
+ # be used by Cloud Composer to encrypt the vm disk
2219
+ # Corresponds to the JSON property `kmsKeyReference`
2220
+ # @return [String]
2221
+ attr_accessor :kms_key_reference
2222
+
2223
+ # Memory (GB) needed.
2224
+ # Corresponds to the JSON property `memoryGb`
2225
+ # @return [Float]
2226
+ attr_accessor :memory_gb
2227
+
2228
+ # User specified volumes.
2229
+ # Corresponds to the JSON property `volumes`
2230
+ # @return [Array<Google::Apis::AppengineV1::Volume>]
2231
+ attr_accessor :volumes
2232
+
2233
+ def initialize(**args)
2234
+ update!(**args)
2235
+ end
2236
+
2237
+ # Update properties of this object
2238
+ def update!(**args)
2239
+ @cpu = args[:cpu] if args.key?(:cpu)
2240
+ @disk_gb = args[:disk_gb] if args.key?(:disk_gb)
2241
+ @kms_key_reference = args[:kms_key_reference] if args.key?(:kms_key_reference)
2242
+ @memory_gb = args[:memory_gb] if args.key?(:memory_gb)
2243
+ @volumes = args[:volumes] if args.key?(:volumes)
2244
+ end
2245
+ end
2246
+
2247
+ # Executes a script to handle the request that matches the URL pattern.
2248
+ class ScriptHandler
2249
+ include Google::Apis::Core::Hashable
2250
+
2251
+ # Path to the script from the application root directory.
2252
+ # Corresponds to the JSON property `scriptPath`
2253
+ # @return [String]
2254
+ attr_accessor :script_path
2255
+
2256
+ def initialize(**args)
2257
+ update!(**args)
2258
+ end
2259
+
2260
+ # Update properties of this object
2261
+ def update!(**args)
2262
+ @script_path = args[:script_path] if args.key?(:script_path)
2263
+ end
2264
+ end
2265
+
2266
+ # A Service resource is a logical component of an application that can share
2267
+ # state and communicate in a secure fashion with other services. For example, an
2268
+ # application that handles customer requests might include separate services to
2269
+ # handle tasks such as backend data analysis or API requests from mobile devices.
2270
+ # Each service has a collection of versions that define a specific set of code
2271
+ # used to implement the functionality of that service.
2272
+ class Service
2273
+ include Google::Apis::Core::Hashable
2274
+
2275
+ # Relative name of the service within the application. Example: default.@
2276
+ # OutputOnly
2277
+ # Corresponds to the JSON property `id`
2278
+ # @return [String]
2279
+ attr_accessor :id
2280
+
2281
+ # Full path to the Service resource in the API. Example: apps/myapp/services/
2282
+ # default.@OutputOnly
2283
+ # Corresponds to the JSON property `name`
2284
+ # @return [String]
2285
+ attr_accessor :name
2286
+
2287
+ # A NetworkSettings resource is a container for ingress settings for a version
2288
+ # or service.
2289
+ # Corresponds to the JSON property `networkSettings`
2290
+ # @return [Google::Apis::AppengineV1::NetworkSettings]
2291
+ attr_accessor :network_settings
2292
+
2293
+ # Traffic routing configuration for versions within a single service. Traffic
2294
+ # splits define how traffic directed to the service is assigned to versions.
2295
+ # Corresponds to the JSON property `split`
2296
+ # @return [Google::Apis::AppengineV1::TrafficSplit]
2297
+ attr_accessor :split
2298
+
2299
+ def initialize(**args)
2300
+ update!(**args)
2301
+ end
2302
+
2303
+ # Update properties of this object
2304
+ def update!(**args)
2305
+ @id = args[:id] if args.key?(:id)
2306
+ @name = args[:name] if args.key?(:name)
2307
+ @network_settings = args[:network_settings] if args.key?(:network_settings)
2308
+ @split = args[:split] if args.key?(:split)
2309
+ end
2310
+ end
2311
+
2312
+ # SSL configuration for a DomainMapping resource.
2313
+ class SslSettings
2314
+ include Google::Apis::Core::Hashable
2315
+
2316
+ # ID of the AuthorizedCertificate resource configuring SSL for the application.
2317
+ # Clearing this field will remove SSL support.By default, a managed certificate
2318
+ # is automatically created for every domain mapping. To omit SSL support or to
2319
+ # configure SSL manually, specify SslManagementType.MANUAL on a CREATE or UPDATE
2320
+ # request. You must be authorized to administer the AuthorizedCertificate
2321
+ # resource to manually map it to a DomainMapping resource. Example: 12345.
2322
+ # Corresponds to the JSON property `certificateId`
2323
+ # @return [String]
2324
+ attr_accessor :certificate_id
2325
+
2326
+ # ID of the managed AuthorizedCertificate resource currently being provisioned,
2327
+ # if applicable. Until the new managed certificate has been successfully
2328
+ # provisioned, the previous SSL state will be preserved. Once the provisioning
2329
+ # process completes, the certificate_id field will reflect the new managed
2330
+ # certificate and this field will be left empty. To remove SSL support while
2331
+ # there is still a pending managed certificate, clear the certificate_id field
2332
+ # with an UpdateDomainMappingRequest.@OutputOnly
2333
+ # Corresponds to the JSON property `pendingManagedCertificateId`
2334
+ # @return [String]
2335
+ attr_accessor :pending_managed_certificate_id
2336
+
2337
+ # SSL management type for this domain. If AUTOMATIC, a managed certificate is
2338
+ # automatically provisioned. If MANUAL, certificate_id must be manually
2339
+ # specified in order to configure SSL for this domain.
2340
+ # Corresponds to the JSON property `sslManagementType`
2341
+ # @return [String]
2342
+ attr_accessor :ssl_management_type
2343
+
2344
+ def initialize(**args)
2345
+ update!(**args)
2346
+ end
2347
+
2348
+ # Update properties of this object
2349
+ def update!(**args)
2350
+ @certificate_id = args[:certificate_id] if args.key?(:certificate_id)
2351
+ @pending_managed_certificate_id = args[:pending_managed_certificate_id] if args.key?(:pending_managed_certificate_id)
2352
+ @ssl_management_type = args[:ssl_management_type] if args.key?(:ssl_management_type)
2353
+ end
2354
+ end
2355
+
2356
+ # Scheduler settings for standard environment.
2357
+ class StandardSchedulerSettings
2358
+ include Google::Apis::Core::Hashable
2359
+
2360
+ # Maximum number of instances to run for this version. Set to zero to disable
2361
+ # max_instances configuration.
2362
+ # Corresponds to the JSON property `maxInstances`
2363
+ # @return [Fixnum]
2364
+ attr_accessor :max_instances
2365
+
2366
+ # Minimum number of instances to run for this version. Set to zero to disable
2367
+ # min_instances configuration.
2368
+ # Corresponds to the JSON property `minInstances`
2369
+ # @return [Fixnum]
2370
+ attr_accessor :min_instances
2371
+
2372
+ # Target CPU utilization ratio to maintain when scaling.
2373
+ # Corresponds to the JSON property `targetCpuUtilization`
2374
+ # @return [Float]
2375
+ attr_accessor :target_cpu_utilization
2376
+
2377
+ # Target throughput utilization ratio to maintain when scaling
2378
+ # Corresponds to the JSON property `targetThroughputUtilization`
2379
+ # @return [Float]
2380
+ attr_accessor :target_throughput_utilization
2381
+
2382
+ def initialize(**args)
2383
+ update!(**args)
2384
+ end
2385
+
2386
+ # Update properties of this object
2387
+ def update!(**args)
2388
+ @max_instances = args[:max_instances] if args.key?(:max_instances)
2389
+ @min_instances = args[:min_instances] if args.key?(:min_instances)
2390
+ @target_cpu_utilization = args[:target_cpu_utilization] if args.key?(:target_cpu_utilization)
2391
+ @target_throughput_utilization = args[:target_throughput_utilization] if args.key?(:target_throughput_utilization)
2392
+ end
2393
+ end
2394
+
2395
+ # Files served directly to the user for a given URL, such as images, CSS
2396
+ # stylesheets, or JavaScript source files. Static file handlers describe which
2397
+ # files in the application directory are static files, and which URLs serve them.
2398
+ class StaticFilesHandler
2399
+ include Google::Apis::Core::Hashable
2400
+
2401
+ # Whether files should also be uploaded as code data. By default, files declared
2402
+ # in static file handlers are uploaded as static data and are only served to end
2403
+ # users; they cannot be read by the application. If enabled, uploads are charged
2404
+ # against both your code and static data storage resource quotas.
2405
+ # Corresponds to the JSON property `applicationReadable`
2406
+ # @return [Boolean]
2407
+ attr_accessor :application_readable
2408
+ alias_method :application_readable?, :application_readable
2409
+
2410
+ # Time a static file served by this handler should be cached by web proxies and
2411
+ # browsers.
2412
+ # Corresponds to the JSON property `expiration`
2413
+ # @return [String]
2414
+ attr_accessor :expiration
2415
+
2416
+ # HTTP headers to use for all responses from these URLs.
2417
+ # Corresponds to the JSON property `httpHeaders`
2418
+ # @return [Hash<String,String>]
2419
+ attr_accessor :http_headers
2420
+
2421
+ # MIME type used to serve all files served by this handler.Defaults to file-
2422
+ # specific MIME types, which are derived from each file's filename extension.
2423
+ # Corresponds to the JSON property `mimeType`
2424
+ # @return [String]
2425
+ attr_accessor :mime_type
2426
+
2427
+ # Path to the static files matched by the URL pattern, from the application root
2428
+ # directory. The path can refer to text matched in groupings in the URL pattern.
2429
+ # Corresponds to the JSON property `path`
2430
+ # @return [String]
2431
+ attr_accessor :path
2432
+
2433
+ # Whether this handler should match the request if the file referenced by the
2434
+ # handler does not exist.
2435
+ # Corresponds to the JSON property `requireMatchingFile`
2436
+ # @return [Boolean]
2437
+ attr_accessor :require_matching_file
2438
+ alias_method :require_matching_file?, :require_matching_file
2439
+
2440
+ # Regular expression that matches the file paths for all files that should be
2441
+ # referenced by this handler.
2442
+ # Corresponds to the JSON property `uploadPathRegex`
2443
+ # @return [String]
2444
+ attr_accessor :upload_path_regex
2445
+
2446
+ def initialize(**args)
2447
+ update!(**args)
2448
+ end
2449
+
2450
+ # Update properties of this object
2451
+ def update!(**args)
2452
+ @application_readable = args[:application_readable] if args.key?(:application_readable)
2453
+ @expiration = args[:expiration] if args.key?(:expiration)
2454
+ @http_headers = args[:http_headers] if args.key?(:http_headers)
2455
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
2456
+ @path = args[:path] if args.key?(:path)
2457
+ @require_matching_file = args[:require_matching_file] if args.key?(:require_matching_file)
2458
+ @upload_path_regex = args[:upload_path_regex] if args.key?(:upload_path_regex)
2459
+ end
2460
+ end
2461
+
2462
+ # The Status type defines a logical error model that is suitable for different
2463
+ # programming environments, including REST APIs and RPC APIs. It is used by gRPC
2464
+ # (https://github.com/grpc). Each Status message contains three pieces of data:
2465
+ # error code, error message, and error details.You can find out more about this
2466
+ # error model and how to work with it in the API Design Guide (https://cloud.
2467
+ # google.com/apis/design/errors).
2468
+ class Status
2469
+ include Google::Apis::Core::Hashable
2470
+
2471
+ # The status code, which should be an enum value of google.rpc.Code.
2472
+ # Corresponds to the JSON property `code`
2473
+ # @return [Fixnum]
2474
+ attr_accessor :code
2475
+
2476
+ # A list of messages that carry the error details. There is a common set of
2477
+ # message types for APIs to use.
2478
+ # Corresponds to the JSON property `details`
2479
+ # @return [Array<Hash<String,Object>>]
2480
+ attr_accessor :details
2481
+
2482
+ # A developer-facing error message, which should be in English. Any user-facing
2483
+ # error message should be localized and sent in the google.rpc.Status.details
2484
+ # field, or localized by the client.
2485
+ # Corresponds to the JSON property `message`
2486
+ # @return [String]
2487
+ attr_accessor :message
2488
+
2489
+ def initialize(**args)
2490
+ update!(**args)
2491
+ end
2492
+
2493
+ # Update properties of this object
2494
+ def update!(**args)
2495
+ @code = args[:code] if args.key?(:code)
2496
+ @details = args[:details] if args.key?(:details)
2497
+ @message = args[:message] if args.key?(:message)
2498
+ end
2499
+ end
2500
+
2501
+ # Traffic routing configuration for versions within a single service. Traffic
2502
+ # splits define how traffic directed to the service is assigned to versions.
2503
+ class TrafficSplit
2504
+ include Google::Apis::Core::Hashable
2505
+
2506
+ # Mapping from version IDs within the service to fractional (0.000, 1]
2507
+ # allocations of traffic for that version. Each version can be specified only
2508
+ # once, but some versions in the service may not have any traffic allocation.
2509
+ # Services that have traffic allocated cannot be deleted until either the
2510
+ # service is deleted or their traffic allocation is removed. Allocations must
2511
+ # sum to 1. Up to two decimal place precision is supported for IP-based splits
2512
+ # and up to three decimal places is supported for cookie-based splits.
2513
+ # Corresponds to the JSON property `allocations`
2514
+ # @return [Hash<String,Float>]
2515
+ attr_accessor :allocations
2516
+
2517
+ # Mechanism used to determine which version a request is sent to. The traffic
2518
+ # selection algorithm will be stable for either type until allocations are
2519
+ # changed.
2520
+ # Corresponds to the JSON property `shardBy`
2521
+ # @return [String]
2522
+ attr_accessor :shard_by
2523
+
2524
+ def initialize(**args)
2525
+ update!(**args)
2526
+ end
2527
+
2528
+ # Update properties of this object
2529
+ def update!(**args)
2530
+ @allocations = args[:allocations] if args.key?(:allocations)
2531
+ @shard_by = args[:shard_by] if args.key?(:shard_by)
2532
+ end
2533
+ end
2534
+
2535
+ # Rules to match an HTTP request and dispatch that request to a service.
2536
+ class UrlDispatchRule
2537
+ include Google::Apis::Core::Hashable
2538
+
2539
+ # Domain name to match against. The wildcard "*" is supported if specified
2540
+ # before a period: "*.".Defaults to matching all domains: "*".
2541
+ # Corresponds to the JSON property `domain`
2542
+ # @return [String]
2543
+ attr_accessor :domain
2544
+
2545
+ # Pathname within the host. Must start with a "/". A single "*" can be included
2546
+ # at the end of the path.The sum of the lengths of the domain and path may not
2547
+ # exceed 100 characters.
2548
+ # Corresponds to the JSON property `path`
2549
+ # @return [String]
2550
+ attr_accessor :path
2551
+
2552
+ # Resource ID of a service in this application that should serve the matched
2553
+ # request. The service must already exist. Example: default.
2554
+ # Corresponds to the JSON property `service`
2555
+ # @return [String]
2556
+ attr_accessor :service
2557
+
2558
+ def initialize(**args)
2559
+ update!(**args)
2560
+ end
2561
+
2562
+ # Update properties of this object
2563
+ def update!(**args)
2564
+ @domain = args[:domain] if args.key?(:domain)
2565
+ @path = args[:path] if args.key?(:path)
2566
+ @service = args[:service] if args.key?(:service)
2567
+ end
2568
+ end
2569
+
2570
+ # URL pattern and description of how the URL should be handled. App Engine can
2571
+ # handle URLs by executing application code or by serving static files uploaded
2572
+ # with the version, such as images, CSS, or JavaScript.
2573
+ class UrlMap
2574
+ include Google::Apis::Core::Hashable
2575
+
2576
+ # Uses Google Cloud Endpoints to handle requests.
2577
+ # Corresponds to the JSON property `apiEndpoint`
2578
+ # @return [Google::Apis::AppengineV1::ApiEndpointHandler]
2579
+ attr_accessor :api_endpoint
2580
+
2581
+ # Action to take when users access resources that require authentication.
2582
+ # Defaults to redirect.
2583
+ # Corresponds to the JSON property `authFailAction`
2584
+ # @return [String]
2585
+ attr_accessor :auth_fail_action
2586
+
2587
+ # Level of login required to access this resource. Not supported for Node.js in
2588
+ # the App Engine standard environment.
2589
+ # Corresponds to the JSON property `login`
2590
+ # @return [String]
2591
+ attr_accessor :login
2592
+
2593
+ # 30x code to use when performing redirects for the secure field. Defaults to
2594
+ # 302.
2595
+ # Corresponds to the JSON property `redirectHttpResponseCode`
2596
+ # @return [String]
2597
+ attr_accessor :redirect_http_response_code
2598
+
2599
+ # Executes a script to handle the request that matches the URL pattern.
2600
+ # Corresponds to the JSON property `script`
2601
+ # @return [Google::Apis::AppengineV1::ScriptHandler]
2602
+ attr_accessor :script
2603
+
2604
+ # Security (HTTPS) enforcement for this URL.
2605
+ # Corresponds to the JSON property `securityLevel`
2606
+ # @return [String]
2607
+ attr_accessor :security_level
2608
+
2609
+ # Files served directly to the user for a given URL, such as images, CSS
2610
+ # stylesheets, or JavaScript source files. Static file handlers describe which
2611
+ # files in the application directory are static files, and which URLs serve them.
2612
+ # Corresponds to the JSON property `staticFiles`
2613
+ # @return [Google::Apis::AppengineV1::StaticFilesHandler]
2614
+ attr_accessor :static_files
2615
+
2616
+ # URL prefix. Uses regular expression syntax, which means regexp special
2617
+ # characters must be escaped, but should not contain groupings. All URLs that
2618
+ # begin with this prefix are handled by this handler, using the portion of the
2619
+ # URL after the prefix as part of the file path.
2620
+ # Corresponds to the JSON property `urlRegex`
2621
+ # @return [String]
2622
+ attr_accessor :url_regex
2623
+
2624
+ def initialize(**args)
2625
+ update!(**args)
2626
+ end
2627
+
2628
+ # Update properties of this object
2629
+ def update!(**args)
2630
+ @api_endpoint = args[:api_endpoint] if args.key?(:api_endpoint)
2631
+ @auth_fail_action = args[:auth_fail_action] if args.key?(:auth_fail_action)
2632
+ @login = args[:login] if args.key?(:login)
2633
+ @redirect_http_response_code = args[:redirect_http_response_code] if args.key?(:redirect_http_response_code)
2634
+ @script = args[:script] if args.key?(:script)
2635
+ @security_level = args[:security_level] if args.key?(:security_level)
2636
+ @static_files = args[:static_files] if args.key?(:static_files)
2637
+ @url_regex = args[:url_regex] if args.key?(:url_regex)
2638
+ end
2639
+ end
2640
+
2641
+ # A Version resource is a specific set of source code and configuration files
2642
+ # that are deployed into a service.
2643
+ class Version
2644
+ include Google::Apis::Core::Hashable
2645
+
2646
+ # Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/
2647
+ # endpoints/) configuration for API handlers.
2648
+ # Corresponds to the JSON property `apiConfig`
2649
+ # @return [Google::Apis::AppengineV1::ApiConfigHandler]
2650
+ attr_accessor :api_config
2651
+
2652
+ # Automatic scaling is based on request rate, response latencies, and other
2653
+ # application metrics.
2654
+ # Corresponds to the JSON property `automaticScaling`
2655
+ # @return [Google::Apis::AppengineV1::AutomaticScaling]
2656
+ attr_accessor :automatic_scaling
2657
+
2658
+ # A service with basic scaling will create an instance when the application
2659
+ # receives a request. The instance will be turned down when the app becomes idle.
2660
+ # Basic scaling is ideal for work that is intermittent or driven by user
2661
+ # activity.
2662
+ # Corresponds to the JSON property `basicScaling`
2663
+ # @return [Google::Apis::AppengineV1::BasicScaling]
2664
+ attr_accessor :basic_scaling
2665
+
2666
+ # Metadata settings that are supplied to this version to enable beta runtime
2667
+ # features.
2668
+ # Corresponds to the JSON property `betaSettings`
2669
+ # @return [Hash<String,String>]
2670
+ attr_accessor :beta_settings
2671
+
2672
+ # Environment variables available to the build environment.Only returned in GET
2673
+ # requests if view=FULL is set.
2674
+ # Corresponds to the JSON property `buildEnvVariables`
2675
+ # @return [Hash<String,String>]
2676
+ attr_accessor :build_env_variables
2677
+
2678
+ # Time that this version was created.@OutputOnly
2679
+ # Corresponds to the JSON property `createTime`
2680
+ # @return [String]
2681
+ attr_accessor :create_time
2682
+
2683
+ # Email address of the user who created this version.@OutputOnly
2684
+ # Corresponds to the JSON property `createdBy`
2685
+ # @return [String]
2686
+ attr_accessor :created_by
2687
+
2688
+ # Duration that static files should be cached by web proxies and browsers. Only
2689
+ # applicable if the corresponding StaticFilesHandler (https://cloud.google.com/
2690
+ # appengine/docs/admin-api/reference/rest/v1/apps.services.versions#
2691
+ # StaticFilesHandler) does not specify its own expiration time.Only returned in
2692
+ # GET requests if view=FULL is set.
2693
+ # Corresponds to the JSON property `defaultExpiration`
2694
+ # @return [String]
2695
+ attr_accessor :default_expiration
2696
+
2697
+ # Code and application artifacts used to deploy a version to App Engine.
2698
+ # Corresponds to the JSON property `deployment`
2699
+ # @return [Google::Apis::AppengineV1::Deployment]
2700
+ attr_accessor :deployment
2701
+
2702
+ # Total size in bytes of all the files that are included in this version and
2703
+ # currently hosted on the App Engine disk.@OutputOnly
2704
+ # Corresponds to the JSON property `diskUsageBytes`
2705
+ # @return [Fixnum]
2706
+ attr_accessor :disk_usage_bytes
2707
+
2708
+ # Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The
2709
+ # Endpoints API Service provides tooling for serving Open API and gRPC endpoints
2710
+ # via an NGINX proxy. Only valid for App Engine Flexible environment deployments.
2711
+ # The fields here refer to the name and configuration ID of a "service" resource
2712
+ # in the Service Management API (https://cloud.google.com/service-management/
2713
+ # overview).
2714
+ # Corresponds to the JSON property `endpointsApiService`
2715
+ # @return [Google::Apis::AppengineV1::EndpointsApiService]
2716
+ attr_accessor :endpoints_api_service
2717
+
2718
+ # The entrypoint for the application.
2719
+ # Corresponds to the JSON property `entrypoint`
2720
+ # @return [Google::Apis::AppengineV1::Entrypoint]
2721
+ attr_accessor :entrypoint
2722
+
2723
+ # App Engine execution environment for this version.Defaults to standard.
2724
+ # Corresponds to the JSON property `env`
2725
+ # @return [String]
2726
+ attr_accessor :env
2727
+
2728
+ # Environment variables available to the application.Only returned in GET
2729
+ # requests if view=FULL is set.
2730
+ # Corresponds to the JSON property `envVariables`
2731
+ # @return [Hash<String,String>]
2732
+ attr_accessor :env_variables
2733
+
2734
+ # Custom static error pages. Limited to 10KB per page.Only returned in GET
2735
+ # requests if view=FULL is set.
2736
+ # Corresponds to the JSON property `errorHandlers`
2737
+ # @return [Array<Google::Apis::AppengineV1::ErrorHandler>]
2738
+ attr_accessor :error_handlers
2739
+
2740
+ # An ordered list of URL-matching patterns that should be applied to incoming
2741
+ # requests. The first matching URL handles the request and other request
2742
+ # handlers are not attempted.Only returned in GET requests if view=FULL is set.
2743
+ # Corresponds to the JSON property `handlers`
2744
+ # @return [Array<Google::Apis::AppengineV1::UrlMap>]
2745
+ attr_accessor :handlers
2746
+
2747
+ # Health checking configuration for VM instances. Unhealthy instances are killed
2748
+ # and replaced with new instances. Only applicable for instances in App Engine
2749
+ # flexible environment.
2750
+ # Corresponds to the JSON property `healthCheck`
2751
+ # @return [Google::Apis::AppengineV1::HealthCheck]
2752
+ attr_accessor :health_check
2753
+
2754
+ # Relative name of the version within the service. Example: v1. Version names
2755
+ # can contain only lowercase letters, numbers, or hyphens. Reserved names: "
2756
+ # default", "latest", and any name with the prefix "ah-".
2757
+ # Corresponds to the JSON property `id`
2758
+ # @return [String]
2759
+ attr_accessor :id
2760
+
2761
+ # Before an application can receive email or XMPP messages, the application must
2762
+ # be configured to enable the service.
2763
+ # Corresponds to the JSON property `inboundServices`
2764
+ # @return [Array<String>]
2765
+ attr_accessor :inbound_services
2766
+
2767
+ # Instance class that is used to run this version. Valid values are:
2768
+ # AutomaticScaling: F1, F2, F4, F4_1G ManualScaling or BasicScaling: B1, B2, B4,
2769
+ # B8, B4_1GDefaults to F1 for AutomaticScaling and B1 for ManualScaling or
2770
+ # BasicScaling.
2771
+ # Corresponds to the JSON property `instanceClass`
2772
+ # @return [String]
2773
+ attr_accessor :instance_class
2774
+
2775
+ # Configuration for third-party Python runtime libraries that are required by
2776
+ # the application.Only returned in GET requests if view=FULL is set.
2777
+ # Corresponds to the JSON property `libraries`
2778
+ # @return [Array<Google::Apis::AppengineV1::Library>]
2779
+ attr_accessor :libraries
2780
+
2781
+ # Health checking configuration for VM instances. Unhealthy instances are killed
2782
+ # and replaced with new instances.
2783
+ # Corresponds to the JSON property `livenessCheck`
2784
+ # @return [Google::Apis::AppengineV1::LivenessCheck]
2785
+ attr_accessor :liveness_check
2786
+
2787
+ # A service with manual scaling runs continuously, allowing you to perform
2788
+ # complex initialization and rely on the state of its memory over time.
2789
+ # Corresponds to the JSON property `manualScaling`
2790
+ # @return [Google::Apis::AppengineV1::ManualScaling]
2791
+ attr_accessor :manual_scaling
2792
+
2793
+ # Full path to the Version resource in the API. Example: apps/myapp/services/
2794
+ # default/versions/v1.@OutputOnly
2795
+ # Corresponds to the JSON property `name`
2796
+ # @return [String]
2797
+ attr_accessor :name
2798
+
2799
+ # Extra network settings. Only applicable in the App Engine flexible environment.
2800
+ # Corresponds to the JSON property `network`
2801
+ # @return [Google::Apis::AppengineV1::Network]
2802
+ attr_accessor :network
2803
+
2804
+ # Files that match this pattern will not be built into this version. Only
2805
+ # applicable for Go runtimes.Only returned in GET requests if view=FULL is set.
2806
+ # Corresponds to the JSON property `nobuildFilesRegex`
2807
+ # @return [String]
2808
+ attr_accessor :nobuild_files_regex
2809
+
2810
+ # Readiness checking configuration for VM instances. Unhealthy instances are
2811
+ # removed from traffic rotation.
2812
+ # Corresponds to the JSON property `readinessCheck`
2813
+ # @return [Google::Apis::AppengineV1::ReadinessCheck]
2814
+ attr_accessor :readiness_check
2815
+
2816
+ # Machine resources for a version.
2817
+ # Corresponds to the JSON property `resources`
2818
+ # @return [Google::Apis::AppengineV1::Resources]
2819
+ attr_accessor :resources
2820
+
2821
+ # Desired runtime. Example: python27.
2822
+ # Corresponds to the JSON property `runtime`
2823
+ # @return [String]
2824
+ attr_accessor :runtime
2825
+
2826
+ # The version of the API in the given runtime environment. Please see the app.
2827
+ # yaml reference for valid values at https://cloud.google.com/appengine/docs/
2828
+ # standard//config/appref
2829
+ # Corresponds to the JSON property `runtimeApiVersion`
2830
+ # @return [String]
2831
+ attr_accessor :runtime_api_version
2832
+
2833
+ # The channel of the runtime to use. Only available for some runtimes. Defaults
2834
+ # to the default channel.
2835
+ # Corresponds to the JSON property `runtimeChannel`
2836
+ # @return [String]
2837
+ attr_accessor :runtime_channel
2838
+
2839
+ # The path or name of the app's main executable.
2840
+ # Corresponds to the JSON property `runtimeMainExecutablePath`
2841
+ # @return [String]
2842
+ attr_accessor :runtime_main_executable_path
2843
+
2844
+ # Current serving status of this version. Only the versions with a SERVING
2845
+ # status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is an
2846
+ # invalid value. Defaults to SERVING.
2847
+ # Corresponds to the JSON property `servingStatus`
2848
+ # @return [String]
2849
+ attr_accessor :serving_status
2850
+
2851
+ # Whether multiple requests can be dispatched to this version at once.
2852
+ # Corresponds to the JSON property `threadsafe`
2853
+ # @return [Boolean]
2854
+ attr_accessor :threadsafe
2855
+ alias_method :threadsafe?, :threadsafe
2856
+
2857
+ # Serving URL for this version. Example: "https://myversion-dot-myservice-dot-
2858
+ # myapp.appspot.com"@OutputOnly
2859
+ # Corresponds to the JSON property `versionUrl`
2860
+ # @return [String]
2861
+ attr_accessor :version_url
2862
+
2863
+ # Whether to deploy this version in a container on a virtual machine.
2864
+ # Corresponds to the JSON property `vm`
2865
+ # @return [Boolean]
2866
+ attr_accessor :vm
2867
+ alias_method :vm?, :vm
2868
+
2869
+ # VPC access connector specification.
2870
+ # Corresponds to the JSON property `vpcAccessConnector`
2871
+ # @return [Google::Apis::AppengineV1::VpcAccessConnector]
2872
+ attr_accessor :vpc_access_connector
2873
+
2874
+ # The Google Compute Engine zones that are supported by this version in the App
2875
+ # Engine flexible environment. Deprecated.
2876
+ # Corresponds to the JSON property `zones`
2877
+ # @return [Array<String>]
2878
+ attr_accessor :zones
2879
+
2880
+ def initialize(**args)
2881
+ update!(**args)
2882
+ end
2883
+
2884
+ # Update properties of this object
2885
+ def update!(**args)
2886
+ @api_config = args[:api_config] if args.key?(:api_config)
2887
+ @automatic_scaling = args[:automatic_scaling] if args.key?(:automatic_scaling)
2888
+ @basic_scaling = args[:basic_scaling] if args.key?(:basic_scaling)
2889
+ @beta_settings = args[:beta_settings] if args.key?(:beta_settings)
2890
+ @build_env_variables = args[:build_env_variables] if args.key?(:build_env_variables)
2891
+ @create_time = args[:create_time] if args.key?(:create_time)
2892
+ @created_by = args[:created_by] if args.key?(:created_by)
2893
+ @default_expiration = args[:default_expiration] if args.key?(:default_expiration)
2894
+ @deployment = args[:deployment] if args.key?(:deployment)
2895
+ @disk_usage_bytes = args[:disk_usage_bytes] if args.key?(:disk_usage_bytes)
2896
+ @endpoints_api_service = args[:endpoints_api_service] if args.key?(:endpoints_api_service)
2897
+ @entrypoint = args[:entrypoint] if args.key?(:entrypoint)
2898
+ @env = args[:env] if args.key?(:env)
2899
+ @env_variables = args[:env_variables] if args.key?(:env_variables)
2900
+ @error_handlers = args[:error_handlers] if args.key?(:error_handlers)
2901
+ @handlers = args[:handlers] if args.key?(:handlers)
2902
+ @health_check = args[:health_check] if args.key?(:health_check)
2903
+ @id = args[:id] if args.key?(:id)
2904
+ @inbound_services = args[:inbound_services] if args.key?(:inbound_services)
2905
+ @instance_class = args[:instance_class] if args.key?(:instance_class)
2906
+ @libraries = args[:libraries] if args.key?(:libraries)
2907
+ @liveness_check = args[:liveness_check] if args.key?(:liveness_check)
2908
+ @manual_scaling = args[:manual_scaling] if args.key?(:manual_scaling)
2909
+ @name = args[:name] if args.key?(:name)
2910
+ @network = args[:network] if args.key?(:network)
2911
+ @nobuild_files_regex = args[:nobuild_files_regex] if args.key?(:nobuild_files_regex)
2912
+ @readiness_check = args[:readiness_check] if args.key?(:readiness_check)
2913
+ @resources = args[:resources] if args.key?(:resources)
2914
+ @runtime = args[:runtime] if args.key?(:runtime)
2915
+ @runtime_api_version = args[:runtime_api_version] if args.key?(:runtime_api_version)
2916
+ @runtime_channel = args[:runtime_channel] if args.key?(:runtime_channel)
2917
+ @runtime_main_executable_path = args[:runtime_main_executable_path] if args.key?(:runtime_main_executable_path)
2918
+ @serving_status = args[:serving_status] if args.key?(:serving_status)
2919
+ @threadsafe = args[:threadsafe] if args.key?(:threadsafe)
2920
+ @version_url = args[:version_url] if args.key?(:version_url)
2921
+ @vm = args[:vm] if args.key?(:vm)
2922
+ @vpc_access_connector = args[:vpc_access_connector] if args.key?(:vpc_access_connector)
2923
+ @zones = args[:zones] if args.key?(:zones)
2924
+ end
2925
+ end
2926
+
2927
+ # Volumes mounted within the app container. Only applicable in the App Engine
2928
+ # flexible environment.
2929
+ class Volume
2930
+ include Google::Apis::Core::Hashable
2931
+
2932
+ # Unique name for the volume.
2933
+ # Corresponds to the JSON property `name`
2934
+ # @return [String]
2935
+ attr_accessor :name
2936
+
2937
+ # Volume size in gigabytes.
2938
+ # Corresponds to the JSON property `sizeGb`
2939
+ # @return [Float]
2940
+ attr_accessor :size_gb
2941
+
2942
+ # Underlying volume type, e.g. 'tmpfs'.
2943
+ # Corresponds to the JSON property `volumeType`
2944
+ # @return [String]
2945
+ attr_accessor :volume_type
2946
+
2947
+ def initialize(**args)
2948
+ update!(**args)
2949
+ end
2950
+
2951
+ # Update properties of this object
2952
+ def update!(**args)
2953
+ @name = args[:name] if args.key?(:name)
2954
+ @size_gb = args[:size_gb] if args.key?(:size_gb)
2955
+ @volume_type = args[:volume_type] if args.key?(:volume_type)
2956
+ end
2957
+ end
2958
+
2959
+ # VPC access connector specification.
2960
+ class VpcAccessConnector
2961
+ include Google::Apis::Core::Hashable
2962
+
2963
+ # Full Serverless VPC Access Connector name e.g. /projects/my-project/locations/
2964
+ # us-central1/connectors/c1.
2965
+ # Corresponds to the JSON property `name`
2966
+ # @return [String]
2967
+ attr_accessor :name
2968
+
2969
+ def initialize(**args)
2970
+ update!(**args)
2971
+ end
2972
+
2973
+ # Update properties of this object
2974
+ def update!(**args)
2975
+ @name = args[:name] if args.key?(:name)
2976
+ end
2977
+ end
2978
+
2979
+ # The zip file information for a zip deployment.
2980
+ class ZipInfo
2981
+ include Google::Apis::Core::Hashable
2982
+
2983
+ # An estimate of the number of files in a zip for a zip deployment. If set, must
2984
+ # be greater than or equal to the actual number of files. Used for optimizing
2985
+ # performance; if not provided, deployment may be slow.
2986
+ # Corresponds to the JSON property `filesCount`
2987
+ # @return [Fixnum]
2988
+ attr_accessor :files_count
2989
+
2990
+ # URL of the zip file to deploy from. Must be a URL to a resource in Google
2991
+ # Cloud Storage in the form 'http(s)://storage.googleapis.com//'.
2992
+ # Corresponds to the JSON property `sourceUrl`
2993
+ # @return [String]
2994
+ attr_accessor :source_url
2995
+
2996
+ def initialize(**args)
2997
+ update!(**args)
2998
+ end
2999
+
3000
+ # Update properties of this object
3001
+ def update!(**args)
3002
+ @files_count = args[:files_count] if args.key?(:files_count)
3003
+ @source_url = args[:source_url] if args.key?(:source_url)
3004
+ end
3005
+ end
3006
+ end
3007
+ end
3008
+ end