google-cloud-app_engine-v1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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