google-cloud-app_engine-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +139 -0
  6. data/lib/google-cloud-app_engine-v1.rb +21 -0
  7. data/lib/google/appengine/v1/app_yaml_pb.rb +137 -0
  8. data/lib/google/appengine/v1/appengine_pb.rb +261 -0
  9. data/lib/google/appengine/v1/appengine_services_pb.rb +313 -0
  10. data/lib/google/appengine/v1/application_pb.rb +69 -0
  11. data/lib/google/appengine/v1/audit_data_pb.rb +35 -0
  12. data/lib/google/appengine/v1/certificate_pb.rb +52 -0
  13. data/lib/google/appengine/v1/deploy_pb.rb +47 -0
  14. data/lib/google/appengine/v1/deployed_files_pb.rb +19 -0
  15. data/lib/google/appengine/v1/domain_mapping_pb.rb +51 -0
  16. data/lib/google/appengine/v1/domain_pb.rb +24 -0
  17. data/lib/google/appengine/v1/firewall_pb.rb +32 -0
  18. data/lib/google/appengine/v1/instance_pb.rb +45 -0
  19. data/lib/google/appengine/v1/location_pb.rb +24 -0
  20. data/lib/google/appengine/v1/network_settings_pb.rb +19 -0
  21. data/lib/google/appengine/v1/operation_pb.rb +37 -0
  22. data/lib/google/appengine/v1/service_pb.rb +37 -0
  23. data/lib/google/appengine/v1/version_pb.rb +183 -0
  24. data/lib/google/cloud/app_engine/v1.rb +45 -0
  25. data/lib/google/cloud/app_engine/v1/applications.rb +49 -0
  26. data/lib/google/cloud/app_engine/v1/applications/client.rb +624 -0
  27. data/lib/google/cloud/app_engine/v1/applications/credentials.rb +53 -0
  28. data/lib/google/cloud/app_engine/v1/applications/operations.rb +655 -0
  29. data/lib/google/cloud/app_engine/v1/authorized_certificates.rb +49 -0
  30. data/lib/google/cloud/app_engine/v1/authorized_certificates/client.rb +690 -0
  31. data/lib/google/cloud/app_engine/v1/authorized_certificates/credentials.rb +53 -0
  32. data/lib/google/cloud/app_engine/v1/authorized_domains.rb +50 -0
  33. data/lib/google/cloud/app_engine/v1/authorized_domains/client.rb +380 -0
  34. data/lib/google/cloud/app_engine/v1/authorized_domains/credentials.rb +53 -0
  35. data/lib/google/cloud/app_engine/v1/domain_mappings.rb +49 -0
  36. data/lib/google/cloud/app_engine/v1/domain_mappings/client.rb +705 -0
  37. data/lib/google/cloud/app_engine/v1/domain_mappings/credentials.rb +53 -0
  38. data/lib/google/cloud/app_engine/v1/domain_mappings/operations.rb +655 -0
  39. data/lib/google/cloud/app_engine/v1/firewall.rb +57 -0
  40. data/lib/google/cloud/app_engine/v1/firewall/client.rb +783 -0
  41. data/lib/google/cloud/app_engine/v1/firewall/credentials.rb +53 -0
  42. data/lib/google/cloud/app_engine/v1/instances.rb +49 -0
  43. data/lib/google/cloud/app_engine/v1/instances/client.rb +644 -0
  44. data/lib/google/cloud/app_engine/v1/instances/credentials.rb +53 -0
  45. data/lib/google/cloud/app_engine/v1/instances/operations.rb +655 -0
  46. data/lib/google/cloud/app_engine/v1/services.rb +49 -0
  47. data/lib/google/cloud/app_engine/v1/services/client.rb +629 -0
  48. data/lib/google/cloud/app_engine/v1/services/credentials.rb +53 -0
  49. data/lib/google/cloud/app_engine/v1/services/operations.rb +655 -0
  50. data/lib/google/cloud/app_engine/v1/version.rb +28 -0
  51. data/lib/google/cloud/app_engine/v1/versions.rb +49 -0
  52. data/lib/google/cloud/app_engine/v1/versions/client.rb +738 -0
  53. data/lib/google/cloud/app_engine/v1/versions/credentials.rb +53 -0
  54. data/lib/google/cloud/app_engine/v1/versions/operations.rb +655 -0
  55. data/proto_docs/README.md +4 -0
  56. data/proto_docs/google/api/resource.rb +283 -0
  57. data/proto_docs/google/appengine/v1/app_yaml.rb +379 -0
  58. data/proto_docs/google/appengine/v1/appengine.rb +639 -0
  59. data/proto_docs/google/appengine/v1/application.rb +192 -0
  60. data/proto_docs/google/appengine/v1/audit_data.rb +56 -0
  61. data/proto_docs/google/appengine/v1/certificate.rb +161 -0
  62. data/proto_docs/google/appengine/v1/deploy.rb +130 -0
  63. data/proto_docs/google/appengine/v1/domain.rb +42 -0
  64. data/proto_docs/google/appengine/v1/domain_mapping.rb +127 -0
  65. data/proto_docs/google/appengine/v1/firewall.rb +72 -0
  66. data/proto_docs/google/appengine/v1/instance.rb +98 -0
  67. data/proto_docs/google/appengine/v1/location.rb +38 -0
  68. data/proto_docs/google/appengine/v1/operation.rb +67 -0
  69. data/proto_docs/google/appengine/v1/service.rb +100 -0
  70. data/proto_docs/google/appengine/v1/version.rb +597 -0
  71. data/proto_docs/google/longrunning/operations.rb +164 -0
  72. data/proto_docs/google/protobuf/any.rb +141 -0
  73. data/proto_docs/google/protobuf/duration.rb +98 -0
  74. data/proto_docs/google/protobuf/empty.rb +36 -0
  75. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  76. data/proto_docs/google/protobuf/timestamp.rb +129 -0
  77. data/proto_docs/google/rpc/status.rb +46 -0
  78. metadata +261 -0
