google-apis-appengine_v1beta5 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: 619da750a407c162fae52630606c0948021811bb96017719f59be3bfe1c693c4
4
+ data.tar.gz: 61225b6bcabcfbd92595369b9f5b202ea5139a8a3fdc4e68d0cb035e73724802
5
+ SHA512:
6
+ metadata.gz: a930f67fce088c24d5d581fb0035cb3e9404f548116150107fb70829da28b18580309d7746da3c898b021ea6045adb40e95e6059ca51378c2a86405717dafbac
7
+ data.tar.gz: 99eb3b76e04ee73fb1431a2901135335b403e2e1ea4a77295faabe7b1661a553fcf67fc17004f91550532bfda7f29c0768b36c971e422bf24a4a9cd8f1a877c0
@@ -0,0 +1,13 @@
1
+ --hide-void-return
2
+ --no-private
3
+ --verbose
4
+ --title=google-apis-appengine_v1beta5
5
+ --markup-provider=redcarpet
6
+ --markup=markdown
7
+ --main OVERVIEW.md
8
+ lib/google/apis/appengine_v1beta5/*.rb
9
+ lib/google/apis/appengine_v1beta5.rb
10
+ -
11
+ OVERVIEW.md
12
+ CHANGELOG.md
13
+ LICENSE.md
@@ -0,0 +1,7 @@
1
+ # Release history for google-apis-appengine_v1beta5
2
+
3
+ ### v0.1.0 (2021-01-07)
4
+
5
+ * Regenerated using generator version 0.1.1
6
+ * Regenerated from discovery document revision 20181218
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 V1beta5 of the App Engine Admin API
2
+
3
+ This is a simple client library for version V1beta5 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_v1beta5', '~> 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_v1beta5
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_v1beta5"
49
+
50
+ # Create a client object
51
+ client = Google::Apis::AppengineV1beta5::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::AppengineV1beta5::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_v1beta5`, 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_v1beta5"
@@ -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_v1beta5/service.rb'
16
+ require 'google/apis/appengine_v1beta5/classes.rb'
17
+ require 'google/apis/appengine_v1beta5/representations.rb'
18
+ require 'google/apis/appengine_v1beta5/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 AppengineV1beta5
28
+ # Version of the App Engine Admin API this client connects to.
29
+ # This is NOT the gem version.
30
+ VERSION = 'V1beta5'
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,2241 @@
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 AppengineV1beta5
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
+ # A Google Cloud Storage bucket that can be used for storing files associated
101
+ # with this application. This bucket is associated with the application and can
102
+ # be used by the gcloud deployment commands.@OutputOnly
103
+ # Corresponds to the JSON property `codeBucket`
104
+ # @return [String]
105
+ attr_accessor :code_bucket
106
+
107
+ # A Google Cloud Storage bucket that can be used by the application to store
108
+ # content.@OutputOnly
109
+ # Corresponds to the JSON property `defaultBucket`
110
+ # @return [String]
111
+ attr_accessor :default_bucket
112
+
113
+ # Cookie expiration policy for this application.
114
+ # Corresponds to the JSON property `defaultCookieExpiration`
115
+ # @return [String]
116
+ attr_accessor :default_cookie_expiration
117
+
118
+ # Hostname used to reach the application, as resolved by App Engine.@OutputOnly
119
+ # Corresponds to the JSON property `defaultHostname`
120
+ # @return [String]
121
+ attr_accessor :default_hostname
122
+
123
+ # HTTP path dispatch rules for requests to the application that do not
124
+ # explicitly target a service or version. Rules are order-dependent.@OutputOnly
125
+ # Corresponds to the JSON property `dispatchRules`
126
+ # @return [Array<Google::Apis::AppengineV1beta5::UrlDispatchRule>]
127
+ attr_accessor :dispatch_rules
128
+
129
+ # Identity-Aware Proxy
130
+ # Corresponds to the JSON property `iap`
131
+ # @return [Google::Apis::AppengineV1beta5::IdentityAwareProxy]
132
+ attr_accessor :iap
133
+
134
+ # Identifier of the Application resource. This identifier is equivalent to the
135
+ # project ID of the Google Cloud Platform project where you want to deploy your
136
+ # application. Example: myapp.
137
+ # Corresponds to the JSON property `id`
138
+ # @return [String]
139
+ attr_accessor :id
140
+
141
+ # Location from which this application will be run. Application instances will
142
+ # run out of data centers in the chosen location, which is also where all of the
143
+ # application's end user content is stored.Defaults to us-central.Options are:us-
144
+ # central - Central USeurope-west - Western Europeus-east1 - Eastern US
145
+ # Corresponds to the JSON property `location`
146
+ # @return [String]
147
+ attr_accessor :location
148
+
149
+ # Full path to the Application resource in the API. Example: apps/myapp.@
150
+ # OutputOnly
151
+ # Corresponds to the JSON property `name`
152
+ # @return [String]
153
+ attr_accessor :name
154
+
155
+ def initialize(**args)
156
+ update!(**args)
157
+ end
158
+
159
+ # Update properties of this object
160
+ def update!(**args)
161
+ @auth_domain = args[:auth_domain] if args.key?(:auth_domain)
162
+ @code_bucket = args[:code_bucket] if args.key?(:code_bucket)
163
+ @default_bucket = args[:default_bucket] if args.key?(:default_bucket)
164
+ @default_cookie_expiration = args[:default_cookie_expiration] if args.key?(:default_cookie_expiration)
165
+ @default_hostname = args[:default_hostname] if args.key?(:default_hostname)
166
+ @dispatch_rules = args[:dispatch_rules] if args.key?(:dispatch_rules)
167
+ @iap = args[:iap] if args.key?(:iap)
168
+ @id = args[:id] if args.key?(:id)
169
+ @location = args[:location] if args.key?(:location)
170
+ @name = args[:name] if args.key?(:name)
171
+ end
172
+ end
173
+
174
+ # Automatic scaling is based on request rate, response latencies, and other
175
+ # application metrics.
176
+ class AutomaticScaling
177
+ include Google::Apis::Core::Hashable
178
+
179
+ # The time period that the Autoscaler (https://cloud.google.com/compute/docs/
180
+ # autoscaler/) should wait before it starts collecting information from a new
181
+ # instance. This prevents the autoscaler from collecting information when the
182
+ # instance is initializing, during which the collected usage would not be
183
+ # reliable. Only applicable in the App Engine flexible environment.
184
+ # Corresponds to the JSON property `coolDownPeriod`
185
+ # @return [String]
186
+ attr_accessor :cool_down_period
187
+
188
+ # Target scaling by CPU usage.
189
+ # Corresponds to the JSON property `cpuUtilization`
190
+ # @return [Google::Apis::AppengineV1beta5::CpuUtilization]
191
+ attr_accessor :cpu_utilization
192
+
193
+ # Target scaling by disk usage. Only applicable for VM runtimes.
194
+ # Corresponds to the JSON property `diskUtilization`
195
+ # @return [Google::Apis::AppengineV1beta5::DiskUtilization]
196
+ attr_accessor :disk_utilization
197
+
198
+ # Number of concurrent requests an automatic scaling instance can accept before
199
+ # the scheduler spawns a new instance.Defaults to a runtime-specific value.
200
+ # Corresponds to the JSON property `maxConcurrentRequests`
201
+ # @return [Fixnum]
202
+ attr_accessor :max_concurrent_requests
203
+
204
+ # Maximum number of idle instances that should be maintained for this version.
205
+ # Corresponds to the JSON property `maxIdleInstances`
206
+ # @return [Fixnum]
207
+ attr_accessor :max_idle_instances
208
+
209
+ # Maximum amount of time that a request should wait in the pending queue before
210
+ # starting a new instance to handle it.
211
+ # Corresponds to the JSON property `maxPendingLatency`
212
+ # @return [String]
213
+ attr_accessor :max_pending_latency
214
+
215
+ # Maximum number of instances that should be started to handle requests.
216
+ # Corresponds to the JSON property `maxTotalInstances`
217
+ # @return [Fixnum]
218
+ attr_accessor :max_total_instances
219
+
220
+ # Minimum number of idle instances that should be maintained for this version.
221
+ # Only applicable for the default version of a module.
222
+ # Corresponds to the JSON property `minIdleInstances`
223
+ # @return [Fixnum]
224
+ attr_accessor :min_idle_instances
225
+
226
+ # Minimum amount of time a request should wait in the pending queue before
227
+ # starting a new instance to handle it.
228
+ # Corresponds to the JSON property `minPendingLatency`
229
+ # @return [String]
230
+ attr_accessor :min_pending_latency
231
+
232
+ # Minimum number of instances that should be maintained for this version.
233
+ # Corresponds to the JSON property `minTotalInstances`
234
+ # @return [Fixnum]
235
+ attr_accessor :min_total_instances
236
+
237
+ # Target scaling by network usage. Only applicable for VM runtimes.
238
+ # Corresponds to the JSON property `networkUtilization`
239
+ # @return [Google::Apis::AppengineV1beta5::NetworkUtilization]
240
+ attr_accessor :network_utilization
241
+
242
+ # Target scaling by request utilization. Only applicable for VM runtimes.
243
+ # Corresponds to the JSON property `requestUtilization`
244
+ # @return [Google::Apis::AppengineV1beta5::RequestUtilization]
245
+ attr_accessor :request_utilization
246
+
247
+ def initialize(**args)
248
+ update!(**args)
249
+ end
250
+
251
+ # Update properties of this object
252
+ def update!(**args)
253
+ @cool_down_period = args[:cool_down_period] if args.key?(:cool_down_period)
254
+ @cpu_utilization = args[:cpu_utilization] if args.key?(:cpu_utilization)
255
+ @disk_utilization = args[:disk_utilization] if args.key?(:disk_utilization)
256
+ @max_concurrent_requests = args[:max_concurrent_requests] if args.key?(:max_concurrent_requests)
257
+ @max_idle_instances = args[:max_idle_instances] if args.key?(:max_idle_instances)
258
+ @max_pending_latency = args[:max_pending_latency] if args.key?(:max_pending_latency)
259
+ @max_total_instances = args[:max_total_instances] if args.key?(:max_total_instances)
260
+ @min_idle_instances = args[:min_idle_instances] if args.key?(:min_idle_instances)
261
+ @min_pending_latency = args[:min_pending_latency] if args.key?(:min_pending_latency)
262
+ @min_total_instances = args[:min_total_instances] if args.key?(:min_total_instances)
263
+ @network_utilization = args[:network_utilization] if args.key?(:network_utilization)
264
+ @request_utilization = args[:request_utilization] if args.key?(:request_utilization)
265
+ end
266
+ end
267
+
268
+ # A service with basic scaling will create an instance when the application
269
+ # receives a request. The instance will be turned down when the app becomes idle.
270
+ # Basic scaling is ideal for work that is intermittent or driven by user
271
+ # activity.
272
+ class BasicScaling
273
+ include Google::Apis::Core::Hashable
274
+
275
+ # Duration of time after the last request that an instance must wait before the
276
+ # instance is shut down.
277
+ # Corresponds to the JSON property `idleTimeout`
278
+ # @return [String]
279
+ attr_accessor :idle_timeout
280
+
281
+ # Maximum number of instances to create for this version.
282
+ # Corresponds to the JSON property `maxInstances`
283
+ # @return [Fixnum]
284
+ attr_accessor :max_instances
285
+
286
+ def initialize(**args)
287
+ update!(**args)
288
+ end
289
+
290
+ # Update properties of this object
291
+ def update!(**args)
292
+ @idle_timeout = args[:idle_timeout] if args.key?(:idle_timeout)
293
+ @max_instances = args[:max_instances] if args.key?(:max_instances)
294
+ end
295
+ end
296
+
297
+ # Docker image that is used to create a container and start a VM instance for
298
+ # the version that you deploy. Only applicable for instances running in the App
299
+ # Engine flexible environment.
300
+ class ContainerInfo
301
+ include Google::Apis::Core::Hashable
302
+
303
+ # URI to the hosted container image in Google Container Registry. The URI must
304
+ # be fully qualified and include a tag or digest. Examples: "gcr.io/my-project/
305
+ # image:tag" or "gcr.io/my-project/image@digest"
306
+ # Corresponds to the JSON property `image`
307
+ # @return [String]
308
+ attr_accessor :image
309
+
310
+ def initialize(**args)
311
+ update!(**args)
312
+ end
313
+
314
+ # Update properties of this object
315
+ def update!(**args)
316
+ @image = args[:image] if args.key?(:image)
317
+ end
318
+ end
319
+
320
+ # Target scaling by CPU usage.
321
+ class CpuUtilization
322
+ include Google::Apis::Core::Hashable
323
+
324
+ # Period of time over which CPU utilization is calculated.
325
+ # Corresponds to the JSON property `aggregationWindowLength`
326
+ # @return [String]
327
+ attr_accessor :aggregation_window_length
328
+
329
+ # Target CPU utilization ratio to maintain when scaling. Must be between 0 and 1.
330
+ # Corresponds to the JSON property `targetUtilization`
331
+ # @return [Float]
332
+ attr_accessor :target_utilization
333
+
334
+ def initialize(**args)
335
+ update!(**args)
336
+ end
337
+
338
+ # Update properties of this object
339
+ def update!(**args)
340
+ @aggregation_window_length = args[:aggregation_window_length] if args.key?(:aggregation_window_length)
341
+ @target_utilization = args[:target_utilization] if args.key?(:target_utilization)
342
+ end
343
+ end
344
+
345
+ # Metadata for the given google.longrunning.Operation during a google.appengine.
346
+ # v1.CreateVersionRequest.
347
+ class CreateVersionMetadataV1
348
+ include Google::Apis::Core::Hashable
349
+
350
+ # The Cloud Build ID if one was created as part of the version create. @
351
+ # OutputOnly
352
+ # Corresponds to the JSON property `cloudBuildId`
353
+ # @return [String]
354
+ attr_accessor :cloud_build_id
355
+
356
+ def initialize(**args)
357
+ update!(**args)
358
+ end
359
+
360
+ # Update properties of this object
361
+ def update!(**args)
362
+ @cloud_build_id = args[:cloud_build_id] if args.key?(:cloud_build_id)
363
+ end
364
+ end
365
+
366
+ # Metadata for the given google.longrunning.Operation during a google.appengine.
367
+ # v1alpha.CreateVersionRequest.
368
+ class CreateVersionMetadataV1Alpha
369
+ include Google::Apis::Core::Hashable
370
+
371
+ # The Cloud Build ID if one was created as part of the version create. @
372
+ # OutputOnly
373
+ # Corresponds to the JSON property `cloudBuildId`
374
+ # @return [String]
375
+ attr_accessor :cloud_build_id
376
+
377
+ def initialize(**args)
378
+ update!(**args)
379
+ end
380
+
381
+ # Update properties of this object
382
+ def update!(**args)
383
+ @cloud_build_id = args[:cloud_build_id] if args.key?(:cloud_build_id)
384
+ end
385
+ end
386
+
387
+ # Metadata for the given google.longrunning.Operation during a google.appengine.
388
+ # v1beta.CreateVersionRequest.
389
+ class CreateVersionMetadataV1Beta
390
+ include Google::Apis::Core::Hashable
391
+
392
+ # The Cloud Build ID if one was created as part of the version create. @
393
+ # OutputOnly
394
+ # Corresponds to the JSON property `cloudBuildId`
395
+ # @return [String]
396
+ attr_accessor :cloud_build_id
397
+
398
+ def initialize(**args)
399
+ update!(**args)
400
+ end
401
+
402
+ # Update properties of this object
403
+ def update!(**args)
404
+ @cloud_build_id = args[:cloud_build_id] if args.key?(:cloud_build_id)
405
+ end
406
+ end
407
+
408
+ # Request message for Instances.DebugInstance.
409
+ class DebugInstanceRequest
410
+ include Google::Apis::Core::Hashable
411
+
412
+ # Public SSH key to add to the instance. Examples:
413
+ # [USERNAME]:ssh-rsa [KEY_VALUE] [USERNAME]
414
+ # [USERNAME]:ssh-rsa [KEY_VALUE] google-ssh `"userName":"[USERNAME]","expireOn":"
415
+ # [EXPIRE_TIME]"`For more information, see Adding and Removing SSH Keys (https://
416
+ # cloud.google.com/compute/docs/instances/adding-removing-ssh-keys).
417
+ # Corresponds to the JSON property `sshKey`
418
+ # @return [String]
419
+ attr_accessor :ssh_key
420
+
421
+ def initialize(**args)
422
+ update!(**args)
423
+ end
424
+
425
+ # Update properties of this object
426
+ def update!(**args)
427
+ @ssh_key = args[:ssh_key] if args.key?(:ssh_key)
428
+ end
429
+ end
430
+
431
+ # Code and application artifacts used to deploy a version to App Engine.
432
+ class Deployment
433
+ include Google::Apis::Core::Hashable
434
+
435
+ # Docker image that is used to create a container and start a VM instance for
436
+ # the version that you deploy. Only applicable for instances running in the App
437
+ # Engine flexible environment.
438
+ # Corresponds to the JSON property `container`
439
+ # @return [Google::Apis::AppengineV1beta5::ContainerInfo]
440
+ attr_accessor :container
441
+
442
+ # Manifest of the files stored in Google Cloud Storage that are included as part
443
+ # of this version. All files must be readable using the credentials supplied
444
+ # with this call.
445
+ # Corresponds to the JSON property `files`
446
+ # @return [Hash<String,Google::Apis::AppengineV1beta5::FileInfo>]
447
+ attr_accessor :files
448
+
449
+ # Origin of the source code for this deployment. There can be more than one
450
+ # source reference per version if source code is distributed among multiple
451
+ # repositories.
452
+ # Corresponds to the JSON property `sourceReferences`
453
+ # @return [Array<Google::Apis::AppengineV1beta5::SourceReference>]
454
+ attr_accessor :source_references
455
+
456
+ def initialize(**args)
457
+ update!(**args)
458
+ end
459
+
460
+ # Update properties of this object
461
+ def update!(**args)
462
+ @container = args[:container] if args.key?(:container)
463
+ @files = args[:files] if args.key?(:files)
464
+ @source_references = args[:source_references] if args.key?(:source_references)
465
+ end
466
+ end
467
+
468
+ # Target scaling by disk usage. Only applicable for VM runtimes.
469
+ class DiskUtilization
470
+ include Google::Apis::Core::Hashable
471
+
472
+ # Target bytes read per second.
473
+ # Corresponds to the JSON property `targetReadBytesPerSec`
474
+ # @return [Fixnum]
475
+ attr_accessor :target_read_bytes_per_sec
476
+
477
+ # Target ops read per second.
478
+ # Corresponds to the JSON property `targetReadOpsPerSec`
479
+ # @return [Fixnum]
480
+ attr_accessor :target_read_ops_per_sec
481
+
482
+ # Target bytes written per second.
483
+ # Corresponds to the JSON property `targetWriteBytesPerSec`
484
+ # @return [Fixnum]
485
+ attr_accessor :target_write_bytes_per_sec
486
+
487
+ # Target ops written per second.
488
+ # Corresponds to the JSON property `targetWriteOpsPerSec`
489
+ # @return [Fixnum]
490
+ attr_accessor :target_write_ops_per_sec
491
+
492
+ def initialize(**args)
493
+ update!(**args)
494
+ end
495
+
496
+ # Update properties of this object
497
+ def update!(**args)
498
+ @target_read_bytes_per_sec = args[:target_read_bytes_per_sec] if args.key?(:target_read_bytes_per_sec)
499
+ @target_read_ops_per_sec = args[:target_read_ops_per_sec] if args.key?(:target_read_ops_per_sec)
500
+ @target_write_bytes_per_sec = args[:target_write_bytes_per_sec] if args.key?(:target_write_bytes_per_sec)
501
+ @target_write_ops_per_sec = args[:target_write_ops_per_sec] if args.key?(:target_write_ops_per_sec)
502
+ end
503
+ end
504
+
505
+ # Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The
506
+ # Endpoints API Service provides tooling for serving Open API and gRPC endpoints
507
+ # via an NGINX proxy. Only valid for App Engine Flexible environment deployments.
508
+ # The fields here refer to the name and configuration id of a "service" resource
509
+ # in the Service Management API (https://cloud.google.com/service-management/
510
+ # overview).
511
+ class EndpointsApiService
512
+ include Google::Apis::Core::Hashable
513
+
514
+ # Endpoints service configuration id as specified by the Service Management API.
515
+ # For example "2016-09-19r1"By default, the Endpoints service configuration id
516
+ # is fixed and config_id must be specified. To keep the Endpoints service
517
+ # configuration id updated with each rollout, specify RolloutStrategy.MANAGED
518
+ # and omit config_id.
519
+ # Corresponds to the JSON property `configId`
520
+ # @return [String]
521
+ attr_accessor :config_id
522
+
523
+ # Enable or disable trace sampling. By default, this is set to false for enabled.
524
+ # Corresponds to the JSON property `disableTraceSampling`
525
+ # @return [Boolean]
526
+ attr_accessor :disable_trace_sampling
527
+ alias_method :disable_trace_sampling?, :disable_trace_sampling
528
+
529
+ # Endpoints service name which is the name of the "service" resource in the
530
+ # Service Management API. For example "myapi.endpoints.myproject.cloud.goog"
531
+ # Corresponds to the JSON property `name`
532
+ # @return [String]
533
+ attr_accessor :name
534
+
535
+ # Endpoints rollout strategy. If FIXED, config_id must be specified. If MANAGED,
536
+ # config_id must be omitted.
537
+ # Corresponds to the JSON property `rolloutStrategy`
538
+ # @return [String]
539
+ attr_accessor :rollout_strategy
540
+
541
+ def initialize(**args)
542
+ update!(**args)
543
+ end
544
+
545
+ # Update properties of this object
546
+ def update!(**args)
547
+ @config_id = args[:config_id] if args.key?(:config_id)
548
+ @disable_trace_sampling = args[:disable_trace_sampling] if args.key?(:disable_trace_sampling)
549
+ @name = args[:name] if args.key?(:name)
550
+ @rollout_strategy = args[:rollout_strategy] if args.key?(:rollout_strategy)
551
+ end
552
+ end
553
+
554
+ # Custom static error page to be served when an error occurs.
555
+ class ErrorHandler
556
+ include Google::Apis::Core::Hashable
557
+
558
+ # Error condition this handler applies to.
559
+ # Corresponds to the JSON property `errorCode`
560
+ # @return [String]
561
+ attr_accessor :error_code
562
+
563
+ # MIME type of file. Defaults to text/html.
564
+ # Corresponds to the JSON property `mimeType`
565
+ # @return [String]
566
+ attr_accessor :mime_type
567
+
568
+ # Static file content to be served for this error.
569
+ # Corresponds to the JSON property `staticFile`
570
+ # @return [String]
571
+ attr_accessor :static_file
572
+
573
+ def initialize(**args)
574
+ update!(**args)
575
+ end
576
+
577
+ # Update properties of this object
578
+ def update!(**args)
579
+ @error_code = args[:error_code] if args.key?(:error_code)
580
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
581
+ @static_file = args[:static_file] if args.key?(:static_file)
582
+ end
583
+ end
584
+
585
+ # Single source file that is part of the version to be deployed. Each source
586
+ # file that is deployed must be specified separately.
587
+ class FileInfo
588
+ include Google::Apis::Core::Hashable
589
+
590
+ # The MIME type of the file.Defaults to the value from Google Cloud Storage.
591
+ # Corresponds to the JSON property `mimeType`
592
+ # @return [String]
593
+ attr_accessor :mime_type
594
+
595
+ # The SHA1 hash of the file, in hex.
596
+ # Corresponds to the JSON property `sha1Sum`
597
+ # @return [String]
598
+ attr_accessor :sha1_sum
599
+
600
+ # URL source to use to fetch this file. Must be a URL to a resource in Google
601
+ # Cloud Storage in the form 'http(s)://storage.googleapis.com/<bucket>/<object>'.
602
+ # Corresponds to the JSON property `sourceUrl`
603
+ # @return [String]
604
+ attr_accessor :source_url
605
+
606
+ def initialize(**args)
607
+ update!(**args)
608
+ end
609
+
610
+ # Update properties of this object
611
+ def update!(**args)
612
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
613
+ @sha1_sum = args[:sha1_sum] if args.key?(:sha1_sum)
614
+ @source_url = args[:source_url] if args.key?(:source_url)
615
+ end
616
+ end
617
+
618
+ # Health checking configuration for VM instances. Unhealthy instances are killed
619
+ # and replaced with new instances. Only applicable for instances in App Engine
620
+ # flexible environment.
621
+ class HealthCheck
622
+ include Google::Apis::Core::Hashable
623
+
624
+ # Interval between health checks.
625
+ # Corresponds to the JSON property `checkInterval`
626
+ # @return [String]
627
+ attr_accessor :check_interval
628
+
629
+ # Whether to explicitly disable health checks for this instance.
630
+ # Corresponds to the JSON property `disableHealthCheck`
631
+ # @return [Boolean]
632
+ attr_accessor :disable_health_check
633
+ alias_method :disable_health_check?, :disable_health_check
634
+
635
+ # Number of consecutive successful health checks required before receiving
636
+ # traffic.
637
+ # Corresponds to the JSON property `healthyThreshold`
638
+ # @return [Fixnum]
639
+ attr_accessor :healthy_threshold
640
+
641
+ # Host header to send when performing an HTTP health check. Example: "myapp.
642
+ # appspot.com"
643
+ # Corresponds to the JSON property `host`
644
+ # @return [String]
645
+ attr_accessor :host
646
+
647
+ # Number of consecutive failed health checks required before an instance is
648
+ # restarted.
649
+ # Corresponds to the JSON property `restartThreshold`
650
+ # @return [Fixnum]
651
+ attr_accessor :restart_threshold
652
+
653
+ # Time before the health check is considered failed.
654
+ # Corresponds to the JSON property `timeout`
655
+ # @return [String]
656
+ attr_accessor :timeout
657
+
658
+ # Number of consecutive failed health checks required before removing traffic.
659
+ # Corresponds to the JSON property `unhealthyThreshold`
660
+ # @return [Fixnum]
661
+ attr_accessor :unhealthy_threshold
662
+
663
+ def initialize(**args)
664
+ update!(**args)
665
+ end
666
+
667
+ # Update properties of this object
668
+ def update!(**args)
669
+ @check_interval = args[:check_interval] if args.key?(:check_interval)
670
+ @disable_health_check = args[:disable_health_check] if args.key?(:disable_health_check)
671
+ @healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold)
672
+ @host = args[:host] if args.key?(:host)
673
+ @restart_threshold = args[:restart_threshold] if args.key?(:restart_threshold)
674
+ @timeout = args[:timeout] if args.key?(:timeout)
675
+ @unhealthy_threshold = args[:unhealthy_threshold] if args.key?(:unhealthy_threshold)
676
+ end
677
+ end
678
+
679
+ # Identity-Aware Proxy
680
+ class IdentityAwareProxy
681
+ include Google::Apis::Core::Hashable
682
+
683
+ # Whether the serving infrastructure will authenticate and authorize all
684
+ # incoming requests.If true, the oauth2_client_id and oauth2_client_secret
685
+ # fields must be non-empty.
686
+ # Corresponds to the JSON property `enabled`
687
+ # @return [Boolean]
688
+ attr_accessor :enabled
689
+ alias_method :enabled?, :enabled
690
+
691
+ # OAuth2 client ID to use for the authentication flow.
692
+ # Corresponds to the JSON property `oauth2ClientId`
693
+ # @return [String]
694
+ attr_accessor :oauth2_client_id
695
+
696
+ # For security reasons, this value cannot be retrieved via the API. Instead, the
697
+ # SHA-256 hash of the value is returned in the oauth2_client_secret_sha256 field.
698
+ # @InputOnly
699
+ # Corresponds to the JSON property `oauth2ClientSecret`
700
+ # @return [String]
701
+ attr_accessor :oauth2_client_secret
702
+
703
+ # Hex-encoded SHA-256 hash of the client secret.@OutputOnly
704
+ # Corresponds to the JSON property `oauth2ClientSecretSha256`
705
+ # @return [String]
706
+ attr_accessor :oauth2_client_secret_sha256
707
+
708
+ def initialize(**args)
709
+ update!(**args)
710
+ end
711
+
712
+ # Update properties of this object
713
+ def update!(**args)
714
+ @enabled = args[:enabled] if args.key?(:enabled)
715
+ @oauth2_client_id = args[:oauth2_client_id] if args.key?(:oauth2_client_id)
716
+ @oauth2_client_secret = args[:oauth2_client_secret] if args.key?(:oauth2_client_secret)
717
+ @oauth2_client_secret_sha256 = args[:oauth2_client_secret_sha256] if args.key?(:oauth2_client_secret_sha256)
718
+ end
719
+ end
720
+
721
+ # An Instance resource is the computing unit that App Engine uses to
722
+ # automatically scale an application.
723
+ class Instance
724
+ include Google::Apis::Core::Hashable
725
+
726
+ # App Engine release this instance is running on.@OutputOnly
727
+ # Corresponds to the JSON property `appEngineRelease`
728
+ # @return [String]
729
+ attr_accessor :app_engine_release
730
+
731
+ # Availability of the instance.@OutputOnly
732
+ # Corresponds to the JSON property `availability`
733
+ # @return [String]
734
+ attr_accessor :availability
735
+
736
+ # Average latency (ms) over the last minute.@OutputOnly
737
+ # Corresponds to the JSON property `averageLatency`
738
+ # @return [Fixnum]
739
+ attr_accessor :average_latency
740
+
741
+ # Number of errors since this instance was started.@OutputOnly
742
+ # Corresponds to the JSON property `errors`
743
+ # @return [Fixnum]
744
+ attr_accessor :errors
745
+
746
+ # Relative name of the instance within the version. Example: instance-1.@
747
+ # OutputOnly
748
+ # Corresponds to the JSON property `id`
749
+ # @return [String]
750
+ attr_accessor :id
751
+
752
+ # Total memory in use (bytes).@OutputOnly
753
+ # Corresponds to the JSON property `memoryUsage`
754
+ # @return [Fixnum]
755
+ attr_accessor :memory_usage
756
+
757
+ # Full path to the Instance resource in the API. Example: apps/myapp/services/
758
+ # default/versions/v1/instances/instance-1.@OutputOnly
759
+ # Corresponds to the JSON property `name`
760
+ # @return [String]
761
+ attr_accessor :name
762
+
763
+ # Average queries per second (QPS) over the last minute.@OutputOnly
764
+ # Corresponds to the JSON property `qps`
765
+ # @return [Float]
766
+ attr_accessor :qps
767
+
768
+ # Number of requests since this instance was started.@OutputOnly
769
+ # Corresponds to the JSON property `requests`
770
+ # @return [Fixnum]
771
+ attr_accessor :requests
772
+
773
+ # Time that this instance was started.@OutputOnly
774
+ # Corresponds to the JSON property `startTimestamp`
775
+ # @return [String]
776
+ attr_accessor :start_timestamp
777
+
778
+ # Virtual machine ID of this instance. Only applicable for instances in App
779
+ # Engine flexible environment.@OutputOnly
780
+ # Corresponds to the JSON property `vmId`
781
+ # @return [String]
782
+ attr_accessor :vm_id
783
+
784
+ # The IP address of this instance. Only applicable for instances in App Engine
785
+ # flexible environment.@OutputOnly
786
+ # Corresponds to the JSON property `vmIp`
787
+ # @return [String]
788
+ attr_accessor :vm_ip
789
+
790
+ # Name of the virtual machine where this instance lives. Only applicable for
791
+ # instances in App Engine flexible environment.@OutputOnly
792
+ # Corresponds to the JSON property `vmName`
793
+ # @return [String]
794
+ attr_accessor :vm_name
795
+
796
+ # Status of the virtual machine where this instance lives. Only applicable for
797
+ # instances in App Engine flexible environment.@OutputOnly
798
+ # Corresponds to the JSON property `vmStatus`
799
+ # @return [String]
800
+ attr_accessor :vm_status
801
+
802
+ # Whether this instance is in debug mode. Only applicable for instances in App
803
+ # Engine flexible environment.@OutputOnly
804
+ # Corresponds to the JSON property `vmUnlocked`
805
+ # @return [Boolean]
806
+ attr_accessor :vm_unlocked
807
+ alias_method :vm_unlocked?, :vm_unlocked
808
+
809
+ # Zone where the virtual machine is located. Only applicable for instances in
810
+ # App Engine flexible environment.@OutputOnly
811
+ # Corresponds to the JSON property `vmZoneName`
812
+ # @return [String]
813
+ attr_accessor :vm_zone_name
814
+
815
+ def initialize(**args)
816
+ update!(**args)
817
+ end
818
+
819
+ # Update properties of this object
820
+ def update!(**args)
821
+ @app_engine_release = args[:app_engine_release] if args.key?(:app_engine_release)
822
+ @availability = args[:availability] if args.key?(:availability)
823
+ @average_latency = args[:average_latency] if args.key?(:average_latency)
824
+ @errors = args[:errors] if args.key?(:errors)
825
+ @id = args[:id] if args.key?(:id)
826
+ @memory_usage = args[:memory_usage] if args.key?(:memory_usage)
827
+ @name = args[:name] if args.key?(:name)
828
+ @qps = args[:qps] if args.key?(:qps)
829
+ @requests = args[:requests] if args.key?(:requests)
830
+ @start_timestamp = args[:start_timestamp] if args.key?(:start_timestamp)
831
+ @vm_id = args[:vm_id] if args.key?(:vm_id)
832
+ @vm_ip = args[:vm_ip] if args.key?(:vm_ip)
833
+ @vm_name = args[:vm_name] if args.key?(:vm_name)
834
+ @vm_status = args[:vm_status] if args.key?(:vm_status)
835
+ @vm_unlocked = args[:vm_unlocked] if args.key?(:vm_unlocked)
836
+ @vm_zone_name = args[:vm_zone_name] if args.key?(:vm_zone_name)
837
+ end
838
+ end
839
+
840
+ # Third-party Python runtime library that is required by the application.
841
+ class Library
842
+ include Google::Apis::Core::Hashable
843
+
844
+ # Name of the library. Example: "django".
845
+ # Corresponds to the JSON property `name`
846
+ # @return [String]
847
+ attr_accessor :name
848
+
849
+ # Version of the library to select, or "latest".
850
+ # Corresponds to the JSON property `version`
851
+ # @return [String]
852
+ attr_accessor :version
853
+
854
+ def initialize(**args)
855
+ update!(**args)
856
+ end
857
+
858
+ # Update properties of this object
859
+ def update!(**args)
860
+ @name = args[:name] if args.key?(:name)
861
+ @version = args[:version] if args.key?(:version)
862
+ end
863
+ end
864
+
865
+ # Response message for Instances.ListInstances.
866
+ class ListInstancesResponse
867
+ include Google::Apis::Core::Hashable
868
+
869
+ # The instances belonging to the requested version.
870
+ # Corresponds to the JSON property `instances`
871
+ # @return [Array<Google::Apis::AppengineV1beta5::Instance>]
872
+ attr_accessor :instances
873
+
874
+ # Continuation token for fetching the next page of results.
875
+ # Corresponds to the JSON property `nextPageToken`
876
+ # @return [String]
877
+ attr_accessor :next_page_token
878
+
879
+ def initialize(**args)
880
+ update!(**args)
881
+ end
882
+
883
+ # Update properties of this object
884
+ def update!(**args)
885
+ @instances = args[:instances] if args.key?(:instances)
886
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
887
+ end
888
+ end
889
+
890
+ # The response message for Locations.ListLocations.
891
+ class ListLocationsResponse
892
+ include Google::Apis::Core::Hashable
893
+
894
+ # A list of locations that matches the specified filter in the request.
895
+ # Corresponds to the JSON property `locations`
896
+ # @return [Array<Google::Apis::AppengineV1beta5::Location>]
897
+ attr_accessor :locations
898
+
899
+ # The standard List next-page token.
900
+ # Corresponds to the JSON property `nextPageToken`
901
+ # @return [String]
902
+ attr_accessor :next_page_token
903
+
904
+ def initialize(**args)
905
+ update!(**args)
906
+ end
907
+
908
+ # Update properties of this object
909
+ def update!(**args)
910
+ @locations = args[:locations] if args.key?(:locations)
911
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
912
+ end
913
+ end
914
+
915
+ # The response message for Operations.ListOperations.
916
+ class ListOperationsResponse
917
+ include Google::Apis::Core::Hashable
918
+
919
+ # The standard List next-page token.
920
+ # Corresponds to the JSON property `nextPageToken`
921
+ # @return [String]
922
+ attr_accessor :next_page_token
923
+
924
+ # A list of operations that matches the specified filter in the request.
925
+ # Corresponds to the JSON property `operations`
926
+ # @return [Array<Google::Apis::AppengineV1beta5::Operation>]
927
+ attr_accessor :operations
928
+
929
+ def initialize(**args)
930
+ update!(**args)
931
+ end
932
+
933
+ # Update properties of this object
934
+ def update!(**args)
935
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
936
+ @operations = args[:operations] if args.key?(:operations)
937
+ end
938
+ end
939
+
940
+ # Response message for Services.ListServices.
941
+ class ListServicesResponse
942
+ include Google::Apis::Core::Hashable
943
+
944
+ # Continuation token for fetching the next page of results.
945
+ # Corresponds to the JSON property `nextPageToken`
946
+ # @return [String]
947
+ attr_accessor :next_page_token
948
+
949
+ # The services belonging to the requested application.
950
+ # Corresponds to the JSON property `services`
951
+ # @return [Array<Google::Apis::AppengineV1beta5::Service>]
952
+ attr_accessor :services
953
+
954
+ def initialize(**args)
955
+ update!(**args)
956
+ end
957
+
958
+ # Update properties of this object
959
+ def update!(**args)
960
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
961
+ @services = args[:services] if args.key?(:services)
962
+ end
963
+ end
964
+
965
+ # Response message for Versions.ListVersions.
966
+ class ListVersionsResponse
967
+ include Google::Apis::Core::Hashable
968
+
969
+ # Continuation token for fetching the next page of results.
970
+ # Corresponds to the JSON property `nextPageToken`
971
+ # @return [String]
972
+ attr_accessor :next_page_token
973
+
974
+ # The versions belonging to the requested service.
975
+ # Corresponds to the JSON property `versions`
976
+ # @return [Array<Google::Apis::AppengineV1beta5::Version>]
977
+ attr_accessor :versions
978
+
979
+ def initialize(**args)
980
+ update!(**args)
981
+ end
982
+
983
+ # Update properties of this object
984
+ def update!(**args)
985
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
986
+ @versions = args[:versions] if args.key?(:versions)
987
+ end
988
+ end
989
+
990
+ # A resource that represents Google Cloud Platform location.
991
+ class Location
992
+ include Google::Apis::Core::Hashable
993
+
994
+ # The friendly name for this location, typically a nearby city name. For example,
995
+ # "Tokyo".
996
+ # Corresponds to the JSON property `displayName`
997
+ # @return [String]
998
+ attr_accessor :display_name
999
+
1000
+ # Cross-service attributes for the location. For example
1001
+ # `"cloud.googleapis.com/region": "us-east1"`
1002
+ # Corresponds to the JSON property `labels`
1003
+ # @return [Hash<String,String>]
1004
+ attr_accessor :labels
1005
+
1006
+ # The canonical id for this location. For example: "us-east1".
1007
+ # Corresponds to the JSON property `locationId`
1008
+ # @return [String]
1009
+ attr_accessor :location_id
1010
+
1011
+ # Service-specific metadata. For example the available capacity at the given
1012
+ # location.
1013
+ # Corresponds to the JSON property `metadata`
1014
+ # @return [Hash<String,Object>]
1015
+ attr_accessor :metadata
1016
+
1017
+ # Resource name for the location, which may vary between implementations. For
1018
+ # example: "projects/example-project/locations/us-east1"
1019
+ # Corresponds to the JSON property `name`
1020
+ # @return [String]
1021
+ attr_accessor :name
1022
+
1023
+ def initialize(**args)
1024
+ update!(**args)
1025
+ end
1026
+
1027
+ # Update properties of this object
1028
+ def update!(**args)
1029
+ @display_name = args[:display_name] if args.key?(:display_name)
1030
+ @labels = args[:labels] if args.key?(:labels)
1031
+ @location_id = args[:location_id] if args.key?(:location_id)
1032
+ @metadata = args[:metadata] if args.key?(:metadata)
1033
+ @name = args[:name] if args.key?(:name)
1034
+ end
1035
+ end
1036
+
1037
+ # Metadata for the given google.cloud.location.Location.
1038
+ class LocationMetadata
1039
+ include Google::Apis::Core::Hashable
1040
+
1041
+ # App Engine flexible environment is available in the given location.@OutputOnly
1042
+ # Corresponds to the JSON property `flexibleEnvironmentAvailable`
1043
+ # @return [Boolean]
1044
+ attr_accessor :flexible_environment_available
1045
+ alias_method :flexible_environment_available?, :flexible_environment_available
1046
+
1047
+ # App Engine standard environment is available in the given location.@OutputOnly
1048
+ # Corresponds to the JSON property `standardEnvironmentAvailable`
1049
+ # @return [Boolean]
1050
+ attr_accessor :standard_environment_available
1051
+ alias_method :standard_environment_available?, :standard_environment_available
1052
+
1053
+ def initialize(**args)
1054
+ update!(**args)
1055
+ end
1056
+
1057
+ # Update properties of this object
1058
+ def update!(**args)
1059
+ @flexible_environment_available = args[:flexible_environment_available] if args.key?(:flexible_environment_available)
1060
+ @standard_environment_available = args[:standard_environment_available] if args.key?(:standard_environment_available)
1061
+ end
1062
+ end
1063
+
1064
+ # A service with manual scaling runs continuously, allowing you to perform
1065
+ # complex initialization and rely on the state of its memory over time.
1066
+ class ManualScaling
1067
+ include Google::Apis::Core::Hashable
1068
+
1069
+ # Number of instances to assign to the service at the start. This number can
1070
+ # later be altered by using the Modules API (https://cloud.google.com/appengine/
1071
+ # docs/python/modules/functions) set_num_instances() function.
1072
+ # Corresponds to the JSON property `instances`
1073
+ # @return [Fixnum]
1074
+ attr_accessor :instances
1075
+
1076
+ def initialize(**args)
1077
+ update!(**args)
1078
+ end
1079
+
1080
+ # Update properties of this object
1081
+ def update!(**args)
1082
+ @instances = args[:instances] if args.key?(:instances)
1083
+ end
1084
+ end
1085
+
1086
+ # Extra network settings. Only applicable for VM runtimes.
1087
+ class Network
1088
+ include Google::Apis::Core::Hashable
1089
+
1090
+ # List of ports, or port pairs, to forward from the virtual machine to the
1091
+ # application container.
1092
+ # Corresponds to the JSON property `forwardedPorts`
1093
+ # @return [Array<String>]
1094
+ attr_accessor :forwarded_ports
1095
+
1096
+ # Tag to apply to the VM instance during creation.
1097
+ # Corresponds to the JSON property `instanceTag`
1098
+ # @return [String]
1099
+ attr_accessor :instance_tag
1100
+
1101
+ # Google Cloud Platform network where the virtual machines are created. Specify
1102
+ # the short name, not the resource path.Defaults to default.
1103
+ # Corresponds to the JSON property `name`
1104
+ # @return [String]
1105
+ attr_accessor :name
1106
+
1107
+ # Google Cloud Platform sub-network where the virtual machines are created.
1108
+ # Specify the short name, not the resource path.If a subnetwork name is
1109
+ # specified, a network name will also be required unless it is for the default
1110
+ # network.
1111
+ # If the network the VM instance is being created in is a Legacy network, then
1112
+ # the IP address is allocated from the IPv4Range.
1113
+ # If the network the VM instance is being created in is an auto Subnet Mode
1114
+ # Network, then only network name should be specified (not the subnetwork_name)
1115
+ # and the IP address is created from the IPCidrRange of the subnetwork that
1116
+ # exists in that zone for that network.
1117
+ # If the network the VM instance is being created in is a custom Subnet Mode
1118
+ # Network, then the subnetwork_name must be specified and the IP address is
1119
+ # created from the IPCidrRange of the subnetwork.If specified, the subnetwork
1120
+ # must exist in the same region as the Flex app.
1121
+ # Corresponds to the JSON property `subnetworkName`
1122
+ # @return [String]
1123
+ attr_accessor :subnetwork_name
1124
+
1125
+ def initialize(**args)
1126
+ update!(**args)
1127
+ end
1128
+
1129
+ # Update properties of this object
1130
+ def update!(**args)
1131
+ @forwarded_ports = args[:forwarded_ports] if args.key?(:forwarded_ports)
1132
+ @instance_tag = args[:instance_tag] if args.key?(:instance_tag)
1133
+ @name = args[:name] if args.key?(:name)
1134
+ @subnetwork_name = args[:subnetwork_name] if args.key?(:subnetwork_name)
1135
+ end
1136
+ end
1137
+
1138
+ # Target scaling by network usage. Only applicable for VM runtimes.
1139
+ class NetworkUtilization
1140
+ include Google::Apis::Core::Hashable
1141
+
1142
+ # Target bytes received per second.
1143
+ # Corresponds to the JSON property `targetReceivedBytesPerSec`
1144
+ # @return [Fixnum]
1145
+ attr_accessor :target_received_bytes_per_sec
1146
+
1147
+ # Target packets received per second.
1148
+ # Corresponds to the JSON property `targetReceivedPacketsPerSec`
1149
+ # @return [Fixnum]
1150
+ attr_accessor :target_received_packets_per_sec
1151
+
1152
+ # Target bytes sent per second.
1153
+ # Corresponds to the JSON property `targetSentBytesPerSec`
1154
+ # @return [Fixnum]
1155
+ attr_accessor :target_sent_bytes_per_sec
1156
+
1157
+ # Target packets sent per second.
1158
+ # Corresponds to the JSON property `targetSentPacketsPerSec`
1159
+ # @return [Fixnum]
1160
+ attr_accessor :target_sent_packets_per_sec
1161
+
1162
+ def initialize(**args)
1163
+ update!(**args)
1164
+ end
1165
+
1166
+ # Update properties of this object
1167
+ def update!(**args)
1168
+ @target_received_bytes_per_sec = args[:target_received_bytes_per_sec] if args.key?(:target_received_bytes_per_sec)
1169
+ @target_received_packets_per_sec = args[:target_received_packets_per_sec] if args.key?(:target_received_packets_per_sec)
1170
+ @target_sent_bytes_per_sec = args[:target_sent_bytes_per_sec] if args.key?(:target_sent_bytes_per_sec)
1171
+ @target_sent_packets_per_sec = args[:target_sent_packets_per_sec] if args.key?(:target_sent_packets_per_sec)
1172
+ end
1173
+ end
1174
+
1175
+ # This resource represents a long-running operation that is the result of a
1176
+ # network API call.
1177
+ class Operation
1178
+ include Google::Apis::Core::Hashable
1179
+
1180
+ # If the value is false, it means the operation is still in progress. If true,
1181
+ # the operation is completed, and either error or response is available.
1182
+ # Corresponds to the JSON property `done`
1183
+ # @return [Boolean]
1184
+ attr_accessor :done
1185
+ alias_method :done?, :done
1186
+
1187
+ # The Status type defines a logical error model that is suitable for different
1188
+ # programming environments, including REST APIs and RPC APIs. It is used by gRPC
1189
+ # (https://github.com/grpc). The error model is designed to be:
1190
+ # Simple to use and understand for most users
1191
+ # Flexible enough to meet unexpected needsOverviewThe Status message contains
1192
+ # three pieces of data: error code, error message, and error details. The error
1193
+ # code should be an enum value of google.rpc.Code, but it may accept additional
1194
+ # error codes if needed. The error message should be a developer-facing English
1195
+ # message that helps developers understand and resolve the error. If a localized
1196
+ # user-facing error message is needed, put the localized message in the error
1197
+ # details or localize it in the client. The optional error details may contain
1198
+ # arbitrary information about the error. There is a predefined set of error
1199
+ # detail types in the package google.rpc that can be used for common error
1200
+ # conditions.Language mappingThe Status message is the logical representation of
1201
+ # the error model, but it is not necessarily the actual wire format. When the
1202
+ # Status message is exposed in different client libraries and different wire
1203
+ # protocols, it can be mapped differently. For example, it will likely be mapped
1204
+ # to some exceptions in Java, but more likely mapped to some error codes in C.
1205
+ # Other usesThe error model and the Status message can be used in a variety of
1206
+ # environments, either with or without APIs, to provide a consistent developer
1207
+ # experience across different environments.Example uses of this error model
1208
+ # include:
1209
+ # Partial errors. If a service needs to return partial errors to the client, it
1210
+ # may embed the Status in the normal response to indicate the partial errors.
1211
+ # Workflow errors. A typical workflow has multiple steps. Each step may have a
1212
+ # Status message for error reporting.
1213
+ # Batch operations. If a client uses batch request and batch response, the
1214
+ # Status message should be used directly inside batch response, one for each
1215
+ # error sub-response.
1216
+ # Asynchronous operations. If an API call embeds asynchronous operation results
1217
+ # in its response, the status of those operations should be represented directly
1218
+ # using the Status message.
1219
+ # Logging. If some API errors are stored in logs, the message Status could be
1220
+ # used directly after any stripping needed for security/privacy reasons.
1221
+ # Corresponds to the JSON property `error`
1222
+ # @return [Google::Apis::AppengineV1beta5::Status]
1223
+ attr_accessor :error
1224
+
1225
+ # Service-specific metadata associated with the operation. It typically contains
1226
+ # progress information and common metadata such as create time. Some services
1227
+ # might not provide such metadata. Any method that returns a long-running
1228
+ # operation should document the metadata type, if any.
1229
+ # Corresponds to the JSON property `metadata`
1230
+ # @return [Hash<String,Object>]
1231
+ attr_accessor :metadata
1232
+
1233
+ # The server-assigned name, which is only unique within the same service that
1234
+ # originally returns it. If you use the default HTTP mapping, the name should
1235
+ # have the format of operations/some/unique/name.
1236
+ # Corresponds to the JSON property `name`
1237
+ # @return [String]
1238
+ attr_accessor :name
1239
+
1240
+ # The normal response of the operation in case of success. If the original
1241
+ # method returns no data on success, such as Delete, the response is google.
1242
+ # protobuf.Empty. If the original method is standard Get/Create/Update, the
1243
+ # response should be the resource. For other methods, the response should have
1244
+ # the type XxxResponse, where Xxx is the original method name. For example, if
1245
+ # the original method name is TakeSnapshot(), the inferred response type is
1246
+ # TakeSnapshotResponse.
1247
+ # Corresponds to the JSON property `response`
1248
+ # @return [Hash<String,Object>]
1249
+ attr_accessor :response
1250
+
1251
+ def initialize(**args)
1252
+ update!(**args)
1253
+ end
1254
+
1255
+ # Update properties of this object
1256
+ def update!(**args)
1257
+ @done = args[:done] if args.key?(:done)
1258
+ @error = args[:error] if args.key?(:error)
1259
+ @metadata = args[:metadata] if args.key?(:metadata)
1260
+ @name = args[:name] if args.key?(:name)
1261
+ @response = args[:response] if args.key?(:response)
1262
+ end
1263
+ end
1264
+
1265
+ # Metadata for the given google.longrunning.Operation.
1266
+ class OperationMetadata
1267
+ include Google::Apis::Core::Hashable
1268
+
1269
+ # Timestamp that this operation completed.@OutputOnly
1270
+ # Corresponds to the JSON property `endTime`
1271
+ # @return [String]
1272
+ attr_accessor :end_time
1273
+
1274
+ # Timestamp that this operation was created.@OutputOnly
1275
+ # Corresponds to the JSON property `insertTime`
1276
+ # @return [String]
1277
+ attr_accessor :insert_time
1278
+
1279
+ # API method that initiated this operation. Example: google.appengine.v1beta4.
1280
+ # Version.CreateVersion.@OutputOnly
1281
+ # Corresponds to the JSON property `method`
1282
+ # @return [String]
1283
+ attr_accessor :method_prop
1284
+
1285
+ # Type of this operation. Deprecated, use method field instead. Example: "
1286
+ # create_version".@OutputOnly
1287
+ # Corresponds to the JSON property `operationType`
1288
+ # @return [String]
1289
+ attr_accessor :operation_type
1290
+
1291
+ # Name of the resource that this operation is acting on. Example: apps/myapp/
1292
+ # modules/default.@OutputOnly
1293
+ # Corresponds to the JSON property `target`
1294
+ # @return [String]
1295
+ attr_accessor :target
1296
+
1297
+ # User who requested this operation.@OutputOnly
1298
+ # Corresponds to the JSON property `user`
1299
+ # @return [String]
1300
+ attr_accessor :user
1301
+
1302
+ def initialize(**args)
1303
+ update!(**args)
1304
+ end
1305
+
1306
+ # Update properties of this object
1307
+ def update!(**args)
1308
+ @end_time = args[:end_time] if args.key?(:end_time)
1309
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
1310
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
1311
+ @operation_type = args[:operation_type] if args.key?(:operation_type)
1312
+ @target = args[:target] if args.key?(:target)
1313
+ @user = args[:user] if args.key?(:user)
1314
+ end
1315
+ end
1316
+
1317
+ # Metadata for the given google.longrunning.Operation.
1318
+ class OperationMetadataV1
1319
+ include Google::Apis::Core::Hashable
1320
+
1321
+ # Metadata for the given google.longrunning.Operation during a google.appengine.
1322
+ # v1.CreateVersionRequest.
1323
+ # Corresponds to the JSON property `createVersionMetadata`
1324
+ # @return [Google::Apis::AppengineV1beta5::CreateVersionMetadataV1]
1325
+ attr_accessor :create_version_metadata
1326
+
1327
+ # Time that this operation completed.@OutputOnly
1328
+ # Corresponds to the JSON property `endTime`
1329
+ # @return [String]
1330
+ attr_accessor :end_time
1331
+
1332
+ # Ephemeral message that may change every time the operation is polled. @
1333
+ # OutputOnly
1334
+ # Corresponds to the JSON property `ephemeralMessage`
1335
+ # @return [String]
1336
+ attr_accessor :ephemeral_message
1337
+
1338
+ # Time that this operation was created.@OutputOnly
1339
+ # Corresponds to the JSON property `insertTime`
1340
+ # @return [String]
1341
+ attr_accessor :insert_time
1342
+
1343
+ # API method that initiated this operation. Example: google.appengine.v1.
1344
+ # Versions.CreateVersion.@OutputOnly
1345
+ # Corresponds to the JSON property `method`
1346
+ # @return [String]
1347
+ attr_accessor :method_prop
1348
+
1349
+ # Name of the resource that this operation is acting on. Example: apps/myapp/
1350
+ # services/default.@OutputOnly
1351
+ # Corresponds to the JSON property `target`
1352
+ # @return [String]
1353
+ attr_accessor :target
1354
+
1355
+ # User who requested this operation.@OutputOnly
1356
+ # Corresponds to the JSON property `user`
1357
+ # @return [String]
1358
+ attr_accessor :user
1359
+
1360
+ # Durable messages that persist on every operation poll. @OutputOnly
1361
+ # Corresponds to the JSON property `warning`
1362
+ # @return [Array<String>]
1363
+ attr_accessor :warning
1364
+
1365
+ def initialize(**args)
1366
+ update!(**args)
1367
+ end
1368
+
1369
+ # Update properties of this object
1370
+ def update!(**args)
1371
+ @create_version_metadata = args[:create_version_metadata] if args.key?(:create_version_metadata)
1372
+ @end_time = args[:end_time] if args.key?(:end_time)
1373
+ @ephemeral_message = args[:ephemeral_message] if args.key?(:ephemeral_message)
1374
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
1375
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
1376
+ @target = args[:target] if args.key?(:target)
1377
+ @user = args[:user] if args.key?(:user)
1378
+ @warning = args[:warning] if args.key?(:warning)
1379
+ end
1380
+ end
1381
+
1382
+ # Metadata for the given google.longrunning.Operation.
1383
+ class OperationMetadataV1Alpha
1384
+ include Google::Apis::Core::Hashable
1385
+
1386
+ # Metadata for the given google.longrunning.Operation during a google.appengine.
1387
+ # v1alpha.CreateVersionRequest.
1388
+ # Corresponds to the JSON property `createVersionMetadata`
1389
+ # @return [Google::Apis::AppengineV1beta5::CreateVersionMetadataV1Alpha]
1390
+ attr_accessor :create_version_metadata
1391
+
1392
+ # Time that this operation completed.@OutputOnly
1393
+ # Corresponds to the JSON property `endTime`
1394
+ # @return [String]
1395
+ attr_accessor :end_time
1396
+
1397
+ # Ephemeral message that may change every time the operation is polled. @
1398
+ # OutputOnly
1399
+ # Corresponds to the JSON property `ephemeralMessage`
1400
+ # @return [String]
1401
+ attr_accessor :ephemeral_message
1402
+
1403
+ # Time that this operation was created.@OutputOnly
1404
+ # Corresponds to the JSON property `insertTime`
1405
+ # @return [String]
1406
+ attr_accessor :insert_time
1407
+
1408
+ # API method that initiated this operation. Example: google.appengine.v1alpha.
1409
+ # Versions.CreateVersion.@OutputOnly
1410
+ # Corresponds to the JSON property `method`
1411
+ # @return [String]
1412
+ attr_accessor :method_prop
1413
+
1414
+ # Name of the resource that this operation is acting on. Example: apps/myapp/
1415
+ # services/default.@OutputOnly
1416
+ # Corresponds to the JSON property `target`
1417
+ # @return [String]
1418
+ attr_accessor :target
1419
+
1420
+ # User who requested this operation.@OutputOnly
1421
+ # Corresponds to the JSON property `user`
1422
+ # @return [String]
1423
+ attr_accessor :user
1424
+
1425
+ # Durable messages that persist on every operation poll. @OutputOnly
1426
+ # Corresponds to the JSON property `warning`
1427
+ # @return [Array<String>]
1428
+ attr_accessor :warning
1429
+
1430
+ def initialize(**args)
1431
+ update!(**args)
1432
+ end
1433
+
1434
+ # Update properties of this object
1435
+ def update!(**args)
1436
+ @create_version_metadata = args[:create_version_metadata] if args.key?(:create_version_metadata)
1437
+ @end_time = args[:end_time] if args.key?(:end_time)
1438
+ @ephemeral_message = args[:ephemeral_message] if args.key?(:ephemeral_message)
1439
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
1440
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
1441
+ @target = args[:target] if args.key?(:target)
1442
+ @user = args[:user] if args.key?(:user)
1443
+ @warning = args[:warning] if args.key?(:warning)
1444
+ end
1445
+ end
1446
+
1447
+ # Metadata for the given google.longrunning.Operation.
1448
+ class OperationMetadataV1Beta
1449
+ include Google::Apis::Core::Hashable
1450
+
1451
+ # Metadata for the given google.longrunning.Operation during a google.appengine.
1452
+ # v1beta.CreateVersionRequest.
1453
+ # Corresponds to the JSON property `createVersionMetadata`
1454
+ # @return [Google::Apis::AppengineV1beta5::CreateVersionMetadataV1Beta]
1455
+ attr_accessor :create_version_metadata
1456
+
1457
+ # Time that this operation completed.@OutputOnly
1458
+ # Corresponds to the JSON property `endTime`
1459
+ # @return [String]
1460
+ attr_accessor :end_time
1461
+
1462
+ # Ephemeral message that may change every time the operation is polled. @
1463
+ # OutputOnly
1464
+ # Corresponds to the JSON property `ephemeralMessage`
1465
+ # @return [String]
1466
+ attr_accessor :ephemeral_message
1467
+
1468
+ # Time that this operation was created.@OutputOnly
1469
+ # Corresponds to the JSON property `insertTime`
1470
+ # @return [String]
1471
+ attr_accessor :insert_time
1472
+
1473
+ # API method that initiated this operation. Example: google.appengine.v1beta.
1474
+ # Versions.CreateVersion.@OutputOnly
1475
+ # Corresponds to the JSON property `method`
1476
+ # @return [String]
1477
+ attr_accessor :method_prop
1478
+
1479
+ # Name of the resource that this operation is acting on. Example: apps/myapp/
1480
+ # services/default.@OutputOnly
1481
+ # Corresponds to the JSON property `target`
1482
+ # @return [String]
1483
+ attr_accessor :target
1484
+
1485
+ # User who requested this operation.@OutputOnly
1486
+ # Corresponds to the JSON property `user`
1487
+ # @return [String]
1488
+ attr_accessor :user
1489
+
1490
+ # Durable messages that persist on every operation poll. @OutputOnly
1491
+ # Corresponds to the JSON property `warning`
1492
+ # @return [Array<String>]
1493
+ attr_accessor :warning
1494
+
1495
+ def initialize(**args)
1496
+ update!(**args)
1497
+ end
1498
+
1499
+ # Update properties of this object
1500
+ def update!(**args)
1501
+ @create_version_metadata = args[:create_version_metadata] if args.key?(:create_version_metadata)
1502
+ @end_time = args[:end_time] if args.key?(:end_time)
1503
+ @ephemeral_message = args[:ephemeral_message] if args.key?(:ephemeral_message)
1504
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
1505
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
1506
+ @target = args[:target] if args.key?(:target)
1507
+ @user = args[:user] if args.key?(:user)
1508
+ @warning = args[:warning] if args.key?(:warning)
1509
+ end
1510
+ end
1511
+
1512
+ # Metadata for the given google.longrunning.Operation.
1513
+ class OperationMetadataV1Beta5
1514
+ include Google::Apis::Core::Hashable
1515
+
1516
+ # Timestamp that this operation completed.@OutputOnly
1517
+ # Corresponds to the JSON property `endTime`
1518
+ # @return [String]
1519
+ attr_accessor :end_time
1520
+
1521
+ # Timestamp that this operation was created.@OutputOnly
1522
+ # Corresponds to the JSON property `insertTime`
1523
+ # @return [String]
1524
+ attr_accessor :insert_time
1525
+
1526
+ # API method name that initiated this operation. Example: google.appengine.
1527
+ # v1beta5.Version.CreateVersion.@OutputOnly
1528
+ # Corresponds to the JSON property `method`
1529
+ # @return [String]
1530
+ attr_accessor :method_prop
1531
+
1532
+ # Name of the resource that this operation is acting on. Example: apps/myapp/
1533
+ # services/default.@OutputOnly
1534
+ # Corresponds to the JSON property `target`
1535
+ # @return [String]
1536
+ attr_accessor :target
1537
+
1538
+ # User who requested this operation.@OutputOnly
1539
+ # Corresponds to the JSON property `user`
1540
+ # @return [String]
1541
+ attr_accessor :user
1542
+
1543
+ def initialize(**args)
1544
+ update!(**args)
1545
+ end
1546
+
1547
+ # Update properties of this object
1548
+ def update!(**args)
1549
+ @end_time = args[:end_time] if args.key?(:end_time)
1550
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
1551
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
1552
+ @target = args[:target] if args.key?(:target)
1553
+ @user = args[:user] if args.key?(:user)
1554
+ end
1555
+ end
1556
+
1557
+ # Target scaling by request utilization. Only applicable for VM runtimes.
1558
+ class RequestUtilization
1559
+ include Google::Apis::Core::Hashable
1560
+
1561
+ # Target number of concurrent requests.
1562
+ # Corresponds to the JSON property `targetConcurrentRequests`
1563
+ # @return [Fixnum]
1564
+ attr_accessor :target_concurrent_requests
1565
+
1566
+ # Target requests per second.
1567
+ # Corresponds to the JSON property `targetRequestCountPerSec`
1568
+ # @return [Fixnum]
1569
+ attr_accessor :target_request_count_per_sec
1570
+
1571
+ def initialize(**args)
1572
+ update!(**args)
1573
+ end
1574
+
1575
+ # Update properties of this object
1576
+ def update!(**args)
1577
+ @target_concurrent_requests = args[:target_concurrent_requests] if args.key?(:target_concurrent_requests)
1578
+ @target_request_count_per_sec = args[:target_request_count_per_sec] if args.key?(:target_request_count_per_sec)
1579
+ end
1580
+ end
1581
+
1582
+ # Machine resources for a version.
1583
+ class Resources
1584
+ include Google::Apis::Core::Hashable
1585
+
1586
+ # Number of CPU cores needed.
1587
+ # Corresponds to the JSON property `cpu`
1588
+ # @return [Float]
1589
+ attr_accessor :cpu
1590
+
1591
+ # Disk size (GB) needed.
1592
+ # Corresponds to the JSON property `diskGb`
1593
+ # @return [Float]
1594
+ attr_accessor :disk_gb
1595
+
1596
+ # Memory (GB) needed.
1597
+ # Corresponds to the JSON property `memoryGb`
1598
+ # @return [Float]
1599
+ attr_accessor :memory_gb
1600
+
1601
+ # Volumes mounted within the app container.
1602
+ # Corresponds to the JSON property `volumes`
1603
+ # @return [Array<Google::Apis::AppengineV1beta5::Volume>]
1604
+ attr_accessor :volumes
1605
+
1606
+ def initialize(**args)
1607
+ update!(**args)
1608
+ end
1609
+
1610
+ # Update properties of this object
1611
+ def update!(**args)
1612
+ @cpu = args[:cpu] if args.key?(:cpu)
1613
+ @disk_gb = args[:disk_gb] if args.key?(:disk_gb)
1614
+ @memory_gb = args[:memory_gb] if args.key?(:memory_gb)
1615
+ @volumes = args[:volumes] if args.key?(:volumes)
1616
+ end
1617
+ end
1618
+
1619
+ # Executes a script to handle the request that matches the URL pattern.
1620
+ class ScriptHandler
1621
+ include Google::Apis::Core::Hashable
1622
+
1623
+ # Path to the script from the application root directory.
1624
+ # Corresponds to the JSON property `scriptPath`
1625
+ # @return [String]
1626
+ attr_accessor :script_path
1627
+
1628
+ def initialize(**args)
1629
+ update!(**args)
1630
+ end
1631
+
1632
+ # Update properties of this object
1633
+ def update!(**args)
1634
+ @script_path = args[:script_path] if args.key?(:script_path)
1635
+ end
1636
+ end
1637
+
1638
+ # A Service resource is a logical component of an application that can share
1639
+ # state and communicate in a secure fashion with other services. For example, an
1640
+ # application that handles customer requests might include separate services to
1641
+ # handle other tasks such as API requests from mobile devices or backend data
1642
+ # analysis. Each service has a collection of versions that define a specific set
1643
+ # of code used to implement the functionality of that service.
1644
+ class Service
1645
+ include Google::Apis::Core::Hashable
1646
+
1647
+ # Relative name of the service within the application. Example: default.@
1648
+ # OutputOnly
1649
+ # Corresponds to the JSON property `id`
1650
+ # @return [String]
1651
+ attr_accessor :id
1652
+
1653
+ # Full path to the Service resource in the API. Example: apps/myapp/services/
1654
+ # default.@OutputOnly
1655
+ # Corresponds to the JSON property `name`
1656
+ # @return [String]
1657
+ attr_accessor :name
1658
+
1659
+ # Traffic routing configuration for versions within a single service. Traffic
1660
+ # splits define how traffic directed to the service is assigned to versions.
1661
+ # Corresponds to the JSON property `split`
1662
+ # @return [Google::Apis::AppengineV1beta5::TrafficSplit]
1663
+ attr_accessor :split
1664
+
1665
+ def initialize(**args)
1666
+ update!(**args)
1667
+ end
1668
+
1669
+ # Update properties of this object
1670
+ def update!(**args)
1671
+ @id = args[:id] if args.key?(:id)
1672
+ @name = args[:name] if args.key?(:name)
1673
+ @split = args[:split] if args.key?(:split)
1674
+ end
1675
+ end
1676
+
1677
+ # Reference to a particular snapshot of the source tree used to build and deploy
1678
+ # the application.
1679
+ class SourceReference
1680
+ include Google::Apis::Core::Hashable
1681
+
1682
+ # URI string identifying the repository. Example: "https://source.developers.
1683
+ # google.com/p/app-123/r/default"
1684
+ # Corresponds to the JSON property `repository`
1685
+ # @return [String]
1686
+ attr_accessor :repository
1687
+
1688
+ # The canonical, persistent identifier of the deployed revision. Aliases that
1689
+ # include tags or branch names are not allowed. Example (git): "
1690
+ # 2198322f89e0bb2e25021667c2ed489d1fd34e6b"
1691
+ # Corresponds to the JSON property `revisionId`
1692
+ # @return [String]
1693
+ attr_accessor :revision_id
1694
+
1695
+ def initialize(**args)
1696
+ update!(**args)
1697
+ end
1698
+
1699
+ # Update properties of this object
1700
+ def update!(**args)
1701
+ @repository = args[:repository] if args.key?(:repository)
1702
+ @revision_id = args[:revision_id] if args.key?(:revision_id)
1703
+ end
1704
+ end
1705
+
1706
+ # Files served directly to the user for a given URL, such as images, CSS
1707
+ # stylesheets, or JavaScript source files. Static file handlers describe which
1708
+ # files in the application directory are static files, and which URLs serve them.
1709
+ class StaticFilesHandler
1710
+ include Google::Apis::Core::Hashable
1711
+
1712
+ # Whether files should also be uploaded as code data. By default, files declared
1713
+ # in static file handlers are uploaded as static data and are only served to end
1714
+ # users; they cannot be read by the application. If enabled, uploads are charged
1715
+ # against both your code and static data storage resource quotas.
1716
+ # Corresponds to the JSON property `applicationReadable`
1717
+ # @return [Boolean]
1718
+ attr_accessor :application_readable
1719
+ alias_method :application_readable?, :application_readable
1720
+
1721
+ # Time a static file served by this handler should be cached.
1722
+ # Corresponds to the JSON property `expiration`
1723
+ # @return [String]
1724
+ attr_accessor :expiration
1725
+
1726
+ # HTTP headers to use for all responses from these URLs.
1727
+ # Corresponds to the JSON property `httpHeaders`
1728
+ # @return [Hash<String,String>]
1729
+ attr_accessor :http_headers
1730
+
1731
+ # MIME type used to serve all files served by this handler. Defaults to file-
1732
+ # specific MIME types, which are derived from each file's filename extension.
1733
+ # Corresponds to the JSON property `mimeType`
1734
+ # @return [String]
1735
+ attr_accessor :mime_type
1736
+
1737
+ # Path to the static files matched by the URL pattern, from the application root
1738
+ # directory. The path can refer to text matched in groupings in the URL pattern.
1739
+ # Corresponds to the JSON property `path`
1740
+ # @return [String]
1741
+ attr_accessor :path
1742
+
1743
+ # Whether this handler should match the request if the file referenced by the
1744
+ # handler does not exist.
1745
+ # Corresponds to the JSON property `requireMatchingFile`
1746
+ # @return [Boolean]
1747
+ attr_accessor :require_matching_file
1748
+ alias_method :require_matching_file?, :require_matching_file
1749
+
1750
+ # Regular expression that matches the file paths for all files that should be
1751
+ # referenced by this handler.
1752
+ # Corresponds to the JSON property `uploadPathRegex`
1753
+ # @return [String]
1754
+ attr_accessor :upload_path_regex
1755
+
1756
+ def initialize(**args)
1757
+ update!(**args)
1758
+ end
1759
+
1760
+ # Update properties of this object
1761
+ def update!(**args)
1762
+ @application_readable = args[:application_readable] if args.key?(:application_readable)
1763
+ @expiration = args[:expiration] if args.key?(:expiration)
1764
+ @http_headers = args[:http_headers] if args.key?(:http_headers)
1765
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
1766
+ @path = args[:path] if args.key?(:path)
1767
+ @require_matching_file = args[:require_matching_file] if args.key?(:require_matching_file)
1768
+ @upload_path_regex = args[:upload_path_regex] if args.key?(:upload_path_regex)
1769
+ end
1770
+ end
1771
+
1772
+ # The Status type defines a logical error model that is suitable for different
1773
+ # programming environments, including REST APIs and RPC APIs. It is used by gRPC
1774
+ # (https://github.com/grpc). The error model is designed to be:
1775
+ # Simple to use and understand for most users
1776
+ # Flexible enough to meet unexpected needsOverviewThe Status message contains
1777
+ # three pieces of data: error code, error message, and error details. The error
1778
+ # code should be an enum value of google.rpc.Code, but it may accept additional
1779
+ # error codes if needed. The error message should be a developer-facing English
1780
+ # message that helps developers understand and resolve the error. If a localized
1781
+ # user-facing error message is needed, put the localized message in the error
1782
+ # details or localize it in the client. The optional error details may contain
1783
+ # arbitrary information about the error. There is a predefined set of error
1784
+ # detail types in the package google.rpc that can be used for common error
1785
+ # conditions.Language mappingThe Status message is the logical representation of
1786
+ # the error model, but it is not necessarily the actual wire format. When the
1787
+ # Status message is exposed in different client libraries and different wire
1788
+ # protocols, it can be mapped differently. For example, it will likely be mapped
1789
+ # to some exceptions in Java, but more likely mapped to some error codes in C.
1790
+ # Other usesThe error model and the Status message can be used in a variety of
1791
+ # environments, either with or without APIs, to provide a consistent developer
1792
+ # experience across different environments.Example uses of this error model
1793
+ # include:
1794
+ # Partial errors. If a service needs to return partial errors to the client, it
1795
+ # may embed the Status in the normal response to indicate the partial errors.
1796
+ # Workflow errors. A typical workflow has multiple steps. Each step may have a
1797
+ # Status message for error reporting.
1798
+ # Batch operations. If a client uses batch request and batch response, the
1799
+ # Status message should be used directly inside batch response, one for each
1800
+ # error sub-response.
1801
+ # Asynchronous operations. If an API call embeds asynchronous operation results
1802
+ # in its response, the status of those operations should be represented directly
1803
+ # using the Status message.
1804
+ # Logging. If some API errors are stored in logs, the message Status could be
1805
+ # used directly after any stripping needed for security/privacy reasons.
1806
+ class Status
1807
+ include Google::Apis::Core::Hashable
1808
+
1809
+ # The status code, which should be an enum value of google.rpc.Code.
1810
+ # Corresponds to the JSON property `code`
1811
+ # @return [Fixnum]
1812
+ attr_accessor :code
1813
+
1814
+ # A list of messages that carry the error details. There is a common set of
1815
+ # message types for APIs to use.
1816
+ # Corresponds to the JSON property `details`
1817
+ # @return [Array<Hash<String,Object>>]
1818
+ attr_accessor :details
1819
+
1820
+ # A developer-facing error message, which should be in English. Any user-facing
1821
+ # error message should be localized and sent in the google.rpc.Status.details
1822
+ # field, or localized by the client.
1823
+ # Corresponds to the JSON property `message`
1824
+ # @return [String]
1825
+ attr_accessor :message
1826
+
1827
+ def initialize(**args)
1828
+ update!(**args)
1829
+ end
1830
+
1831
+ # Update properties of this object
1832
+ def update!(**args)
1833
+ @code = args[:code] if args.key?(:code)
1834
+ @details = args[:details] if args.key?(:details)
1835
+ @message = args[:message] if args.key?(:message)
1836
+ end
1837
+ end
1838
+
1839
+ # Traffic routing configuration for versions within a single service. Traffic
1840
+ # splits define how traffic directed to the service is assigned to versions.
1841
+ class TrafficSplit
1842
+ include Google::Apis::Core::Hashable
1843
+
1844
+ # Mapping from version IDs within the service to fractional (0.000, 1]
1845
+ # allocations of traffic for that version. Each version can be specified only
1846
+ # once, but some versions in the service may not have any traffic allocation.
1847
+ # Services that have traffic allocated cannot be deleted until either the
1848
+ # service is deleted or their traffic allocation is removed. Allocations must
1849
+ # sum to 1. Up to two decimal place precision is supported for IP-based splits
1850
+ # and up to three decimal places is supported for cookie-based splits.
1851
+ # Corresponds to the JSON property `allocations`
1852
+ # @return [Hash<String,Float>]
1853
+ attr_accessor :allocations
1854
+
1855
+ # Mechanism used to determine which version a request is sent to. The traffic
1856
+ # selection algorithm will be stable for either type until allocations are
1857
+ # changed.
1858
+ # Corresponds to the JSON property `shardBy`
1859
+ # @return [String]
1860
+ attr_accessor :shard_by
1861
+
1862
+ def initialize(**args)
1863
+ update!(**args)
1864
+ end
1865
+
1866
+ # Update properties of this object
1867
+ def update!(**args)
1868
+ @allocations = args[:allocations] if args.key?(:allocations)
1869
+ @shard_by = args[:shard_by] if args.key?(:shard_by)
1870
+ end
1871
+ end
1872
+
1873
+ # Rules to match an HTTP request and dispatch that request to a service.
1874
+ class UrlDispatchRule
1875
+ include Google::Apis::Core::Hashable
1876
+
1877
+ # Domain name to match against. The wildcard "*" is supported if specified
1878
+ # before a period: "*.".Defaults to matching all domains: "*".
1879
+ # Corresponds to the JSON property `domain`
1880
+ # @return [String]
1881
+ attr_accessor :domain
1882
+
1883
+ # Pathname within the host. Must start with a "/". A single "*" can be included
1884
+ # at the end of the path. The sum of the lengths of the domain and path may not
1885
+ # exceed 100 characters.
1886
+ # Corresponds to the JSON property `path`
1887
+ # @return [String]
1888
+ attr_accessor :path
1889
+
1890
+ # Resource id of a service in this application that should serve the matched
1891
+ # request. The service must already exist. Example: default.
1892
+ # Corresponds to the JSON property `service`
1893
+ # @return [String]
1894
+ attr_accessor :service
1895
+
1896
+ def initialize(**args)
1897
+ update!(**args)
1898
+ end
1899
+
1900
+ # Update properties of this object
1901
+ def update!(**args)
1902
+ @domain = args[:domain] if args.key?(:domain)
1903
+ @path = args[:path] if args.key?(:path)
1904
+ @service = args[:service] if args.key?(:service)
1905
+ end
1906
+ end
1907
+
1908
+ # URL pattern and description of how the URL should be handled. App Engine can
1909
+ # handle URLs by executing application code, or by serving static files uploaded
1910
+ # with the version, such as images, CSS, or JavaScript.
1911
+ class UrlMap
1912
+ include Google::Apis::Core::Hashable
1913
+
1914
+ # Uses Google Cloud Endpoints to handle requests.
1915
+ # Corresponds to the JSON property `apiEndpoint`
1916
+ # @return [Google::Apis::AppengineV1beta5::ApiEndpointHandler]
1917
+ attr_accessor :api_endpoint
1918
+
1919
+ # Action to take when users access resources that require authentication.
1920
+ # Defaults to redirect.
1921
+ # Corresponds to the JSON property `authFailAction`
1922
+ # @return [String]
1923
+ attr_accessor :auth_fail_action
1924
+
1925
+ # Level of login required to access this resource.
1926
+ # Corresponds to the JSON property `login`
1927
+ # @return [String]
1928
+ attr_accessor :login
1929
+
1930
+ # 30x code to use when performing redirects for the secure field. Defaults to
1931
+ # 302.
1932
+ # Corresponds to the JSON property `redirectHttpResponseCode`
1933
+ # @return [String]
1934
+ attr_accessor :redirect_http_response_code
1935
+
1936
+ # Executes a script to handle the request that matches the URL pattern.
1937
+ # Corresponds to the JSON property `script`
1938
+ # @return [Google::Apis::AppengineV1beta5::ScriptHandler]
1939
+ attr_accessor :script
1940
+
1941
+ # Security (HTTPS) enforcement for this URL.
1942
+ # Corresponds to the JSON property `securityLevel`
1943
+ # @return [String]
1944
+ attr_accessor :security_level
1945
+
1946
+ # Files served directly to the user for a given URL, such as images, CSS
1947
+ # stylesheets, or JavaScript source files. Static file handlers describe which
1948
+ # files in the application directory are static files, and which URLs serve them.
1949
+ # Corresponds to the JSON property `staticFiles`
1950
+ # @return [Google::Apis::AppengineV1beta5::StaticFilesHandler]
1951
+ attr_accessor :static_files
1952
+
1953
+ # A URL prefix. Uses regular expression syntax, which means regexp special
1954
+ # characters must be escaped, but should not contain groupings. All URLs that
1955
+ # begin with this prefix are handled by this handler, using the portion of the
1956
+ # URL after the prefix as part of the file path.
1957
+ # Corresponds to the JSON property `urlRegex`
1958
+ # @return [String]
1959
+ attr_accessor :url_regex
1960
+
1961
+ def initialize(**args)
1962
+ update!(**args)
1963
+ end
1964
+
1965
+ # Update properties of this object
1966
+ def update!(**args)
1967
+ @api_endpoint = args[:api_endpoint] if args.key?(:api_endpoint)
1968
+ @auth_fail_action = args[:auth_fail_action] if args.key?(:auth_fail_action)
1969
+ @login = args[:login] if args.key?(:login)
1970
+ @redirect_http_response_code = args[:redirect_http_response_code] if args.key?(:redirect_http_response_code)
1971
+ @script = args[:script] if args.key?(:script)
1972
+ @security_level = args[:security_level] if args.key?(:security_level)
1973
+ @static_files = args[:static_files] if args.key?(:static_files)
1974
+ @url_regex = args[:url_regex] if args.key?(:url_regex)
1975
+ end
1976
+ end
1977
+
1978
+ # A Version resource is a specific set of source code and configuration files
1979
+ # that are deployed into a service.
1980
+ class Version
1981
+ include Google::Apis::Core::Hashable
1982
+
1983
+ # Google Cloud Endpoints (https://cloud.google.com/appengine/docs/python/
1984
+ # endpoints/) configuration for API handlers.
1985
+ # Corresponds to the JSON property `apiConfig`
1986
+ # @return [Google::Apis::AppengineV1beta5::ApiConfigHandler]
1987
+ attr_accessor :api_config
1988
+
1989
+ # Automatic scaling is based on request rate, response latencies, and other
1990
+ # application metrics.
1991
+ # Corresponds to the JSON property `automaticScaling`
1992
+ # @return [Google::Apis::AppengineV1beta5::AutomaticScaling]
1993
+ attr_accessor :automatic_scaling
1994
+
1995
+ # A service with basic scaling will create an instance when the application
1996
+ # receives a request. The instance will be turned down when the app becomes idle.
1997
+ # Basic scaling is ideal for work that is intermittent or driven by user
1998
+ # activity.
1999
+ # Corresponds to the JSON property `basicScaling`
2000
+ # @return [Google::Apis::AppengineV1beta5::BasicScaling]
2001
+ attr_accessor :basic_scaling
2002
+
2003
+ # Metadata settings that are supplied to this version to enable beta runtime
2004
+ # features.
2005
+ # Corresponds to the JSON property `betaSettings`
2006
+ # @return [Hash<String,String>]
2007
+ attr_accessor :beta_settings
2008
+
2009
+ # Time that this version was created.@OutputOnly
2010
+ # Corresponds to the JSON property `creationTime`
2011
+ # @return [String]
2012
+ attr_accessor :creation_time
2013
+
2014
+ # Duration that static files should be cached by web proxies and browsers. Only
2015
+ # applicable if the corresponding StaticFilesHandler (https://cloud.google.com/
2016
+ # appengine/docs/admin-api/reference/rest/v1/apps.services.versions#
2017
+ # staticfileshandler) does not specify its own expiration time.Only returned in
2018
+ # GET requests if view=FULL is set.
2019
+ # Corresponds to the JSON property `defaultExpiration`
2020
+ # @return [String]
2021
+ attr_accessor :default_expiration
2022
+
2023
+ # Email address of the user who created this version.@OutputOnly
2024
+ # Corresponds to the JSON property `deployer`
2025
+ # @return [String]
2026
+ attr_accessor :deployer
2027
+
2028
+ # Code and application artifacts used to deploy a version to App Engine.
2029
+ # Corresponds to the JSON property `deployment`
2030
+ # @return [Google::Apis::AppengineV1beta5::Deployment]
2031
+ attr_accessor :deployment
2032
+
2033
+ # Total size of version files hosted on App Engine disk in bytes.@OutputOnly
2034
+ # Corresponds to the JSON property `diskUsageBytes`
2035
+ # @return [Fixnum]
2036
+ attr_accessor :disk_usage_bytes
2037
+
2038
+ # Cloud Endpoints (https://cloud.google.com/endpoints) configuration. The
2039
+ # Endpoints API Service provides tooling for serving Open API and gRPC endpoints
2040
+ # via an NGINX proxy. Only valid for App Engine Flexible environment deployments.
2041
+ # The fields here refer to the name and configuration id of a "service" resource
2042
+ # in the Service Management API (https://cloud.google.com/service-management/
2043
+ # overview).
2044
+ # Corresponds to the JSON property `endpointsApiService`
2045
+ # @return [Google::Apis::AppengineV1beta5::EndpointsApiService]
2046
+ attr_accessor :endpoints_api_service
2047
+
2048
+ # App Engine execution environment to use for this version.Defaults to 1.
2049
+ # Corresponds to the JSON property `env`
2050
+ # @return [String]
2051
+ attr_accessor :env
2052
+
2053
+ # Environment variables made available to the application.Only returned in GET
2054
+ # requests if view=FULL is set.
2055
+ # Corresponds to the JSON property `envVariables`
2056
+ # @return [Hash<String,String>]
2057
+ attr_accessor :env_variables
2058
+
2059
+ # Custom static error pages. Limited to 10KB per page.Only returned in GET
2060
+ # requests if view=FULL is set.
2061
+ # Corresponds to the JSON property `errorHandlers`
2062
+ # @return [Array<Google::Apis::AppengineV1beta5::ErrorHandler>]
2063
+ attr_accessor :error_handlers
2064
+
2065
+ # An ordered list of URL-matching patterns that should be applied to incoming
2066
+ # requests. The first matching URL handles the request and other request
2067
+ # handlers are not attempted.Only returned in GET requests if view=FULL is set.
2068
+ # Corresponds to the JSON property `handlers`
2069
+ # @return [Array<Google::Apis::AppengineV1beta5::UrlMap>]
2070
+ attr_accessor :handlers
2071
+
2072
+ # Health checking configuration for VM instances. Unhealthy instances are killed
2073
+ # and replaced with new instances. Only applicable for instances in App Engine
2074
+ # flexible environment.
2075
+ # Corresponds to the JSON property `healthCheck`
2076
+ # @return [Google::Apis::AppengineV1beta5::HealthCheck]
2077
+ attr_accessor :health_check
2078
+
2079
+ # Relative name of the version within the module. Example: v1. Version names can
2080
+ # contain only lowercase letters, numbers, or hyphens. Reserved names: "default",
2081
+ # "latest", and any name with the prefix "ah-".
2082
+ # Corresponds to the JSON property `id`
2083
+ # @return [String]
2084
+ attr_accessor :id
2085
+
2086
+ # Before an application can receive email or XMPP messages, the application must
2087
+ # be configured to enable the service.
2088
+ # Corresponds to the JSON property `inboundServices`
2089
+ # @return [Array<String>]
2090
+ attr_accessor :inbound_services
2091
+
2092
+ # Instance class that is used to run this version. Valid values are:
2093
+ # AutomaticScaling: F1, F2, F4, F4_1G
2094
+ # ManualScaling or BasicScaling: B1, B2, B4, B8, B4_1GDefaults to F1 for
2095
+ # AutomaticScaling and B1 for ManualScaling or BasicScaling.
2096
+ # Corresponds to the JSON property `instanceClass`
2097
+ # @return [String]
2098
+ attr_accessor :instance_class
2099
+
2100
+ # Configuration for third-party Python runtime libraries required by the
2101
+ # application.Only returned in GET requests if view=FULL is set.
2102
+ # Corresponds to the JSON property `libraries`
2103
+ # @return [Array<Google::Apis::AppengineV1beta5::Library>]
2104
+ attr_accessor :libraries
2105
+
2106
+ # A service with manual scaling runs continuously, allowing you to perform
2107
+ # complex initialization and rely on the state of its memory over time.
2108
+ # Corresponds to the JSON property `manualScaling`
2109
+ # @return [Google::Apis::AppengineV1beta5::ManualScaling]
2110
+ attr_accessor :manual_scaling
2111
+
2112
+ # Full path to the Version resource in the API. Example: apps/myapp/services/
2113
+ # default/versions/v1.@OutputOnly
2114
+ # Corresponds to the JSON property `name`
2115
+ # @return [String]
2116
+ attr_accessor :name
2117
+
2118
+ # Extra network settings. Only applicable for VM runtimes.
2119
+ # Corresponds to the JSON property `network`
2120
+ # @return [Google::Apis::AppengineV1beta5::Network]
2121
+ attr_accessor :network
2122
+
2123
+ # Files that match this pattern will not be built into this version. Only
2124
+ # applicable for Go runtimes.Only returned in GET requests if view=FULL is set.
2125
+ # Corresponds to the JSON property `nobuildFilesRegex`
2126
+ # @return [String]
2127
+ attr_accessor :nobuild_files_regex
2128
+
2129
+ # Machine resources for a version.
2130
+ # Corresponds to the JSON property `resources`
2131
+ # @return [Google::Apis::AppengineV1beta5::Resources]
2132
+ attr_accessor :resources
2133
+
2134
+ # Desired runtime. Example: python27.
2135
+ # Corresponds to the JSON property `runtime`
2136
+ # @return [String]
2137
+ attr_accessor :runtime
2138
+
2139
+ # The version of the API in the given runtime environment. Please see the app.
2140
+ # yaml reference for valid values at https://cloud.google.com/appengine/docs/
2141
+ # standard/<language>/config/appref
2142
+ # Corresponds to the JSON property `runtimeApiVersion`
2143
+ # @return [String]
2144
+ attr_accessor :runtime_api_version
2145
+
2146
+ # The path or name of the app's main executable.
2147
+ # Corresponds to the JSON property `runtimeMainExecutablePath`
2148
+ # @return [String]
2149
+ attr_accessor :runtime_main_executable_path
2150
+
2151
+ # Current serving status of this version. Only the versions with a SERVING
2152
+ # status create instances and can be billed.SERVING_STATUS_UNSPECIFIED is an
2153
+ # invalid value. Defaults to SERVING.
2154
+ # Corresponds to the JSON property `servingStatus`
2155
+ # @return [String]
2156
+ attr_accessor :serving_status
2157
+
2158
+ # Whether multiple requests can be dispatched to this version at once.
2159
+ # Corresponds to the JSON property `threadsafe`
2160
+ # @return [Boolean]
2161
+ attr_accessor :threadsafe
2162
+ alias_method :threadsafe?, :threadsafe
2163
+
2164
+ # Whether to deploy this version in a container on a virtual machine.
2165
+ # Corresponds to the JSON property `vm`
2166
+ # @return [Boolean]
2167
+ attr_accessor :vm
2168
+ alias_method :vm?, :vm
2169
+
2170
+ def initialize(**args)
2171
+ update!(**args)
2172
+ end
2173
+
2174
+ # Update properties of this object
2175
+ def update!(**args)
2176
+ @api_config = args[:api_config] if args.key?(:api_config)
2177
+ @automatic_scaling = args[:automatic_scaling] if args.key?(:automatic_scaling)
2178
+ @basic_scaling = args[:basic_scaling] if args.key?(:basic_scaling)
2179
+ @beta_settings = args[:beta_settings] if args.key?(:beta_settings)
2180
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
2181
+ @default_expiration = args[:default_expiration] if args.key?(:default_expiration)
2182
+ @deployer = args[:deployer] if args.key?(:deployer)
2183
+ @deployment = args[:deployment] if args.key?(:deployment)
2184
+ @disk_usage_bytes = args[:disk_usage_bytes] if args.key?(:disk_usage_bytes)
2185
+ @endpoints_api_service = args[:endpoints_api_service] if args.key?(:endpoints_api_service)
2186
+ @env = args[:env] if args.key?(:env)
2187
+ @env_variables = args[:env_variables] if args.key?(:env_variables)
2188
+ @error_handlers = args[:error_handlers] if args.key?(:error_handlers)
2189
+ @handlers = args[:handlers] if args.key?(:handlers)
2190
+ @health_check = args[:health_check] if args.key?(:health_check)
2191
+ @id = args[:id] if args.key?(:id)
2192
+ @inbound_services = args[:inbound_services] if args.key?(:inbound_services)
2193
+ @instance_class = args[:instance_class] if args.key?(:instance_class)
2194
+ @libraries = args[:libraries] if args.key?(:libraries)
2195
+ @manual_scaling = args[:manual_scaling] if args.key?(:manual_scaling)
2196
+ @name = args[:name] if args.key?(:name)
2197
+ @network = args[:network] if args.key?(:network)
2198
+ @nobuild_files_regex = args[:nobuild_files_regex] if args.key?(:nobuild_files_regex)
2199
+ @resources = args[:resources] if args.key?(:resources)
2200
+ @runtime = args[:runtime] if args.key?(:runtime)
2201
+ @runtime_api_version = args[:runtime_api_version] if args.key?(:runtime_api_version)
2202
+ @runtime_main_executable_path = args[:runtime_main_executable_path] if args.key?(:runtime_main_executable_path)
2203
+ @serving_status = args[:serving_status] if args.key?(:serving_status)
2204
+ @threadsafe = args[:threadsafe] if args.key?(:threadsafe)
2205
+ @vm = args[:vm] if args.key?(:vm)
2206
+ end
2207
+ end
2208
+
2209
+ # Volumes mounted within the app container. Only applicable for VM runtimes.
2210
+ class Volume
2211
+ include Google::Apis::Core::Hashable
2212
+
2213
+ # Unique name for the volume.
2214
+ # Corresponds to the JSON property `name`
2215
+ # @return [String]
2216
+ attr_accessor :name
2217
+
2218
+ # Volume size in gigabytes.
2219
+ # Corresponds to the JSON property `sizeGb`
2220
+ # @return [Float]
2221
+ attr_accessor :size_gb
2222
+
2223
+ # Underlying volume type, e.g. 'tmpfs'.
2224
+ # Corresponds to the JSON property `volumeType`
2225
+ # @return [String]
2226
+ attr_accessor :volume_type
2227
+
2228
+ def initialize(**args)
2229
+ update!(**args)
2230
+ end
2231
+
2232
+ # Update properties of this object
2233
+ def update!(**args)
2234
+ @name = args[:name] if args.key?(:name)
2235
+ @size_gb = args[:size_gb] if args.key?(:size_gb)
2236
+ @volume_type = args[:volume_type] if args.key?(:volume_type)
2237
+ end
2238
+ end
2239
+ end
2240
+ end
2241
+ end