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