@@ -0,0 +1,100 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module AppEngine
23
+ module V1
24
+ # A Service resource is a logical component of an application that can share
25
+ # state and communicate in a secure fashion with other services.
26
+ # For example, an application that handles customer requests might
27
+ # include separate services to handle tasks such as backend data
28
+ # analysis or API requests from mobile devices. Each service has a
29
+ # collection of versions that define a specific set of code used to
30
+ # implement the functionality of that service.
31
+ # @!attribute [rw] name
32
+ # @return [::String]
33
+ # Full path to the Service resource in the API.
34
+ # Example: `apps/myapp/services/default`.
35
+ # @!attribute [rw] id
36
+ # @return [::String]
37
+ # Relative name of the service within the application.
38
+ # Example: `default`.
39
+ # @!attribute [rw] split
40
+ # @return [::Google::Cloud::AppEngine::V1::TrafficSplit]
41
+ # Mapping that defines fractional HTTP traffic diversion to
42
+ # different versions within the service.
43
+ class Service
44
+ include ::Google::Protobuf::MessageExts
45
+ extend ::Google::Protobuf::MessageExts::ClassMethods
46
+ end
47
+
48
+ # Traffic routing configuration for versions within a single service. Traffic
49
+ # splits define how traffic directed to the service is assigned to versions.
50
+ # @!attribute [rw] shard_by
51
+ # @return [::Google::Cloud::AppEngine::V1::TrafficSplit::ShardBy]
52
+ # Mechanism used to determine which version a request is sent to.
53
+ # The traffic selection algorithm will
54
+ # be stable for either type until allocations are changed.
55
+ # @!attribute [rw] allocations
56
+ # @return [::Google::Protobuf::Map{::String => ::Float}]
57
+ # Mapping from version IDs within the service to fractional
58
+ # (0.000, 1] allocations of traffic for that version. Each version can
59
+ # be specified only once, but some versions in the service may not
60
+ # have any traffic allocation. Services that have traffic allocated
61
+ # cannot be deleted until either the service is deleted or
62
+ # their traffic allocation is removed. Allocations must sum to 1.
63
+ # Up to two decimal place precision is supported for IP-based splits and
64
+ # up to three decimal places is supported for cookie-based splits.
65
+ class TrafficSplit
66
+ include ::Google::Protobuf::MessageExts
67
+ extend ::Google::Protobuf::MessageExts::ClassMethods
68
+
69
+ # @!attribute [rw] key
70
+ # @return [::String]
71
+ # @!attribute [rw] value
72
+ # @return [::Float]
73
+ class AllocationsEntry
74
+ include ::Google::Protobuf::MessageExts
75
+ extend ::Google::Protobuf::MessageExts::ClassMethods
76
+ end
77
+
78
+ # Available sharding mechanisms.
79
+ module ShardBy
80
+ # Diversion method unspecified.
81
+ UNSPECIFIED = 0
82
+
83
+ # Diversion based on a specially named cookie, "GOOGAPPUID." The cookie
84
+ # must be set by the application itself or no diversion will occur.
85
+ COOKIE = 1
86
+
87
+ # Diversion based on applying the modulus operation to a fingerprint
88
+ # of the IP address.
89
+ IP = 2
90
+
91
+ # Diversion based on weighted random assignment. An incoming request is
92
+ # randomly routed to a version in the traffic split, with probability
93
+ # proportional to the version's traffic share.
94
+ RANDOM = 3
95
+ end
96
+ end
97
+ end
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,597 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module AppEngine
23
+ module V1
24
+ # A Version resource is a specific set of source code and configuration files
25
+ # that are deployed into a service.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # Full path to the Version resource in the API. Example:
29
+ # `apps/myapp/services/default/versions/v1`.
30
+ # @!attribute [rw] id
31
+ # @return [::String]
32
+ # Relative name of the version within the service. Example: `v1`.
33
+ # Version names can contain only lowercase letters, numbers, or hyphens.
34
+ # Reserved names: "default", "latest", and any name with the prefix "ah-".
35
+ # @!attribute [rw] automatic_scaling
36
+ # @return [::Google::Cloud::AppEngine::V1::AutomaticScaling]
37
+ # Automatic scaling is based on request rate, response latencies, and other
38
+ # application metrics.
39
+ # @!attribute [rw] basic_scaling
40
+ # @return [::Google::Cloud::AppEngine::V1::BasicScaling]
41
+ # A service with basic scaling will create an instance when the application
42
+ # receives a request. The instance will be turned down when the app becomes
43
+ # idle. Basic scaling is ideal for work that is intermittent or driven by
44
+ # user activity.
45
+ # @!attribute [rw] manual_scaling
46
+ # @return [::Google::Cloud::AppEngine::V1::ManualScaling]
47
+ # A service with manual scaling runs continuously, allowing you to perform
48
+ # complex initialization and rely on the state of its memory over time.
49
+ # @!attribute [rw] inbound_services
50
+ # @return [::Array<::Google::Cloud::AppEngine::V1::InboundServiceType>]
51
+ # Before an application can receive email or XMPP messages, the application
52
+ # must be configured to enable the service.
53
+ # @!attribute [rw] instance_class
54
+ # @return [::String]
55
+ # Instance class that is used to run this version. Valid values are:
56
+ #
57
+ # * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G`
58
+ # * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G`
59
+ #
60
+ # Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or
61
+ # BasicScaling.
62
+ # @!attribute [rw] network
63
+ # @return [::Google::Cloud::AppEngine::V1::Network]
64
+ # Extra network settings.
65
+ # Only applicable in the App Engine flexible environment.
66
+ # @!attribute [rw] zones
67
+ # @return [::Array<::String>]
68
+ # The Google Compute Engine zones that are supported by this version in the
69
+ # App Engine flexible environment. Deprecated.
70
+ # @!attribute [rw] resources
71
+ # @return [::Google::Cloud::AppEngine::V1::Resources]
72
+ # Machine resources for this version.
73
+ # Only applicable in the App Engine flexible environment.
74
+ # @!attribute [rw] runtime
75
+ # @return [::String]
76
+ # Desired runtime. Example: `python27`.
77
+ # @!attribute [rw] runtime_channel
78
+ # @return [::String]
79
+ # The channel of the runtime to use. Only available for some
80
+ # runtimes. Defaults to the `default` channel.
81
+ # @!attribute [rw] threadsafe
82
+ # @return [::Boolean]
83
+ # Whether multiple requests can be dispatched to this version at once.
84
+ # @!attribute [rw] vm
85
+ # @return [::Boolean]
86
+ # Whether to deploy this version in a container on a virtual machine.
87
+ # @!attribute [rw] beta_settings
88
+ # @return [::Google::Protobuf::Map{::String => ::String}]
89
+ # Metadata settings that are supplied to this version to enable
90
+ # beta runtime features.
91
+ # @!attribute [rw] env
92
+ # @return [::String]
93
+ # App Engine execution environment for this version.
94
+ #
95
+ # Defaults to `standard`.
96
+ # @!attribute [rw] serving_status
97
+ # @return [::Google::Cloud::AppEngine::V1::ServingStatus]
98
+ # Current serving status of this version. Only the versions with a
99
+ # `SERVING` status create instances and can be billed.
100
+ #
101
+ # `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`.
102
+ # @!attribute [rw] created_by
103
+ # @return [::String]
104
+ # Email address of the user who created this version.
105
+ # @!attribute [rw] create_time
106
+ # @return [::Google::Protobuf::Timestamp]
107
+ # Time that this version was created.
108
+ # @!attribute [rw] disk_usage_bytes
109
+ # @return [::Integer]
110
+ # Total size in bytes of all the files that are included in this version
111
+ # and currently hosted on the App Engine disk.
112
+ # @!attribute [rw] runtime_api_version
113
+ # @return [::String]
114
+ # The version of the API in the given runtime environment. Please see the
115
+ # app.yaml reference for valid values at
116
+ # https://cloud.google.com/appengine/docs/standard/<language>/config/appref
117
+ # @!attribute [rw] runtime_main_executable_path
118
+ # @return [::String]
119
+ # The path or name of the app's main executable.
120
+ # @!attribute [rw] handlers
121
+ # @return [::Array<::Google::Cloud::AppEngine::V1::UrlMap>]
122
+ # An ordered list of URL-matching patterns that should be applied to incoming
123
+ # requests. The first matching URL handles the request and other request
124
+ # handlers are not attempted.
125
+ #
126
+ # Only returned in `GET` requests if `view=FULL` is set.
127
+ # @!attribute [rw] error_handlers
128
+ # @return [::Array<::Google::Cloud::AppEngine::V1::ErrorHandler>]
129
+ # Custom static error pages. Limited to 10KB per page.
130
+ #
131
+ # Only returned in `GET` requests if `view=FULL` is set.
132
+ # @!attribute [rw] libraries
133
+ # @return [::Array<::Google::Cloud::AppEngine::V1::Library>]
134
+ # Configuration for third-party Python runtime libraries that are required
135
+ # by the application.
136
+ #
137
+ # Only returned in `GET` requests if `view=FULL` is set.
138
+ # @!attribute [rw] api_config
139
+ # @return [::Google::Cloud::AppEngine::V1::ApiConfigHandler]
140
+ # Serving configuration for
141
+ # [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/).
142
+ #
143
+ # Only returned in `GET` requests if `view=FULL` is set.
144
+ # @!attribute [rw] env_variables
145
+ # @return [::Google::Protobuf::Map{::String => ::String}]
146
+ # Environment variables available to the application.
147
+ #
148
+ # Only returned in `GET` requests if `view=FULL` is set.
149
+ # @!attribute [rw] default_expiration
150
+ # @return [::Google::Protobuf::Duration]
151
+ # Duration that static files should be cached by web proxies and browsers.
152
+ # Only applicable if the corresponding
153
+ # [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#StaticFilesHandler)
154
+ # does not specify its own expiration time.
155
+ #
156
+ # Only returned in `GET` requests if `view=FULL` is set.
157
+ # @!attribute [rw] health_check
158
+ # @return [::Google::Cloud::AppEngine::V1::HealthCheck]
159
+ # Configures health checking for instances. Unhealthy instances are
160
+ # stopped and replaced with new instances.
161
+ # Only applicable in the App Engine flexible environment.
162
+ #
163
+ # Only returned in `GET` requests if `view=FULL` is set.
164
+ # @!attribute [rw] readiness_check
165
+ # @return [::Google::Cloud::AppEngine::V1::ReadinessCheck]
166
+ # Configures readiness health checking for instances.
167
+ # Unhealthy instances are not put into the backend traffic rotation.
168
+ #
169
+ # Only returned in `GET` requests if `view=FULL` is set.
170
+ # @!attribute [rw] liveness_check
171
+ # @return [::Google::Cloud::AppEngine::V1::LivenessCheck]
172
+ # Configures liveness health checking for instances.
173
+ # Unhealthy instances are stopped and replaced with new instances
174
+ #
175
+ # Only returned in `GET` requests if `view=FULL` is set.
176
+ # @!attribute [rw] nobuild_files_regex
177
+ # @return [::String]
178
+ # Files that match this pattern will not be built into this version.
179
+ # Only applicable for Go runtimes.
180
+ #
181
+ # Only returned in `GET` requests if `view=FULL` is set.
182
+ # @!attribute [rw] deployment
183
+ # @return [::Google::Cloud::AppEngine::V1::Deployment]
184
+ # Code and application artifacts that make up this version.
185
+ #
186
+ # Only returned in `GET` requests if `view=FULL` is set.
187
+ # @!attribute [rw] version_url
188
+ # @return [::String]
189
+ # Serving URL for this version. Example:
190
+ # "https://myversion-dot-myservice-dot-myapp.appspot.com"
191
+ # @!attribute [rw] endpoints_api_service
192
+ # @return [::Google::Cloud::AppEngine::V1::EndpointsApiService]
193
+ # Cloud Endpoints configuration.
194
+ #
195
+ # If endpoints_api_service is set, the Cloud Endpoints Extensible Service
196
+ # Proxy will be provided to serve the API implemented by the app.
197
+ # @!attribute [rw] entrypoint
198
+ # @return [::Google::Cloud::AppEngine::V1::Entrypoint]
199
+ # The entrypoint for the application.
200
+ # @!attribute [rw] vpc_access_connector
201
+ # @return [::Google::Cloud::AppEngine::V1::VpcAccessConnector]
202
+ # Enables VPC connectivity for standard apps.
203
+ class Version
204
+ include ::Google::Protobuf::MessageExts
205
+ extend ::Google::Protobuf::MessageExts::ClassMethods
206
+
207
+ # @!attribute [rw] key
208
+ # @return [::String]
209
+ # @!attribute [rw] value
210
+ # @return [::String]
211
+ class BetaSettingsEntry
212
+ include ::Google::Protobuf::MessageExts
213
+ extend ::Google::Protobuf::MessageExts::ClassMethods
214
+ end
215
+
216
+ # @!attribute [rw] key
217
+ # @return [::String]
218
+ # @!attribute [rw] value
219
+ # @return [::String]
220
+ class EnvVariablesEntry
221
+ include ::Google::Protobuf::MessageExts
222
+ extend ::Google::Protobuf::MessageExts::ClassMethods
223
+ end
224
+ end
225
+
226
+ # [Cloud Endpoints](https://cloud.google.com/endpoints) configuration.
227
+ # The Endpoints API Service provides tooling for serving Open API and gRPC
228
+ # endpoints via an NGINX proxy. Only valid for App Engine Flexible environment
229
+ # deployments.
230
+ #
231
+ # The fields here refer to the name and configuration ID of a "service"
232
+ # resource in the [Service Management API](https://cloud.google.com/service-management/overview).
233
+ # @!attribute [rw] name
234
+ # @return [::String]
235
+ # Endpoints service name which is the name of the "service" resource in the
236
+ # Service Management API. For example "myapi.endpoints.myproject.cloud.goog"
237
+ # @!attribute [rw] config_id
238
+ # @return [::String]
239
+ # Endpoints service configuration ID as specified by the Service Management
240
+ # API. For example "2016-09-19r1".
241
+ #
242
+ # By default, the rollout strategy for Endpoints is `RolloutStrategy.FIXED`.
243
+ # This means that Endpoints starts up with a particular configuration ID.
244
+ # When a new configuration is rolled out, Endpoints must be given the new
245
+ # configuration ID. The `config_id` field is used to give the configuration
246
+ # ID and is required in this case.
247
+ #
248
+ # Endpoints also has a rollout strategy called `RolloutStrategy.MANAGED`.
249
+ # When using this, Endpoints fetches the latest configuration and does not
250
+ # need the configuration ID. In this case, `config_id` must be omitted.
251
+ # @!attribute [rw] rollout_strategy
252
+ # @return [::Google::Cloud::AppEngine::V1::EndpointsApiService::RolloutStrategy]
253
+ # Endpoints rollout strategy. If `FIXED`, `config_id` must be specified. If
254
+ # `MANAGED`, `config_id` must be omitted.
255
+ # @!attribute [rw] disable_trace_sampling
256
+ # @return [::Boolean]
257
+ # Enable or disable trace sampling. By default, this is set to false for
258
+ # enabled.
259
+ class EndpointsApiService
260
+ include ::Google::Protobuf::MessageExts
261
+ extend ::Google::Protobuf::MessageExts::ClassMethods
262
+
263
+ # Available rollout strategies.
264
+ module RolloutStrategy
265
+ # Not specified. Defaults to `FIXED`.
266
+ UNSPECIFIED_ROLLOUT_STRATEGY = 0
267
+
268
+ # Endpoints service configuration ID will be fixed to the configuration ID
269
+ # specified by `config_id`.
270
+ FIXED = 1
271
+
272
+ # Endpoints service configuration ID will be updated with each rollout.
273
+ MANAGED = 2
274
+ end
275
+ end
276
+
277
+ # Automatic scaling is based on request rate, response latencies, and other
278
+ # application metrics.
279
+ # @!attribute [rw] cool_down_period
280
+ # @return [::Google::Protobuf::Duration]
281
+ # The time period that the
282
+ # [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/)
283
+ # should wait before it starts collecting information from a new instance.
284
+ # This prevents the autoscaler from collecting information when the instance
285
+ # is initializing, during which the collected usage would not be reliable.
286
+ # Only applicable in the App Engine flexible environment.
287
+ # @!attribute [rw] cpu_utilization
288
+ # @return [::Google::Cloud::AppEngine::V1::CpuUtilization]
289
+ # Target scaling by CPU usage.
290
+ # @!attribute [rw] max_concurrent_requests
291
+ # @return [::Integer]
292
+ # Number of concurrent requests an automatic scaling instance can accept
293
+ # before the scheduler spawns a new instance.
294
+ #
295
+ # Defaults to a runtime-specific value.
296
+ # @!attribute [rw] max_idle_instances
297
+ # @return [::Integer]
298
+ # Maximum number of idle instances that should be maintained for this
299
+ # version.
300
+ # @!attribute [rw] max_total_instances
301
+ # @return [::Integer]
302
+ # Maximum number of instances that should be started to handle requests for
303
+ # this version.
304
+ # @!attribute [rw] max_pending_latency
305
+ # @return [::Google::Protobuf::Duration]
306
+ # Maximum amount of time that a request should wait in the pending queue
307
+ # before starting a new instance to handle it.
308
+ # @!attribute [rw] min_idle_instances
309
+ # @return [::Integer]
310
+ # Minimum number of idle instances that should be maintained for
311
+ # this version. Only applicable for the default version of a service.
312
+ # @!attribute [rw] min_total_instances
313
+ # @return [::Integer]
314
+ # Minimum number of running instances that should be maintained for this
315
+ # version.
316
+ # @!attribute [rw] min_pending_latency
317
+ # @return [::Google::Protobuf::Duration]
318
+ # Minimum amount of time a request should wait in the pending queue before
319
+ # starting a new instance to handle it.
320
+ # @!attribute [rw] request_utilization
321
+ # @return [::Google::Cloud::AppEngine::V1::RequestUtilization]
322
+ # Target scaling by request utilization.
323
+ # @!attribute [rw] disk_utilization
324
+ # @return [::Google::Cloud::AppEngine::V1::DiskUtilization]
325
+ # Target scaling by disk usage.
326
+ # @!attribute [rw] network_utilization
327
+ # @return [::Google::Cloud::AppEngine::V1::NetworkUtilization]
328
+ # Target scaling by network usage.
329
+ # @!attribute [rw] standard_scheduler_settings
330
+ # @return [::Google::Cloud::AppEngine::V1::StandardSchedulerSettings]
331
+ # Scheduler settings for standard environment.
332
+ class AutomaticScaling
333
+ include ::Google::Protobuf::MessageExts
334
+ extend ::Google::Protobuf::MessageExts::ClassMethods
335
+ end
336
+
337
+ # A service with basic scaling will create an instance when the application
338
+ # receives a request. The instance will be turned down when the app becomes
339
+ # idle. Basic scaling is ideal for work that is intermittent or driven by
340
+ # user activity.
341
+ # @!attribute [rw] idle_timeout
342
+ # @return [::Google::Protobuf::Duration]
343
+ # Duration of time after the last request that an instance must wait before
344
+ # the instance is shut down.
345
+ # @!attribute [rw] max_instances
346
+ # @return [::Integer]
347
+ # Maximum number of instances to create for this version.
348
+ class BasicScaling
349
+ include ::Google::Protobuf::MessageExts
350
+ extend ::Google::Protobuf::MessageExts::ClassMethods
351
+ end
352
+
353
+ # A service with manual scaling runs continuously, allowing you to perform
354
+ # complex initialization and rely on the state of its memory over time.
355
+ # @!attribute [rw] instances
356
+ # @return [::Integer]
357
+ # Number of instances to assign to the service at the start. This number
358
+ # can later be altered by using the
359
+ # [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions)
360
+ # `set_num_instances()` function.
361
+ class ManualScaling
362
+ include ::Google::Protobuf::MessageExts
363
+ extend ::Google::Protobuf::MessageExts::ClassMethods
364
+ end
365
+
366
+ # Target scaling by CPU usage.
367
+ # @!attribute [rw] aggregation_window_length
368
+ # @return [::Google::Protobuf::Duration]
369
+ # Period of time over which CPU utilization is calculated.
370
+ # @!attribute [rw] target_utilization
371
+ # @return [::Float]
372
+ # Target CPU utilization ratio to maintain when scaling. Must be between 0
373
+ # and 1.
374
+ class CpuUtilization
375
+ include ::Google::Protobuf::MessageExts
376
+ extend ::Google::Protobuf::MessageExts::ClassMethods
377
+ end
378
+
379
+ # Target scaling by request utilization.
380
+ # Only applicable in the App Engine flexible environment.
381
+ # @!attribute [rw] target_request_count_per_second
382
+ # @return [::Integer]
383
+ # Target requests per second.
384
+ # @!attribute [rw] target_concurrent_requests
385
+ # @return [::Integer]
386
+ # Target number of concurrent requests.
387
+ class RequestUtilization
388
+ include ::Google::Protobuf::MessageExts
389
+ extend ::Google::Protobuf::MessageExts::ClassMethods
390
+ end
391
+
392
+ # Target scaling by disk usage.
393
+ # Only applicable in the App Engine flexible environment.
394
+ # @!attribute [rw] target_write_bytes_per_second
395
+ # @return [::Integer]
396
+ # Target bytes written per second.
397
+ # @!attribute [rw] target_write_ops_per_second
398
+ # @return [::Integer]
399
+ # Target ops written per second.
400
+ # @!attribute [rw] target_read_bytes_per_second
401
+ # @return [::Integer]
402
+ # Target bytes read per second.
403
+ # @!attribute [rw] target_read_ops_per_second
404
+ # @return [::Integer]
405
+ # Target ops read per seconds.
406
+ class DiskUtilization
407
+ include ::Google::Protobuf::MessageExts
408
+ extend ::Google::Protobuf::MessageExts::ClassMethods
409
+ end
410
+
411
+ # Target scaling by network usage.
412
+ # Only applicable in the App Engine flexible environment.
413
+ # @!attribute [rw] target_sent_bytes_per_second
414
+ # @return [::Integer]
415
+ # Target bytes sent per second.
416
+ # @!attribute [rw] target_sent_packets_per_second
417
+ # @return [::Integer]
418
+ # Target packets sent per second.
419
+ # @!attribute [rw] target_received_bytes_per_second
420
+ # @return [::Integer]
421
+ # Target bytes received per second.
422
+ # @!attribute [rw] target_received_packets_per_second
423
+ # @return [::Integer]
424
+ # Target packets received per second.
425
+ class NetworkUtilization
426
+ include ::Google::Protobuf::MessageExts
427
+ extend ::Google::Protobuf::MessageExts::ClassMethods
428
+ end
429
+
430
+ # Scheduler settings for standard environment.
431
+ # @!attribute [rw] target_cpu_utilization
432
+ # @return [::Float]
433
+ # Target CPU utilization ratio to maintain when scaling.
434
+ # @!attribute [rw] target_throughput_utilization
435
+ # @return [::Float]
436
+ # Target throughput utilization ratio to maintain when scaling
437
+ # @!attribute [rw] min_instances
438
+ # @return [::Integer]
439
+ # Minimum number of instances to run for this version. Set to zero to disable
440
+ # `min_instances` configuration.
441
+ # @!attribute [rw] max_instances
442
+ # @return [::Integer]
443
+ # Maximum number of instances to run for this version. Set to zero to disable
444
+ # `max_instances` configuration.
445
+ class StandardSchedulerSettings
446
+ include ::Google::Protobuf::MessageExts
447
+ extend ::Google::Protobuf::MessageExts::ClassMethods
448
+ end
449
+
450
+ # Extra network settings.
451
+ # Only applicable in the App Engine flexible environment.
452
+ # @!attribute [rw] forwarded_ports
453
+ # @return [::Array<::String>]
454
+ # List of ports, or port pairs, to forward from the virtual machine to the
455
+ # application container.
456
+ # Only applicable in the App Engine flexible environment.
457
+ # @!attribute [rw] instance_tag
458
+ # @return [::String]
459
+ # Tag to apply to the instance during creation.
460
+ # Only applicable in the App Engine flexible environment.
461
+ # @!attribute [rw] name
462
+ # @return [::String]
463
+ # Google Compute Engine network where the virtual machines are created.
464
+ # Specify the short name, not the resource path.
465
+ #
466
+ # Defaults to `default`.
467
+ # @!attribute [rw] subnetwork_name
468
+ # @return [::String]
469
+ # Google Cloud Platform sub-network where the virtual machines are created.
470
+ # Specify the short name, not the resource path.
471
+ #
472
+ # If a subnetwork name is specified, a network name will also be required
473
+ # unless it is for the default network.
474
+ #
475
+ # * If the network that the instance is being created in is a Legacy network,
476
+ # then the IP address is allocated from the IPv4Range.
477
+ # * If the network that the instance is being created in is an auto Subnet
478
+ # Mode Network, then only network name should be specified (not the
479
+ # subnetwork_name) and the IP address is created from the IPCidrRange of the
480
+ # subnetwork that exists in that zone for that network.
481
+ # * If the network that the instance is being created in is a custom Subnet
482
+ # Mode Network, then the subnetwork_name must be specified and the
483
+ # IP address is created from the IPCidrRange of the subnetwork.
484
+ #
485
+ # If specified, the subnetwork must exist in the same region as the
486
+ # App Engine flexible environment application.
487
+ # @!attribute [rw] session_affinity
488
+ # @return [::Boolean]
489
+ # Enable session affinity.
490
+ # Only applicable in the App Engine flexible environment.
491
+ class Network
492
+ include ::Google::Protobuf::MessageExts
493
+ extend ::Google::Protobuf::MessageExts::ClassMethods
494
+ end
495
+
496
+ # Volumes mounted within the app container.
497
+ # Only applicable in the App Engine flexible environment.
498
+ # @!attribute [rw] name
499
+ # @return [::String]
500
+ # Unique name for the volume.
501
+ # @!attribute [rw] volume_type
502
+ # @return [::String]
503
+ # Underlying volume type, e.g. 'tmpfs'.
504
+ # @!attribute [rw] size_gb
505
+ # @return [::Float]
506
+ # Volume size in gigabytes.
507
+ class Volume
508
+ include ::Google::Protobuf::MessageExts
509
+ extend ::Google::Protobuf::MessageExts::ClassMethods
510
+ end
511
+
512
+ # Machine resources for a version.
513
+ # @!attribute [rw] cpu
514
+ # @return [::Float]
515
+ # Number of CPU cores needed.
516
+ # @!attribute [rw] disk_gb
517
+ # @return [::Float]
518
+ # Disk size (GB) needed.
519
+ # @!attribute [rw] memory_gb
520
+ # @return [::Float]
521
+ # Memory (GB) needed.
522
+ # @!attribute [rw] volumes
523
+ # @return [::Array<::Google::Cloud::AppEngine::V1::Volume>]
524
+ # User specified volumes.
525
+ class Resources
526
+ include ::Google::Protobuf::MessageExts
527
+ extend ::Google::Protobuf::MessageExts::ClassMethods
528
+ end
529
+
530
+ # VPC access connector specification.
531
+ # @!attribute [rw] name
532
+ # @return [::String]
533
+ # Full Serverless VPC Access Connector name e.g.
534
+ # /projects/my-project/locations/us-central1/connectors/c1.
535
+ class VpcAccessConnector
536
+ include ::Google::Protobuf::MessageExts
537
+ extend ::Google::Protobuf::MessageExts::ClassMethods
538
+ end
539
+
540
+ # The entrypoint for the application.
541
+ # @!attribute [rw] shell
542
+ # @return [::String]
543
+ # The format should be a shell command that can be fed to `bash -c`.
544
+ class Entrypoint
545
+ include ::Google::Protobuf::MessageExts
546
+ extend ::Google::Protobuf::MessageExts::ClassMethods
547
+ end
548
+
549
+ # Available inbound services.
550
+ module InboundServiceType
551
+ # Not specified.
552
+ INBOUND_SERVICE_UNSPECIFIED = 0
553
+
554
+ # Allows an application to receive mail.
555
+ INBOUND_SERVICE_MAIL = 1
556
+
557
+ # Allows an application to receive email-bound notifications.
558
+ INBOUND_SERVICE_MAIL_BOUNCE = 2
559
+
560
+ # Allows an application to receive error stanzas.
561
+ INBOUND_SERVICE_XMPP_ERROR = 3
562
+
563
+ # Allows an application to receive instant messages.
564
+ INBOUND_SERVICE_XMPP_MESSAGE = 4
565
+
566
+ # Allows an application to receive user subscription POSTs.
567
+ INBOUND_SERVICE_XMPP_SUBSCRIBE = 5
568
+
569
+ # Allows an application to receive a user's chat presence.
570
+ INBOUND_SERVICE_XMPP_PRESENCE = 6
571
+
572
+ # Registers an application for notifications when a client connects or
573
+ # disconnects from a channel.
574
+ INBOUND_SERVICE_CHANNEL_PRESENCE = 7
575
+
576
+ # Enables warmup requests.
577
+ INBOUND_SERVICE_WARMUP = 9
578
+ end
579
+
580
+ # Run states of a version.
581
+ module ServingStatus
582
+ # Not specified.
583
+ SERVING_STATUS_UNSPECIFIED = 0
584
+
585
+ # Currently serving. Instances are created according to the
586
+ # scaling settings of the version.
587
+ SERVING = 1
588
+
589
+ # Disabled. No instances will be created and the scaling
590
+ # settings are ignored until the state of the version changes
591
+ # to `SERVING`.
592
+ STOPPED = 2
593
+ end
594
+ end
595
+ end
596
+ end
597
+ end