google-api-client 0.9.1 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (181) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +11 -2
  4. data/api_names.yaml +76 -43
  5. data/api_names_out.yaml +3853 -3508
  6. data/generated/google/apis/adexchangebuyer_v1_3/classes.rb +151 -151
  7. data/generated/google/apis/adexchangebuyer_v1_4.rb +35 -0
  8. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +2785 -0
  9. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +1033 -0
  10. data/generated/google/apis/adexchangebuyer_v1_4/service.rb +1378 -0
  11. data/generated/google/apis/adexchangeseller_v2_0/classes.rb +79 -79
  12. data/generated/google/apis/admin_datatransfer_v1/classes.rb +26 -26
  13. data/generated/google/apis/admin_directory_v1/classes.rb +374 -374
  14. data/generated/google/apis/admin_reports_v1/classes.rb +63 -63
  15. data/generated/google/apis/adsense_v1_4.rb +1 -1
  16. data/generated/google/apis/adsense_v1_4/classes.rb +145 -143
  17. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  18. data/generated/google/apis/adsensehost_v4_1/classes.rb +95 -92
  19. data/generated/google/apis/analytics_v3/classes.rb +582 -582
  20. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  21. data/generated/google/apis/androidenterprise_v1/classes.rb +132 -132
  22. data/generated/google/apis/androidenterprise_v1/service.rb +9 -8
  23. data/generated/google/apis/androidpublisher_v2/classes.rb +122 -122
  24. data/generated/google/apis/appengine_v1beta4.rb +1 -1
  25. data/generated/google/apis/appengine_v1beta4/classes.rb +195 -142
  26. data/generated/google/apis/appengine_v1beta4/representations.rb +16 -0
  27. data/generated/google/apis/appengine_v1beta4/service.rb +3 -2
  28. data/generated/google/apis/appengine_v1beta5.rb +35 -0
  29. data/generated/google/apis/appengine_v1beta5/classes.rb +1523 -0
  30. data/generated/google/apis/appengine_v1beta5/representations.rb +525 -0
  31. data/generated/google/apis/appengine_v1beta5/service.rb +478 -0
  32. data/generated/google/apis/appsactivity_v1/classes.rb +34 -34
  33. data/generated/google/apis/appstate_v1.rb +1 -1
  34. data/generated/google/apis/appstate_v1/classes.rb +12 -12
  35. data/generated/google/apis/autoscaler_v1beta2/classes.rb +82 -82
  36. data/generated/google/apis/bigquery_v2.rb +1 -1
  37. data/generated/google/apis/bigquery_v2/classes.rb +266 -265
  38. data/generated/google/apis/blogger_v3/classes.rb +145 -145
  39. data/generated/google/apis/books_v1.rb +1 -1
  40. data/generated/google/apis/books_v1/classes.rb +431 -431
  41. data/generated/google/apis/books_v1/service.rb +3 -12
  42. data/generated/google/apis/calendar_v3.rb +1 -1
  43. data/generated/google/apis/calendar_v3/classes.rb +180 -180
  44. data/generated/google/apis/civicinfo_v2/classes.rb +125 -125
  45. data/generated/google/apis/classroom_v1/classes.rb +42 -42
  46. data/generated/google/apis/cloudbilling_v1/classes.rb +11 -11
  47. data/generated/google/apis/{mapsengine_v1.rb → cloudbuild_v1.rb} +11 -14
  48. data/generated/google/apis/cloudbuild_v1/classes.rb +521 -0
  49. data/generated/google/apis/cloudbuild_v1/representations.rb +190 -0
  50. data/generated/google/apis/cloudbuild_v1/service.rb +278 -0
  51. data/generated/google/apis/clouddebugger_v2/classes.rb +81 -81
  52. data/generated/google/apis/cloudlatencytest_v2.rb +34 -0
  53. data/generated/google/apis/cloudlatencytest_v2/classes.rb +195 -0
  54. data/generated/google/apis/cloudlatencytest_v2/representations.rb +113 -0
  55. data/generated/google/apis/cloudlatencytest_v2/service.rb +135 -0
  56. data/generated/google/apis/cloudmonitoring_v2beta2.rb +1 -1
  57. data/generated/google/apis/cloudmonitoring_v2beta2/classes.rb +55 -55
  58. data/generated/google/apis/cloudresourcemanager_v1beta1/classes.rb +26 -26
  59. data/generated/google/apis/cloudtrace_v1/classes.rb +13 -13
  60. data/generated/google/apis/clouduseraccounts_beta/classes.rb +85 -85
  61. data/generated/google/apis/compute_beta.rb +1 -1
  62. data/generated/google/apis/compute_beta/classes.rb +1051 -998
  63. data/generated/google/apis/compute_beta/representations.rb +1 -0
  64. data/generated/google/apis/compute_beta/service.rb +426 -366
  65. data/generated/google/apis/compute_v1.rb +1 -1
  66. data/generated/google/apis/compute_v1/classes.rb +1332 -946
  67. data/generated/google/apis/compute_v1/representations.rb +108 -0
  68. data/generated/google/apis/compute_v1/service.rb +686 -318
  69. data/generated/google/apis/container_v1/classes.rb +43 -43
  70. data/generated/google/apis/content_v2.rb +1 -1
  71. data/generated/google/apis/content_v2/classes.rb +767 -639
  72. data/generated/google/apis/content_v2/representations.rb +40 -0
  73. data/generated/google/apis/coordinate_v1/classes.rb +66 -66
  74. data/generated/google/apis/customsearch_v1/classes.rb +96 -96
  75. data/generated/google/apis/dataproc_v1.rb +43 -0
  76. data/generated/google/apis/dataproc_v1/classes.rb +175 -0
  77. data/generated/google/apis/dataproc_v1/representations.rb +84 -0
  78. data/generated/google/apis/dataproc_v1/service.rb +142 -0
  79. data/generated/google/apis/datastore_v1beta2/classes.rb +105 -105
  80. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  81. data/generated/google/apis/deploymentmanager_v2/classes.rb +183 -112
  82. data/generated/google/apis/deploymentmanager_v2/representations.rb +28 -0
  83. data/generated/google/apis/deploymentmanager_v2/service.rb +42 -37
  84. data/generated/google/apis/dfareporting_v2_3.rb +37 -0
  85. data/generated/google/apis/dfareporting_v2_3/classes.rb +10830 -0
  86. data/generated/google/apis/dfareporting_v2_3/representations.rb +3443 -0
  87. data/generated/google/apis/dfareporting_v2_3/service.rb +8581 -0
  88. data/generated/google/apis/discovery_v1/classes.rb +106 -106
  89. data/generated/google/apis/dns_v1/classes.rb +39 -39
  90. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  91. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +155 -69
  92. data/generated/google/apis/doubleclickbidmanager_v1/representations.rb +31 -0
  93. data/generated/google/apis/doubleclickbidmanager_v1/service.rb +33 -0
  94. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  95. data/generated/google/apis/doubleclicksearch_v2/classes.rb +106 -104
  96. data/generated/google/apis/drive_v2.rb +1 -1
  97. data/generated/google/apis/drive_v2/classes.rb +308 -308
  98. data/generated/google/apis/drive_v2/service.rb +44 -0
  99. data/generated/google/apis/drive_v3.rb +1 -1
  100. data/generated/google/apis/drive_v3/classes.rb +178 -178
  101. data/generated/google/apis/drive_v3/service.rb +2 -1
  102. data/generated/google/apis/fitness_v1/classes.rb +74 -74
  103. data/generated/google/apis/fusiontables_v2/classes.rb +108 -108
  104. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  105. data/generated/google/apis/games_configuration_v1configuration/classes.rb +52 -52
  106. data/generated/google/apis/games_management_v1management.rb +2 -2
  107. data/generated/google/apis/games_management_v1management/classes.rb +55 -46
  108. data/generated/google/apis/games_management_v1management/representations.rb +1 -0
  109. data/generated/google/apis/games_v1.rb +2 -2
  110. data/generated/google/apis/games_v1/classes.rb +484 -475
  111. data/generated/google/apis/games_v1/representations.rb +1 -0
  112. data/generated/google/apis/gan_v1beta1/classes.rb +187 -187
  113. data/generated/google/apis/genomics_v1.rb +2 -2
  114. data/generated/google/apis/genomics_v1/classes.rb +441 -232
  115. data/generated/google/apis/genomics_v1/representations.rb +85 -0
  116. data/generated/google/apis/genomics_v1/service.rb +1 -1
  117. data/generated/google/apis/gmail_v1/classes.rb +73 -73
  118. data/generated/google/apis/groupsmigration_v1/classes.rb +2 -2
  119. data/generated/google/apis/groupssettings_v1/classes.rb +28 -28
  120. data/generated/google/apis/identitytoolkit_v3.rb +1 -1
  121. data/generated/google/apis/identitytoolkit_v3/classes.rb +232 -166
  122. data/generated/google/apis/identitytoolkit_v3/representations.rb +10 -0
  123. data/generated/google/apis/kgsearch_v1/classes.rb +3 -3
  124. data/generated/google/apis/licensing_v1/classes.rb +11 -11
  125. data/generated/google/apis/logging_v2beta1.rb +47 -0
  126. data/generated/google/apis/logging_v2beta1/classes.rb +990 -0
  127. data/generated/google/apis/logging_v2beta1/representations.rb +337 -0
  128. data/generated/google/apis/logging_v2beta1/service.rb +547 -0
  129. data/generated/google/apis/manager_v1beta2/classes.rb +125 -125
  130. data/generated/google/apis/mirror_v1/classes.rb +101 -101
  131. data/generated/google/apis/oauth2_v2.rb +2 -2
  132. data/generated/google/apis/oauth2_v2/classes.rb +27 -27
  133. data/generated/google/apis/pagespeedonline_v2/classes.rb +62 -62
  134. data/generated/google/apis/partners_v2/classes.rb +87 -87
  135. data/generated/google/apis/people_v1.rb +59 -0
  136. data/generated/google/apis/people_v1/classes.rb +1594 -0
  137. data/generated/google/apis/people_v1/representations.rb +593 -0
  138. data/generated/google/apis/people_v1/service.rb +193 -0
  139. data/generated/google/apis/plus_domains_v1.rb +2 -2
  140. data/generated/google/apis/plus_domains_v1/classes.rb +274 -274
  141. data/generated/google/apis/plus_v1.rb +2 -2
  142. data/generated/google/apis/plus_v1/classes.rb +215 -215
  143. data/generated/google/apis/prediction_v1_6/classes.rb +73 -73
  144. data/generated/google/apis/proximitybeacon_v1beta1/classes.rb +45 -45
  145. data/generated/google/apis/pubsub_v1/classes.rb +36 -36
  146. data/generated/google/apis/qpx_express_v1/classes.rb +135 -135
  147. data/generated/google/apis/replicapool_v1beta2/classes.rb +63 -63
  148. data/generated/google/apis/replicapoolupdater_v1beta1/classes.rb +76 -76
  149. data/generated/google/apis/reseller_v1.rb +1 -1
  150. data/generated/google/apis/reseller_v1/classes.rb +55 -55
  151. data/generated/google/apis/reseller_v1/service.rb +1 -1
  152. data/generated/google/apis/resourceviews_v1beta2/classes.rb +68 -68
  153. data/generated/google/apis/script_v1/classes.rb +18 -18
  154. data/generated/google/apis/site_verification_v1/classes.rb +12 -12
  155. data/generated/google/apis/sqladmin_v1beta4/classes.rb +203 -203
  156. data/generated/google/apis/storage_v1.rb +1 -1
  157. data/generated/google/apis/storage_v1/classes.rb +130 -130
  158. data/generated/google/apis/storagetransfer_v1/classes.rb +84 -84
  159. data/generated/google/apis/tagmanager_v1/classes.rb +154 -154
  160. data/generated/google/apis/taskqueue_v1beta2/classes.rb +24 -24
  161. data/generated/google/apis/tasks_v1/classes.rb +32 -32
  162. data/generated/google/apis/translate_v2/classes.rb +10 -10
  163. data/generated/google/apis/urlshortener_v1/classes.rb +24 -24
  164. data/generated/google/apis/webmasters_v3/classes.rb +49 -49
  165. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  166. data/generated/google/apis/youtube_analytics_v1/classes.rb +49 -49
  167. data/generated/google/apis/youtube_v3.rb +1 -1
  168. data/generated/google/apis/youtube_v3/classes.rb +882 -895
  169. data/generated/google/apis/youtube_v3/representations.rb +2 -13
  170. data/generated/google/apis/youtubereporting_v1/classes.rb +19 -19
  171. data/lib/google/apis/core/api_command.rb +1 -1
  172. data/lib/google/apis/core/upload.rb +1 -1
  173. data/lib/google/apis/generator/templates/_class.tmpl +1 -1
  174. data/lib/google/apis/version.rb +1 -1
  175. data/samples/cli/lib/base_cli.rb +2 -1
  176. data/samples/cli/lib/samples/androidpublisher.rb +47 -0
  177. data/script/generate +17 -13
  178. metadata +35 -6
  179. data/generated/google/apis/mapsengine_v1/classes.rb +0 -2873
  180. data/generated/google/apis/mapsengine_v1/representations.rb +0 -1235
  181. data/generated/google/apis/mapsengine_v1/service.rb +0 -3388
@@ -154,6 +154,10 @@ module Google
154
154
  class Representation < Google::Apis::Core::JsonRepresentation; end
155
155
  end
156
156
 
157
+ class OperationMetadataV1Beta5
158
+ class Representation < Google::Apis::Core::JsonRepresentation; end
159
+ end
160
+
157
161
  class Application
158
162
  # @private
159
163
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -163,6 +167,7 @@ module Google
163
167
 
164
168
  property :location, as: 'location'
165
169
  property :code_bucket, as: 'codeBucket'
170
+ property :default_bucket, as: 'defaultBucket'
166
171
  end
167
172
  end
168
173
 
@@ -521,6 +526,17 @@ module Google
521
526
  property :method_prop, as: 'method'
522
527
  end
523
528
  end
529
+
530
+ class OperationMetadataV1Beta5
531
+ # @private
532
+ class Representation < Google::Apis::Core::JsonRepresentation
533
+ property :method_prop, as: 'method'
534
+ property :insert_time, as: 'insertTime'
535
+ property :end_time, as: 'endTime'
536
+ property :user, as: 'user'
537
+ property :target, as: 'target'
538
+ end
539
+ end
524
540
  end
525
541
  end
526
542
  end
@@ -53,8 +53,9 @@ module Google
53
53
  # @param [Boolean] ensure_resources_exist
54
54
  # Certain resources associated with an application are created on-demand.
55
55
  # Controls whether these resources should be created when performing the `GET`
56
- # operation. If specified and any resources cloud not be created, the request
57
- # will fail with an error code.
56
+ # operation. If specified and any resources could not be created, the request
57
+ # will fail with an error code. Additionally, this parameter can cause the
58
+ # request to take longer to complete.
58
59
  # @param [String] fields
59
60
  # Selector specifying which fields to include in a partial response.
60
61
  # @param [String] quota_user
@@ -0,0 +1,35 @@
1
+ # Copyright 2015 Google Inc.
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
+
19
+ module Google
20
+ module Apis
21
+ # Google App Engine Admin API
22
+ #
23
+ # The Google App Engine Admin API enables developers to provision and manage
24
+ # their App Engine applications.
25
+ #
26
+ # @see https://cloud.google.com/appengine/docs/admin-api/
27
+ module AppengineV1beta5
28
+ VERSION = 'V1beta5'
29
+ REVISION = '20160121'
30
+
31
+ # View and manage your data across Google Cloud Platform services
32
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,1523 @@
1
+ # Copyright 2015 Google Inc.
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
+ # This resource represents a long-running operation that is the result of a
26
+ # network API call.
27
+ class Operation
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # The server-assigned name, which is only unique within the same service that
31
+ # originally returns it. If you use the default HTTP mapping above, the `name`
32
+ # should have the format of `operations/some/unique/name`.
33
+ # Corresponds to the JSON property `name`
34
+ # @return [String]
35
+ attr_accessor :name
36
+
37
+ # Service-specific metadata associated with the operation. It typically contains
38
+ # progress information and common metadata such as create time. Some services
39
+ # might not provide such metadata. Any method that returns a long-running
40
+ # operation should document the metadata type, if any.
41
+ # Corresponds to the JSON property `metadata`
42
+ # @return [Hash<String,Object>]
43
+ attr_accessor :metadata
44
+
45
+ # If the value is `false`, it means the operation is still in progress. If true,
46
+ # the operation is completed, and either `error` or `response` is available.
47
+ # Corresponds to the JSON property `done`
48
+ # @return [Boolean]
49
+ attr_accessor :done
50
+ alias_method :done?, :done
51
+
52
+ # The `Status` type defines a logical error model that is suitable for different
53
+ # programming environments, including REST APIs and RPC APIs. It is used by [
54
+ # gRPC](https://github.com/grpc). The error model is designed to be: - Simple to
55
+ # use and understand for most users - Flexible enough to meet unexpected needs #
56
+ # Overview The `Status` message contains three pieces of data: error code, error
57
+ # message, and error details. The error code should be an enum value of google.
58
+ # rpc.Code, but it may accept additional error codes if needed. The error
59
+ # message should be a developer-facing English message that helps developers *
60
+ # understand* and *resolve* the error. If a localized user-facing error message
61
+ # is needed, put the localized message in the error details or localize it in
62
+ # the client. The optional error details may contain arbitrary information about
63
+ # the error. There is a predefined set of error detail types in the package `
64
+ # google.rpc` which can be used for common error conditions. # Language mapping
65
+ # The `Status` message is the logical representation of the error model, but it
66
+ # is not necessarily the actual wire format. When the `Status` message is
67
+ # exposed in different client libraries and different wire protocols, it can be
68
+ # mapped differently. For example, it will likely be mapped to some exceptions
69
+ # in Java, but more likely mapped to some error codes in C. # Other uses The
70
+ # error model and the `Status` message can be used in a variety of environments,
71
+ # either with or without APIs, to provide a consistent developer experience
72
+ # across different environments. Example uses of this error model include: -
73
+ # Partial errors. If a service needs to return partial errors to the client, it
74
+ # may embed the `Status` in the normal response to indicate the partial errors. -
75
+ # Workflow errors. A typical workflow has multiple steps. Each step may have a `
76
+ # Status` message for error reporting purpose. - Batch operations. If a client
77
+ # uses batch request and batch response, the `Status` message should be used
78
+ # directly inside batch response, one for each error sub-response. -
79
+ # Asynchronous operations. If an API call embeds asynchronous operation results
80
+ # in its response, the status of those operations should be represented directly
81
+ # using the `Status` message. - Logging. If some API errors are stored in logs,
82
+ # the message `Status` could be used directly after any stripping needed for
83
+ # security/privacy reasons.
84
+ # Corresponds to the JSON property `error`
85
+ # @return [Google::Apis::AppengineV1beta5::Status]
86
+ attr_accessor :error
87
+
88
+ # The normal response of the operation in case of success. If the original
89
+ # method returns no data on success, such as `Delete`, the response is `google.
90
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
91
+ # the response should be the resource. For other methods, the response should
92
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
93
+ # example, if the original method name is `TakeSnapshot()`, the inferred
94
+ # response type is `TakeSnapshotResponse`.
95
+ # Corresponds to the JSON property `response`
96
+ # @return [Hash<String,Object>]
97
+ attr_accessor :response
98
+
99
+ def initialize(**args)
100
+ update!(**args)
101
+ end
102
+
103
+ # Update properties of this object
104
+ def update!(**args)
105
+ @name = args[:name] if args.key?(:name)
106
+ @metadata = args[:metadata] if args.key?(:metadata)
107
+ @done = args[:done] if args.key?(:done)
108
+ @error = args[:error] if args.key?(:error)
109
+ @response = args[:response] if args.key?(:response)
110
+ end
111
+ end
112
+
113
+ # The `Status` type defines a logical error model that is suitable for different
114
+ # programming environments, including REST APIs and RPC APIs. It is used by [
115
+ # gRPC](https://github.com/grpc). The error model is designed to be: - Simple to
116
+ # use and understand for most users - Flexible enough to meet unexpected needs #
117
+ # Overview The `Status` message contains three pieces of data: error code, error
118
+ # message, and error details. The error code should be an enum value of google.
119
+ # rpc.Code, but it may accept additional error codes if needed. The error
120
+ # message should be a developer-facing English message that helps developers *
121
+ # understand* and *resolve* the error. If a localized user-facing error message
122
+ # is needed, put the localized message in the error details or localize it in
123
+ # the client. The optional error details may contain arbitrary information about
124
+ # the error. There is a predefined set of error detail types in the package `
125
+ # google.rpc` which can be used for common error conditions. # Language mapping
126
+ # The `Status` message is the logical representation of the error model, but it
127
+ # is not necessarily the actual wire format. When the `Status` message is
128
+ # exposed in different client libraries and different wire protocols, it can be
129
+ # mapped differently. For example, it will likely be mapped to some exceptions
130
+ # in Java, but more likely mapped to some error codes in C. # Other uses The
131
+ # error model and the `Status` message can be used in a variety of environments,
132
+ # either with or without APIs, to provide a consistent developer experience
133
+ # across different environments. Example uses of this error model include: -
134
+ # Partial errors. If a service needs to return partial errors to the client, it
135
+ # may embed the `Status` in the normal response to indicate the partial errors. -
136
+ # Workflow errors. A typical workflow has multiple steps. Each step may have a `
137
+ # Status` message for error reporting purpose. - Batch operations. If a client
138
+ # uses batch request and batch response, the `Status` message should be used
139
+ # directly inside batch response, one for each error sub-response. -
140
+ # Asynchronous operations. If an API call embeds asynchronous operation results
141
+ # in its response, the status of those operations should be represented directly
142
+ # using the `Status` message. - Logging. If some API errors are stored in logs,
143
+ # the message `Status` could be used directly after any stripping needed for
144
+ # security/privacy reasons.
145
+ class Status
146
+ include Google::Apis::Core::Hashable
147
+
148
+ # The status code, which should be an enum value of google.rpc.Code.
149
+ # Corresponds to the JSON property `code`
150
+ # @return [Fixnum]
151
+ attr_accessor :code
152
+
153
+ # A developer-facing error message, which should be in English. Any user-facing
154
+ # error message should be localized and sent in the google.rpc.Status.details
155
+ # field, or localized by the client.
156
+ # Corresponds to the JSON property `message`
157
+ # @return [String]
158
+ attr_accessor :message
159
+
160
+ # A list of messages that carry the error details. There will be a common set of
161
+ # message types for APIs to use.
162
+ # Corresponds to the JSON property `details`
163
+ # @return [Array<Hash<String,Object>>]
164
+ attr_accessor :details
165
+
166
+ def initialize(**args)
167
+ update!(**args)
168
+ end
169
+
170
+ # Update properties of this object
171
+ def update!(**args)
172
+ @code = args[:code] if args.key?(:code)
173
+ @message = args[:message] if args.key?(:message)
174
+ @details = args[:details] if args.key?(:details)
175
+ end
176
+ end
177
+
178
+ # The response message for Operations.ListOperations.
179
+ class ListOperationsResponse
180
+ include Google::Apis::Core::Hashable
181
+
182
+ # A list of operations that matches the specified filter in the request.
183
+ # Corresponds to the JSON property `operations`
184
+ # @return [Array<Google::Apis::AppengineV1beta5::Operation>]
185
+ attr_accessor :operations
186
+
187
+ # The standard List next-page token.
188
+ # Corresponds to the JSON property `nextPageToken`
189
+ # @return [String]
190
+ attr_accessor :next_page_token
191
+
192
+ def initialize(**args)
193
+ update!(**args)
194
+ end
195
+
196
+ # Update properties of this object
197
+ def update!(**args)
198
+ @operations = args[:operations] if args.key?(:operations)
199
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
200
+ end
201
+ end
202
+
203
+ # An Application contains the top-level configuration of an App Engine
204
+ # application.
205
+ class Application
206
+ include Google::Apis::Core::Hashable
207
+
208
+ # The full path to the application in the API. Example: "apps/myapp". @
209
+ # OutputOnly
210
+ # Corresponds to the JSON property `name`
211
+ # @return [String]
212
+ attr_accessor :name
213
+
214
+ # The relative name/path of the application. Example: "myapp". @OutputOnly
215
+ # Corresponds to the JSON property `id`
216
+ # @return [String]
217
+ attr_accessor :id
218
+
219
+ # HTTP path dispatch rules for requests to the app that do not explicitly target
220
+ # a service or version. The rules are order-dependent.
221
+ # Corresponds to the JSON property `dispatchRules`
222
+ # @return [Array<Google::Apis::AppengineV1beta5::UrlDispatchRule>]
223
+ attr_accessor :dispatch_rules
224
+
225
+ # The location from which the application will be run. Choices are "us" for
226
+ # United States and "eu" for European Union. Application instances will run out
227
+ # of data centers in the chosen location and all of the application's End User
228
+ # Content will be stored at rest in the chosen location. The default is "us".
229
+ # Corresponds to the JSON property `location`
230
+ # @return [String]
231
+ attr_accessor :location
232
+
233
+ # A Google Cloud Storage bucket which can be used for storing files associated
234
+ # with an application. This bucket is associated with the application and can be
235
+ # used by the gcloud deployment commands. @OutputOnly
236
+ # Corresponds to the JSON property `codeBucket`
237
+ # @return [String]
238
+ attr_accessor :code_bucket
239
+
240
+ # A Google Cloud Storage bucket which can be used by the application to store
241
+ # content. @OutputOnly
242
+ # Corresponds to the JSON property `defaultBucket`
243
+ # @return [String]
244
+ attr_accessor :default_bucket
245
+
246
+ def initialize(**args)
247
+ update!(**args)
248
+ end
249
+
250
+ # Update properties of this object
251
+ def update!(**args)
252
+ @name = args[:name] if args.key?(:name)
253
+ @id = args[:id] if args.key?(:id)
254
+ @dispatch_rules = args[:dispatch_rules] if args.key?(:dispatch_rules)
255
+ @location = args[:location] if args.key?(:location)
256
+ @code_bucket = args[:code_bucket] if args.key?(:code_bucket)
257
+ @default_bucket = args[:default_bucket] if args.key?(:default_bucket)
258
+ end
259
+ end
260
+
261
+ # Rules to match an HTTP request and dispatch that request to a service.
262
+ class UrlDispatchRule
263
+ include Google::Apis::Core::Hashable
264
+
265
+ # The domain name to match on. Supports '*' (glob) wildcarding on the left-hand
266
+ # side of a '.'. If empty, all domains will be matched (the same as '*').
267
+ # Corresponds to the JSON property `domain`
268
+ # @return [String]
269
+ attr_accessor :domain
270
+
271
+ # The pathname within the host. This must start with a '/'. A single '*' (glob)
272
+ # can be included at the end of the path. The sum of the lengths of the domain
273
+ # and path may not exceed 100 characters.
274
+ # Corresponds to the JSON property `path`
275
+ # @return [String]
276
+ attr_accessor :path
277
+
278
+ # The resource id of a Service in this application that should service the
279
+ # matched request. The Service must already exist. Example: "default".
280
+ # Corresponds to the JSON property `service`
281
+ # @return [String]
282
+ attr_accessor :service
283
+
284
+ def initialize(**args)
285
+ update!(**args)
286
+ end
287
+
288
+ # Update properties of this object
289
+ def update!(**args)
290
+ @domain = args[:domain] if args.key?(:domain)
291
+ @path = args[:path] if args.key?(:path)
292
+ @service = args[:service] if args.key?(:service)
293
+ end
294
+ end
295
+
296
+ # A Version is a specific set of source code and configuration files deployed to
297
+ # a service.
298
+ class Version
299
+ include Google::Apis::Core::Hashable
300
+
301
+ # The full path to the Version resource in the API. Example: "apps/myapp/
302
+ # services/default/versions/v1". @OutputOnly
303
+ # Corresponds to the JSON property `name`
304
+ # @return [String]
305
+ attr_accessor :name
306
+
307
+ # The relative name/path of the Version within the service. Example: "v1".
308
+ # Version specifiers can contain lowercase letters, digits, and hyphens. It
309
+ # cannot begin with the prefix `ah-` and the names `default` and `latest` are
310
+ # reserved and cannot be used.
311
+ # Corresponds to the JSON property `id`
312
+ # @return [String]
313
+ attr_accessor :id
314
+
315
+ # Automatic scaling is the scaling policy that App Engine has used since its
316
+ # inception. It is based on request rate, response latencies, and other
317
+ # application metrics.
318
+ # Corresponds to the JSON property `automaticScaling`
319
+ # @return [Google::Apis::AppengineV1beta5::AutomaticScaling]
320
+ attr_accessor :automatic_scaling
321
+
322
+ # A service with basic scaling will create an instance when the application
323
+ # receives a request. The instance will be turned down when the app becomes idle.
324
+ # Basic scaling is ideal for work that is intermittent or driven by user
325
+ # activity.
326
+ # Corresponds to the JSON property `basicScaling`
327
+ # @return [Google::Apis::AppengineV1beta5::BasicScaling]
328
+ attr_accessor :basic_scaling
329
+
330
+ # A service with manual scaling runs continuously, allowing you to perform
331
+ # complex initialization and rely on the state of its memory over time.
332
+ # Corresponds to the JSON property `manualScaling`
333
+ # @return [Google::Apis::AppengineV1beta5::ManualScaling]
334
+ attr_accessor :manual_scaling
335
+
336
+ # Before an application can receive email or XMPP messages, the application must
337
+ # be configured to enable the service.
338
+ # Corresponds to the JSON property `inboundServices`
339
+ # @return [Array<String>]
340
+ attr_accessor :inbound_services
341
+
342
+ # The instance class to use to run this app. Valid values for AutomaticScaling
343
+ # are `[F1, F2, F4, F4_1G]`. Valid values for ManualScaling and BasicScaling are
344
+ # `[B1, B2, B4, B8, B4_1G]`. Default: "F1" for AutomaticScaling, "B1" for
345
+ # ManualScaling and BasicScaling
346
+ # Corresponds to the JSON property `instanceClass`
347
+ # @return [String]
348
+ attr_accessor :instance_class
349
+
350
+ # Used to specify extra network settings (for VM runtimes only).
351
+ # Corresponds to the JSON property `network`
352
+ # @return [Google::Apis::AppengineV1beta5::Network]
353
+ attr_accessor :network
354
+
355
+ # Used to specify how many machine resources an app version needs.
356
+ # Corresponds to the JSON property `resources`
357
+ # @return [Google::Apis::AppengineV1beta5::Resources]
358
+ attr_accessor :resources
359
+
360
+ # The desired runtime. Values can include python27, java7, go, etc.
361
+ # Corresponds to the JSON property `runtime`
362
+ # @return [String]
363
+ attr_accessor :runtime
364
+
365
+ # If true, multiple requests can be dispatched to the app at once.
366
+ # Corresponds to the JSON property `threadsafe`
367
+ # @return [Boolean]
368
+ attr_accessor :threadsafe
369
+ alias_method :threadsafe?, :threadsafe
370
+
371
+ # Whether to deploy this app in a VM container.
372
+ # Corresponds to the JSON property `vm`
373
+ # @return [Boolean]
374
+ attr_accessor :vm
375
+ alias_method :vm?, :vm
376
+
377
+ # Beta settings supplied to the application via metadata.
378
+ # Corresponds to the JSON property `betaSettings`
379
+ # @return [Hash<String,String>]
380
+ attr_accessor :beta_settings
381
+
382
+ # The App Engine execution environment to use for this version. Default: "1"
383
+ # Corresponds to the JSON property `env`
384
+ # @return [String]
385
+ attr_accessor :env
386
+
387
+ # The current serving status of this version. Only `SERVING` versions will have
388
+ # instances created or billed for. If this field is unset when a version is
389
+ # created, `SERVING` status will be assumed. It is an error to explicitly set
390
+ # this field to `SERVING_STATUS_UNSPECIFIED`.
391
+ # Corresponds to the JSON property `servingStatus`
392
+ # @return [String]
393
+ attr_accessor :serving_status
394
+
395
+ # The email address of the user who created this version. @OutputOnly
396
+ # Corresponds to the JSON property `deployer`
397
+ # @return [String]
398
+ attr_accessor :deployer
399
+
400
+ # Creation time of this version. This will be between the start and end times of
401
+ # the operation that creates this version. @OutputOnly
402
+ # Corresponds to the JSON property `creationTime`
403
+ # @return [String]
404
+ attr_accessor :creation_time
405
+
406
+ # Total size of version files hosted on App Engine disk in bytes. @OutputOnly
407
+ # Corresponds to the JSON property `diskUsageBytes`
408
+ # @return [String]
409
+ attr_accessor :disk_usage_bytes
410
+
411
+ # An ordered list of URL Matching patterns that should be applied to incoming
412
+ # requests. The first matching URL consumes the request, and subsequent handlers
413
+ # are not attempted. Only returned in `GET` requests if `view=FULL` is set. May
414
+ # only be set on create requests; once created, is immutable.
415
+ # Corresponds to the JSON property `handlers`
416
+ # @return [Array<Google::Apis::AppengineV1beta5::UrlMap>]
417
+ attr_accessor :handlers
418
+
419
+ # Custom static error pages instead of these generic error pages, (limit 10 KB/
420
+ # page) Only returned in `GET` requests if `view=FULL` is set. May only be set
421
+ # on create requests; once created, is immutable.
422
+ # Corresponds to the JSON property `errorHandlers`
423
+ # @return [Array<Google::Apis::AppengineV1beta5::ErrorHandler>]
424
+ attr_accessor :error_handlers
425
+
426
+ # Configuration for Python runtime third-party libraries required by the
427
+ # application. Only returned in `GET` requests if `view=FULL` is set. May only
428
+ # be set on create requests; once created, is immutable.
429
+ # Corresponds to the JSON property `libraries`
430
+ # @return [Array<Google::Apis::AppengineV1beta5::Library>]
431
+ attr_accessor :libraries
432
+
433
+ # API Serving configuration for Cloud Endpoints.
434
+ # Corresponds to the JSON property `apiConfig`
435
+ # @return [Google::Apis::AppengineV1beta5::ApiConfigHandler]
436
+ attr_accessor :api_config
437
+
438
+ # Environment variables made available to the application. Only returned in `GET`
439
+ # requests if `view=FULL` is set. May only be set on create requests; once
440
+ # created, is immutable.
441
+ # Corresponds to the JSON property `envVariables`
442
+ # @return [Hash<String,String>]
443
+ attr_accessor :env_variables
444
+
445
+ # The length of time a static file served by a static file handler ought to be
446
+ # cached by web proxies and browsers, if the handler does not specify its own
447
+ # expiration. Only returned in `GET` requests if `view=FULL` is set. May only be
448
+ # set on create requests; once created, is immutable.
449
+ # Corresponds to the JSON property `defaultExpiration`
450
+ # @return [String]
451
+ attr_accessor :default_expiration
452
+
453
+ # Configure health checking for the VM instances. Unhealthy VM instances will be
454
+ # killed and replaced with new instances.
455
+ # Corresponds to the JSON property `healthCheck`
456
+ # @return [Google::Apis::AppengineV1beta5::HealthCheck]
457
+ attr_accessor :health_check
458
+
459
+ # Go only. Files that match this pattern will not be built into the app. May
460
+ # only be set on create requests.
461
+ # Corresponds to the JSON property `nobuildFilesRegex`
462
+ # @return [String]
463
+ attr_accessor :nobuild_files_regex
464
+
465
+ # Code and application artifacts used to deploy a version to App Engine.
466
+ # Corresponds to the JSON property `deployment`
467
+ # @return [Google::Apis::AppengineV1beta5::Deployment]
468
+ attr_accessor :deployment
469
+
470
+ def initialize(**args)
471
+ update!(**args)
472
+ end
473
+
474
+ # Update properties of this object
475
+ def update!(**args)
476
+ @name = args[:name] if args.key?(:name)
477
+ @id = args[:id] if args.key?(:id)
478
+ @automatic_scaling = args[:automatic_scaling] if args.key?(:automatic_scaling)
479
+ @basic_scaling = args[:basic_scaling] if args.key?(:basic_scaling)
480
+ @manual_scaling = args[:manual_scaling] if args.key?(:manual_scaling)
481
+ @inbound_services = args[:inbound_services] if args.key?(:inbound_services)
482
+ @instance_class = args[:instance_class] if args.key?(:instance_class)
483
+ @network = args[:network] if args.key?(:network)
484
+ @resources = args[:resources] if args.key?(:resources)
485
+ @runtime = args[:runtime] if args.key?(:runtime)
486
+ @threadsafe = args[:threadsafe] if args.key?(:threadsafe)
487
+ @vm = args[:vm] if args.key?(:vm)
488
+ @beta_settings = args[:beta_settings] if args.key?(:beta_settings)
489
+ @env = args[:env] if args.key?(:env)
490
+ @serving_status = args[:serving_status] if args.key?(:serving_status)
491
+ @deployer = args[:deployer] if args.key?(:deployer)
492
+ @creation_time = args[:creation_time] if args.key?(:creation_time)
493
+ @disk_usage_bytes = args[:disk_usage_bytes] if args.key?(:disk_usage_bytes)
494
+ @handlers = args[:handlers] if args.key?(:handlers)
495
+ @error_handlers = args[:error_handlers] if args.key?(:error_handlers)
496
+ @libraries = args[:libraries] if args.key?(:libraries)
497
+ @api_config = args[:api_config] if args.key?(:api_config)
498
+ @env_variables = args[:env_variables] if args.key?(:env_variables)
499
+ @default_expiration = args[:default_expiration] if args.key?(:default_expiration)
500
+ @health_check = args[:health_check] if args.key?(:health_check)
501
+ @nobuild_files_regex = args[:nobuild_files_regex] if args.key?(:nobuild_files_regex)
502
+ @deployment = args[:deployment] if args.key?(:deployment)
503
+ end
504
+ end
505
+
506
+ # Automatic scaling is the scaling policy that App Engine has used since its
507
+ # inception. It is based on request rate, response latencies, and other
508
+ # application metrics.
509
+ class AutomaticScaling
510
+ include Google::Apis::Core::Hashable
511
+
512
+ # The amount of time that the [Autoscaler](https://cloud.google.com/compute/docs/
513
+ # autoscaler/) should wait between changes to the number of virtual machines.
514
+ # Applies only to the VM runtime.
515
+ # Corresponds to the JSON property `coolDownPeriod`
516
+ # @return [String]
517
+ attr_accessor :cool_down_period
518
+
519
+ # Target scaling by CPU usage.
520
+ # Corresponds to the JSON property `cpuUtilization`
521
+ # @return [Google::Apis::AppengineV1beta5::CpuUtilization]
522
+ attr_accessor :cpu_utilization
523
+
524
+ # The number of concurrent requests an automatic scaling instance can accept
525
+ # before the scheduler spawns a new instance. Default value is chosen based on
526
+ # the runtime.
527
+ # Corresponds to the JSON property `maxConcurrentRequests`
528
+ # @return [Fixnum]
529
+ attr_accessor :max_concurrent_requests
530
+
531
+ # The maximum number of idle instances that App Engine should maintain for this
532
+ # version.
533
+ # Corresponds to the JSON property `maxIdleInstances`
534
+ # @return [Fixnum]
535
+ attr_accessor :max_idle_instances
536
+
537
+ # Max number of instances that App Engine should start to handle requests.
538
+ # Corresponds to the JSON property `maxTotalInstances`
539
+ # @return [Fixnum]
540
+ attr_accessor :max_total_instances
541
+
542
+ # The maximum amount of time that App Engine should allow a request to wait in
543
+ # the pending queue before starting a new instance to handle it.
544
+ # Corresponds to the JSON property `maxPendingLatency`
545
+ # @return [String]
546
+ attr_accessor :max_pending_latency
547
+
548
+ # The minimum number of idle instances that App Engine should maintain for this
549
+ # version. Only applies to the default version of a service, since other
550
+ # versions are not expected to receive significant traffic.
551
+ # Corresponds to the JSON property `minIdleInstances`
552
+ # @return [Fixnum]
553
+ attr_accessor :min_idle_instances
554
+
555
+ # Minimum number of instances that App Engine should maintain.
556
+ # Corresponds to the JSON property `minTotalInstances`
557
+ # @return [Fixnum]
558
+ attr_accessor :min_total_instances
559
+
560
+ # The minimum amount of time that App Engine should allow a request to wait in
561
+ # the pending queue before starting a new instance to handle it.
562
+ # Corresponds to the JSON property `minPendingLatency`
563
+ # @return [String]
564
+ attr_accessor :min_pending_latency
565
+
566
+ # Target scaling by request utilization (for VM runtimes only).
567
+ # Corresponds to the JSON property `requestUtilization`
568
+ # @return [Google::Apis::AppengineV1beta5::RequestUtilization]
569
+ attr_accessor :request_utilization
570
+
571
+ # Target scaling by disk usage (for VM runtimes only).
572
+ # Corresponds to the JSON property `diskUtilization`
573
+ # @return [Google::Apis::AppengineV1beta5::DiskUtilization]
574
+ attr_accessor :disk_utilization
575
+
576
+ # Target scaling by network usage (for VM runtimes only).
577
+ # Corresponds to the JSON property `networkUtilization`
578
+ # @return [Google::Apis::AppengineV1beta5::NetworkUtilization]
579
+ attr_accessor :network_utilization
580
+
581
+ def initialize(**args)
582
+ update!(**args)
583
+ end
584
+
585
+ # Update properties of this object
586
+ def update!(**args)
587
+ @cool_down_period = args[:cool_down_period] if args.key?(:cool_down_period)
588
+ @cpu_utilization = args[:cpu_utilization] if args.key?(:cpu_utilization)
589
+ @max_concurrent_requests = args[:max_concurrent_requests] if args.key?(:max_concurrent_requests)
590
+ @max_idle_instances = args[:max_idle_instances] if args.key?(:max_idle_instances)
591
+ @max_total_instances = args[:max_total_instances] if args.key?(:max_total_instances)
592
+ @max_pending_latency = args[:max_pending_latency] if args.key?(:max_pending_latency)
593
+ @min_idle_instances = args[:min_idle_instances] if args.key?(:min_idle_instances)
594
+ @min_total_instances = args[:min_total_instances] if args.key?(:min_total_instances)
595
+ @min_pending_latency = args[:min_pending_latency] if args.key?(:min_pending_latency)
596
+ @request_utilization = args[:request_utilization] if args.key?(:request_utilization)
597
+ @disk_utilization = args[:disk_utilization] if args.key?(:disk_utilization)
598
+ @network_utilization = args[:network_utilization] if args.key?(:network_utilization)
599
+ end
600
+ end
601
+
602
+ # Target scaling by CPU usage.
603
+ class CpuUtilization
604
+ include Google::Apis::Core::Hashable
605
+
606
+ # The period of time over which CPU utilization is calculated.
607
+ # Corresponds to the JSON property `aggregationWindowLength`
608
+ # @return [String]
609
+ attr_accessor :aggregation_window_length
610
+
611
+ # Target (0-1) CPU utilization ratio to maintain when scaling.
612
+ # Corresponds to the JSON property `targetUtilization`
613
+ # @return [Float]
614
+ attr_accessor :target_utilization
615
+
616
+ def initialize(**args)
617
+ update!(**args)
618
+ end
619
+
620
+ # Update properties of this object
621
+ def update!(**args)
622
+ @aggregation_window_length = args[:aggregation_window_length] if args.key?(:aggregation_window_length)
623
+ @target_utilization = args[:target_utilization] if args.key?(:target_utilization)
624
+ end
625
+ end
626
+
627
+ # Target scaling by request utilization (for VM runtimes only).
628
+ class RequestUtilization
629
+ include Google::Apis::Core::Hashable
630
+
631
+ # Target requests per second.
632
+ # Corresponds to the JSON property `targetRequestCountPerSec`
633
+ # @return [Fixnum]
634
+ attr_accessor :target_request_count_per_sec
635
+
636
+ # Target number of concurrent requests.
637
+ # Corresponds to the JSON property `targetConcurrentRequests`
638
+ # @return [Fixnum]
639
+ attr_accessor :target_concurrent_requests
640
+
641
+ def initialize(**args)
642
+ update!(**args)
643
+ end
644
+
645
+ # Update properties of this object
646
+ def update!(**args)
647
+ @target_request_count_per_sec = args[:target_request_count_per_sec] if args.key?(:target_request_count_per_sec)
648
+ @target_concurrent_requests = args[:target_concurrent_requests] if args.key?(:target_concurrent_requests)
649
+ end
650
+ end
651
+
652
+ # Target scaling by disk usage (for VM runtimes only).
653
+ class DiskUtilization
654
+ include Google::Apis::Core::Hashable
655
+
656
+ # Target bytes per second written.
657
+ # Corresponds to the JSON property `targetWriteBytesPerSec`
658
+ # @return [Fixnum]
659
+ attr_accessor :target_write_bytes_per_sec
660
+
661
+ # Target ops per second written.
662
+ # Corresponds to the JSON property `targetWriteOpsPerSec`
663
+ # @return [Fixnum]
664
+ attr_accessor :target_write_ops_per_sec
665
+
666
+ # Target bytes per second read.
667
+ # Corresponds to the JSON property `targetReadBytesPerSec`
668
+ # @return [Fixnum]
669
+ attr_accessor :target_read_bytes_per_sec
670
+
671
+ # Target ops per second read.
672
+ # Corresponds to the JSON property `targetReadOpsPerSec`
673
+ # @return [Fixnum]
674
+ attr_accessor :target_read_ops_per_sec
675
+
676
+ def initialize(**args)
677
+ update!(**args)
678
+ end
679
+
680
+ # Update properties of this object
681
+ def update!(**args)
682
+ @target_write_bytes_per_sec = args[:target_write_bytes_per_sec] if args.key?(:target_write_bytes_per_sec)
683
+ @target_write_ops_per_sec = args[:target_write_ops_per_sec] if args.key?(:target_write_ops_per_sec)
684
+ @target_read_bytes_per_sec = args[:target_read_bytes_per_sec] if args.key?(:target_read_bytes_per_sec)
685
+ @target_read_ops_per_sec = args[:target_read_ops_per_sec] if args.key?(:target_read_ops_per_sec)
686
+ end
687
+ end
688
+
689
+ # Target scaling by network usage (for VM runtimes only).
690
+ class NetworkUtilization
691
+ include Google::Apis::Core::Hashable
692
+
693
+ # Target bytes per second sent.
694
+ # Corresponds to the JSON property `targetSentBytesPerSec`
695
+ # @return [Fixnum]
696
+ attr_accessor :target_sent_bytes_per_sec
697
+
698
+ # Target packets per second sent.
699
+ # Corresponds to the JSON property `targetSentPacketsPerSec`
700
+ # @return [Fixnum]
701
+ attr_accessor :target_sent_packets_per_sec
702
+
703
+ # Target bytes per second received.
704
+ # Corresponds to the JSON property `targetReceivedBytesPerSec`
705
+ # @return [Fixnum]
706
+ attr_accessor :target_received_bytes_per_sec
707
+
708
+ # Target packets per second received.
709
+ # Corresponds to the JSON property `targetReceivedPacketsPerSec`
710
+ # @return [Fixnum]
711
+ attr_accessor :target_received_packets_per_sec
712
+
713
+ def initialize(**args)
714
+ update!(**args)
715
+ end
716
+
717
+ # Update properties of this object
718
+ def update!(**args)
719
+ @target_sent_bytes_per_sec = args[:target_sent_bytes_per_sec] if args.key?(:target_sent_bytes_per_sec)
720
+ @target_sent_packets_per_sec = args[:target_sent_packets_per_sec] if args.key?(:target_sent_packets_per_sec)
721
+ @target_received_bytes_per_sec = args[:target_received_bytes_per_sec] if args.key?(:target_received_bytes_per_sec)
722
+ @target_received_packets_per_sec = args[:target_received_packets_per_sec] if args.key?(:target_received_packets_per_sec)
723
+ end
724
+ end
725
+
726
+ # A service with basic scaling will create an instance when the application
727
+ # receives a request. The instance will be turned down when the app becomes idle.
728
+ # Basic scaling is ideal for work that is intermittent or driven by user
729
+ # activity.
730
+ class BasicScaling
731
+ include Google::Apis::Core::Hashable
732
+
733
+ # The instance will be shut down this amount of time after receiving its last
734
+ # request.
735
+ # Corresponds to the JSON property `idleTimeout`
736
+ # @return [String]
737
+ attr_accessor :idle_timeout
738
+
739
+ # The maximum number of instances for App Engine to create for this version.
740
+ # Corresponds to the JSON property `maxInstances`
741
+ # @return [Fixnum]
742
+ attr_accessor :max_instances
743
+
744
+ def initialize(**args)
745
+ update!(**args)
746
+ end
747
+
748
+ # Update properties of this object
749
+ def update!(**args)
750
+ @idle_timeout = args[:idle_timeout] if args.key?(:idle_timeout)
751
+ @max_instances = args[:max_instances] if args.key?(:max_instances)
752
+ end
753
+ end
754
+
755
+ # A service with manual scaling runs continuously, allowing you to perform
756
+ # complex initialization and rely on the state of its memory over time.
757
+ class ManualScaling
758
+ include Google::Apis::Core::Hashable
759
+
760
+ # The number of instances to assign to the service at the start. This number can
761
+ # later be altered by using the [Modules API](https://cloud.google.com/appengine/
762
+ # docs/python/modules/functions) `set_num_instances()` function.
763
+ # Corresponds to the JSON property `instances`
764
+ # @return [Fixnum]
765
+ attr_accessor :instances
766
+
767
+ def initialize(**args)
768
+ update!(**args)
769
+ end
770
+
771
+ # Update properties of this object
772
+ def update!(**args)
773
+ @instances = args[:instances] if args.key?(:instances)
774
+ end
775
+ end
776
+
777
+ # Used to specify extra network settings (for VM runtimes only).
778
+ class Network
779
+ include Google::Apis::Core::Hashable
780
+
781
+ # A list of ports (or port pairs) to forward from the VM into the app container.
782
+ # Corresponds to the JSON property `forwardedPorts`
783
+ # @return [Array<String>]
784
+ attr_accessor :forwarded_ports
785
+
786
+ # A tag to apply to the VM instance during creation.
787
+ # Corresponds to the JSON property `instanceTag`
788
+ # @return [String]
789
+ attr_accessor :instance_tag
790
+
791
+ # The Google Compute Engine network where the VMs will be created. If not
792
+ # specified, or empty, the network named "default" will be used. (The short name
793
+ # should be specified, not the resource path.)
794
+ # Corresponds to the JSON property `name`
795
+ # @return [String]
796
+ attr_accessor :name
797
+
798
+ def initialize(**args)
799
+ update!(**args)
800
+ end
801
+
802
+ # Update properties of this object
803
+ def update!(**args)
804
+ @forwarded_ports = args[:forwarded_ports] if args.key?(:forwarded_ports)
805
+ @instance_tag = args[:instance_tag] if args.key?(:instance_tag)
806
+ @name = args[:name] if args.key?(:name)
807
+ end
808
+ end
809
+
810
+ # Used to specify how many machine resources an app version needs.
811
+ class Resources
812
+ include Google::Apis::Core::Hashable
813
+
814
+ # How many CPU cores an app version needs.
815
+ # Corresponds to the JSON property `cpu`
816
+ # @return [Float]
817
+ attr_accessor :cpu
818
+
819
+ # How much disk size, in GB, an app version needs.
820
+ # Corresponds to the JSON property `diskGb`
821
+ # @return [Float]
822
+ attr_accessor :disk_gb
823
+
824
+ # How much memory, in GB, an app version needs.
825
+ # Corresponds to the JSON property `memoryGb`
826
+ # @return [Float]
827
+ attr_accessor :memory_gb
828
+
829
+ def initialize(**args)
830
+ update!(**args)
831
+ end
832
+
833
+ # Update properties of this object
834
+ def update!(**args)
835
+ @cpu = args[:cpu] if args.key?(:cpu)
836
+ @disk_gb = args[:disk_gb] if args.key?(:disk_gb)
837
+ @memory_gb = args[:memory_gb] if args.key?(:memory_gb)
838
+ end
839
+ end
840
+
841
+ # A URL pattern and description of how it should be handled. App Engine can
842
+ # handle URLs by executing application code, or by serving static files uploaded
843
+ # with the code, such as images, CSS or JavaScript.
844
+ class UrlMap
845
+ include Google::Apis::Core::Hashable
846
+
847
+ # A URL prefix. This value uses regular expression syntax (and so regexp special
848
+ # characters must be escaped), but it should not contain groupings. All URLs
849
+ # that begin with this prefix are handled by this handler, using the portion of
850
+ # the URL after the prefix as part of the file path. This is always required.
851
+ # Corresponds to the JSON property `urlRegex`
852
+ # @return [String]
853
+ attr_accessor :url_regex
854
+
855
+ # Files served directly to the user for a given URL, such as images, CSS
856
+ # stylesheets, or JavaScript source files. Static file handlers describe which
857
+ # files in the application directory are static files, and which URLs serve them.
858
+ # Corresponds to the JSON property `staticFiles`
859
+ # @return [Google::Apis::AppengineV1beta5::StaticFilesHandler]
860
+ attr_accessor :static_files
861
+
862
+ # Executes a script to handle the request that matches the URL pattern.
863
+ # Corresponds to the JSON property `script`
864
+ # @return [Google::Apis::AppengineV1beta5::ScriptHandler]
865
+ attr_accessor :script
866
+
867
+ # Use Google Cloud Endpoints to handle requests.
868
+ # Corresponds to the JSON property `apiEndpoint`
869
+ # @return [Google::Apis::AppengineV1beta5::ApiEndpointHandler]
870
+ attr_accessor :api_endpoint
871
+
872
+ # Configures whether security (HTTPS) should be enforced for this URL.
873
+ # Corresponds to the JSON property `securityLevel`
874
+ # @return [String]
875
+ attr_accessor :security_level
876
+
877
+ # What level of login is required to access this resource.
878
+ # Corresponds to the JSON property `login`
879
+ # @return [String]
880
+ attr_accessor :login
881
+
882
+ # For users not logged in, how to handle access to resources with required login.
883
+ # Defaults to "redirect".
884
+ # Corresponds to the JSON property `authFailAction`
885
+ # @return [String]
886
+ attr_accessor :auth_fail_action
887
+
888
+ # `30x` code to use when performing redirects for the `secure` field. A `302` is
889
+ # used by default.
890
+ # Corresponds to the JSON property `redirectHttpResponseCode`
891
+ # @return [String]
892
+ attr_accessor :redirect_http_response_code
893
+
894
+ def initialize(**args)
895
+ update!(**args)
896
+ end
897
+
898
+ # Update properties of this object
899
+ def update!(**args)
900
+ @url_regex = args[:url_regex] if args.key?(:url_regex)
901
+ @static_files = args[:static_files] if args.key?(:static_files)
902
+ @script = args[:script] if args.key?(:script)
903
+ @api_endpoint = args[:api_endpoint] if args.key?(:api_endpoint)
904
+ @security_level = args[:security_level] if args.key?(:security_level)
905
+ @login = args[:login] if args.key?(:login)
906
+ @auth_fail_action = args[:auth_fail_action] if args.key?(:auth_fail_action)
907
+ @redirect_http_response_code = args[:redirect_http_response_code] if args.key?(:redirect_http_response_code)
908
+ end
909
+ end
910
+
911
+ # Files served directly to the user for a given URL, such as images, CSS
912
+ # stylesheets, or JavaScript source files. Static file handlers describe which
913
+ # files in the application directory are static files, and which URLs serve them.
914
+ class StaticFilesHandler
915
+ include Google::Apis::Core::Hashable
916
+
917
+ # The path to the static files matched by the URL pattern, from the application
918
+ # root directory. The path can refer to text matched in groupings in the URL
919
+ # pattern.
920
+ # Corresponds to the JSON property `path`
921
+ # @return [String]
922
+ attr_accessor :path
923
+
924
+ # A regular expression that matches the file paths for all files that will be
925
+ # referenced by this handler.
926
+ # Corresponds to the JSON property `uploadPathRegex`
927
+ # @return [String]
928
+ attr_accessor :upload_path_regex
929
+
930
+ # HTTP headers to use for all responses from these URLs.
931
+ # Corresponds to the JSON property `httpHeaders`
932
+ # @return [Hash<String,String>]
933
+ attr_accessor :http_headers
934
+
935
+ # If specified, all files served by this handler will be served using the
936
+ # specified MIME type. If not specified, the MIME type for a file will be
937
+ # derived from the file's filename extension.
938
+ # Corresponds to the JSON property `mimeType`
939
+ # @return [String]
940
+ attr_accessor :mime_type
941
+
942
+ # The length of time a static file served by this handler ought to be cached by
943
+ # web proxies and browsers.
944
+ # Corresponds to the JSON property `expiration`
945
+ # @return [String]
946
+ attr_accessor :expiration
947
+
948
+ # If true, this UrlMap entry does not match the request unless the file
949
+ # referenced by the handler also exists. If no such file exists, processing will
950
+ # continue with the next UrlMap that matches the requested URL.
951
+ # Corresponds to the JSON property `requireMatchingFile`
952
+ # @return [Boolean]
953
+ attr_accessor :require_matching_file
954
+ alias_method :require_matching_file?, :require_matching_file
955
+
956
+ # By default, files declared in static file handlers are uploaded as static data
957
+ # and are only served to end users, they cannot be read by an application. If
958
+ # this field is set to true, the files are also uploaded as code data so your
959
+ # application can read them. Both uploads are charged against your code and
960
+ # static data storage resource quotas.
961
+ # Corresponds to the JSON property `applicationReadable`
962
+ # @return [Boolean]
963
+ attr_accessor :application_readable
964
+ alias_method :application_readable?, :application_readable
965
+
966
+ def initialize(**args)
967
+ update!(**args)
968
+ end
969
+
970
+ # Update properties of this object
971
+ def update!(**args)
972
+ @path = args[:path] if args.key?(:path)
973
+ @upload_path_regex = args[:upload_path_regex] if args.key?(:upload_path_regex)
974
+ @http_headers = args[:http_headers] if args.key?(:http_headers)
975
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
976
+ @expiration = args[:expiration] if args.key?(:expiration)
977
+ @require_matching_file = args[:require_matching_file] if args.key?(:require_matching_file)
978
+ @application_readable = args[:application_readable] if args.key?(:application_readable)
979
+ end
980
+ end
981
+
982
+ # Executes a script to handle the request that matches the URL pattern.
983
+ class ScriptHandler
984
+ include Google::Apis::Core::Hashable
985
+
986
+ # Specifies the path to the script from the application root directory.
987
+ # Corresponds to the JSON property `scriptPath`
988
+ # @return [String]
989
+ attr_accessor :script_path
990
+
991
+ def initialize(**args)
992
+ update!(**args)
993
+ end
994
+
995
+ # Update properties of this object
996
+ def update!(**args)
997
+ @script_path = args[:script_path] if args.key?(:script_path)
998
+ end
999
+ end
1000
+
1001
+ # Use Google Cloud Endpoints to handle requests.
1002
+ class ApiEndpointHandler
1003
+ include Google::Apis::Core::Hashable
1004
+
1005
+ # Specifies the path to the script from the application root directory.
1006
+ # Corresponds to the JSON property `scriptPath`
1007
+ # @return [String]
1008
+ attr_accessor :script_path
1009
+
1010
+ def initialize(**args)
1011
+ update!(**args)
1012
+ end
1013
+
1014
+ # Update properties of this object
1015
+ def update!(**args)
1016
+ @script_path = args[:script_path] if args.key?(:script_path)
1017
+ end
1018
+ end
1019
+
1020
+ # A custom static error page to be served when an error occurs.
1021
+ class ErrorHandler
1022
+ include Google::Apis::Core::Hashable
1023
+
1024
+ # The error condition this handler applies to.
1025
+ # Corresponds to the JSON property `errorCode`
1026
+ # @return [String]
1027
+ attr_accessor :error_code
1028
+
1029
+ # Static file content to be served for this error.
1030
+ # Corresponds to the JSON property `staticFile`
1031
+ # @return [String]
1032
+ attr_accessor :static_file
1033
+
1034
+ # MIME type of file. If unspecified, "text/html" is assumed.
1035
+ # Corresponds to the JSON property `mimeType`
1036
+ # @return [String]
1037
+ attr_accessor :mime_type
1038
+
1039
+ def initialize(**args)
1040
+ update!(**args)
1041
+ end
1042
+
1043
+ # Update properties of this object
1044
+ def update!(**args)
1045
+ @error_code = args[:error_code] if args.key?(:error_code)
1046
+ @static_file = args[:static_file] if args.key?(:static_file)
1047
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
1048
+ end
1049
+ end
1050
+
1051
+ # A Python runtime third-party library required by the application.
1052
+ class Library
1053
+ include Google::Apis::Core::Hashable
1054
+
1055
+ # The name of the library, e.g. "PIL" or "django".
1056
+ # Corresponds to the JSON property `name`
1057
+ # @return [String]
1058
+ attr_accessor :name
1059
+
1060
+ # The version of the library to select, or "latest".
1061
+ # Corresponds to the JSON property `version`
1062
+ # @return [String]
1063
+ attr_accessor :version
1064
+
1065
+ def initialize(**args)
1066
+ update!(**args)
1067
+ end
1068
+
1069
+ # Update properties of this object
1070
+ def update!(**args)
1071
+ @name = args[:name] if args.key?(:name)
1072
+ @version = args[:version] if args.key?(:version)
1073
+ end
1074
+ end
1075
+
1076
+ # API Serving configuration for Cloud Endpoints.
1077
+ class ApiConfigHandler
1078
+ include Google::Apis::Core::Hashable
1079
+
1080
+ # For users not logged in, how to handle access to resources with required login.
1081
+ # Defaults to "redirect".
1082
+ # Corresponds to the JSON property `authFailAction`
1083
+ # @return [String]
1084
+ attr_accessor :auth_fail_action
1085
+
1086
+ # What level of login is required to access this resource. Default is "optional".
1087
+ # Corresponds to the JSON property `login`
1088
+ # @return [String]
1089
+ attr_accessor :login
1090
+
1091
+ # Specifies the path to the script from the application root directory.
1092
+ # Corresponds to the JSON property `script`
1093
+ # @return [String]
1094
+ attr_accessor :script
1095
+
1096
+ # Configures whether security (HTTPS) should be enforced for this URL.
1097
+ # Corresponds to the JSON property `securityLevel`
1098
+ # @return [String]
1099
+ attr_accessor :security_level
1100
+
1101
+ # URL to serve the endpoint at.
1102
+ # Corresponds to the JSON property `url`
1103
+ # @return [String]
1104
+ attr_accessor :url
1105
+
1106
+ def initialize(**args)
1107
+ update!(**args)
1108
+ end
1109
+
1110
+ # Update properties of this object
1111
+ def update!(**args)
1112
+ @auth_fail_action = args[:auth_fail_action] if args.key?(:auth_fail_action)
1113
+ @login = args[:login] if args.key?(:login)
1114
+ @script = args[:script] if args.key?(:script)
1115
+ @security_level = args[:security_level] if args.key?(:security_level)
1116
+ @url = args[:url] if args.key?(:url)
1117
+ end
1118
+ end
1119
+
1120
+ # Configure health checking for the VM instances. Unhealthy VM instances will be
1121
+ # killed and replaced with new instances.
1122
+ class HealthCheck
1123
+ include Google::Apis::Core::Hashable
1124
+
1125
+ # Whether to explicitly disable health checks for this instance.
1126
+ # Corresponds to the JSON property `disableHealthCheck`
1127
+ # @return [Boolean]
1128
+ attr_accessor :disable_health_check
1129
+ alias_method :disable_health_check?, :disable_health_check
1130
+
1131
+ # The host header to send when performing an HTTP health check (e.g. myapp.
1132
+ # appspot.com)
1133
+ # Corresponds to the JSON property `host`
1134
+ # @return [String]
1135
+ attr_accessor :host
1136
+
1137
+ # The number of consecutive successful health checks before receiving traffic.
1138
+ # Corresponds to the JSON property `healthyThreshold`
1139
+ # @return [Fixnum]
1140
+ attr_accessor :healthy_threshold
1141
+
1142
+ # The number of consecutive failed health checks before removing traffic.
1143
+ # Corresponds to the JSON property `unhealthyThreshold`
1144
+ # @return [Fixnum]
1145
+ attr_accessor :unhealthy_threshold
1146
+
1147
+ # The number of consecutive failed health checks before an instance is restarted.
1148
+ # Corresponds to the JSON property `restartThreshold`
1149
+ # @return [Fixnum]
1150
+ attr_accessor :restart_threshold
1151
+
1152
+ # The interval between health checks.
1153
+ # Corresponds to the JSON property `checkInterval`
1154
+ # @return [String]
1155
+ attr_accessor :check_interval
1156
+
1157
+ # The amount of time before the health check is considered failed.
1158
+ # Corresponds to the JSON property `timeout`
1159
+ # @return [String]
1160
+ attr_accessor :timeout
1161
+
1162
+ def initialize(**args)
1163
+ update!(**args)
1164
+ end
1165
+
1166
+ # Update properties of this object
1167
+ def update!(**args)
1168
+ @disable_health_check = args[:disable_health_check] if args.key?(:disable_health_check)
1169
+ @host = args[:host] if args.key?(:host)
1170
+ @healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold)
1171
+ @unhealthy_threshold = args[:unhealthy_threshold] if args.key?(:unhealthy_threshold)
1172
+ @restart_threshold = args[:restart_threshold] if args.key?(:restart_threshold)
1173
+ @check_interval = args[:check_interval] if args.key?(:check_interval)
1174
+ @timeout = args[:timeout] if args.key?(:timeout)
1175
+ end
1176
+ end
1177
+
1178
+ # Code and application artifacts used to deploy a version to App Engine.
1179
+ class Deployment
1180
+ include Google::Apis::Core::Hashable
1181
+
1182
+ # A manifest of files stored in Google Cloud Storage which should be included as
1183
+ # part of this application. All files must be readable using the credentials
1184
+ # supplied with this call.
1185
+ # Corresponds to the JSON property `files`
1186
+ # @return [Hash<String,Google::Apis::AppengineV1beta5::FileInfo>]
1187
+ attr_accessor :files
1188
+
1189
+ # A Docker (container) image which should be used to start the application.
1190
+ # Corresponds to the JSON property `container`
1191
+ # @return [Google::Apis::AppengineV1beta5::ContainerInfo]
1192
+ attr_accessor :container
1193
+
1194
+ # The origin of the source code for this deployment. There can be more than one
1195
+ # source reference per Version if source code is distributed among multiple
1196
+ # repositories.
1197
+ # Corresponds to the JSON property `sourceReferences`
1198
+ # @return [Array<Google::Apis::AppengineV1beta5::SourceReference>]
1199
+ attr_accessor :source_references
1200
+
1201
+ def initialize(**args)
1202
+ update!(**args)
1203
+ end
1204
+
1205
+ # Update properties of this object
1206
+ def update!(**args)
1207
+ @files = args[:files] if args.key?(:files)
1208
+ @container = args[:container] if args.key?(:container)
1209
+ @source_references = args[:source_references] if args.key?(:source_references)
1210
+ end
1211
+ end
1212
+
1213
+ # A single source file which is part of the application to be deployed.
1214
+ class FileInfo
1215
+ include Google::Apis::Core::Hashable
1216
+
1217
+ # The URL source to use to fetch this file. Must be a URL to a resource in
1218
+ # Google Cloud Storage in the form 'http(s)://storage.googleapis.com/\/\'.
1219
+ # Corresponds to the JSON property `sourceUrl`
1220
+ # @return [String]
1221
+ attr_accessor :source_url
1222
+
1223
+ # The SHA1 (160 bits) hash of the file in hex.
1224
+ # Corresponds to the JSON property `sha1Sum`
1225
+ # @return [String]
1226
+ attr_accessor :sha1_sum
1227
+
1228
+ # The MIME type of the file; if unspecified, the value from Google Cloud Storage
1229
+ # will be used.
1230
+ # Corresponds to the JSON property `mimeType`
1231
+ # @return [String]
1232
+ attr_accessor :mime_type
1233
+
1234
+ def initialize(**args)
1235
+ update!(**args)
1236
+ end
1237
+
1238
+ # Update properties of this object
1239
+ def update!(**args)
1240
+ @source_url = args[:source_url] if args.key?(:source_url)
1241
+ @sha1_sum = args[:sha1_sum] if args.key?(:sha1_sum)
1242
+ @mime_type = args[:mime_type] if args.key?(:mime_type)
1243
+ end
1244
+ end
1245
+
1246
+ # A Docker (container) image which should be used to start the application.
1247
+ class ContainerInfo
1248
+ include Google::Apis::Core::Hashable
1249
+
1250
+ # Reference to a hosted container image. Must be a URI to a resource in a Docker
1251
+ # repository. Must be fully qualified, including tag or digest. e.g. gcr.io/my-
1252
+ # project/image:tag or gcr.io/my-project/image@digest
1253
+ # Corresponds to the JSON property `image`
1254
+ # @return [String]
1255
+ attr_accessor :image
1256
+
1257
+ def initialize(**args)
1258
+ update!(**args)
1259
+ end
1260
+
1261
+ # Update properties of this object
1262
+ def update!(**args)
1263
+ @image = args[:image] if args.key?(:image)
1264
+ end
1265
+ end
1266
+
1267
+ # A reference to a particular snapshot of the source tree used to build and
1268
+ # deploy the application.
1269
+ class SourceReference
1270
+ include Google::Apis::Core::Hashable
1271
+
1272
+ # Optional. A URI string identifying the repository. Example: "https://source.
1273
+ # developers.google.com/p/app-123/r/default"
1274
+ # Corresponds to the JSON property `repository`
1275
+ # @return [String]
1276
+ attr_accessor :repository
1277
+
1278
+ # The canonical (and persistent) identifier of the deployed revision, i.e. any
1279
+ # kind of aliases including tags or branch names are not allowed. Example (git):
1280
+ # "2198322f89e0bb2e25021667c2ed489d1fd34e6b"
1281
+ # Corresponds to the JSON property `revisionId`
1282
+ # @return [String]
1283
+ attr_accessor :revision_id
1284
+
1285
+ def initialize(**args)
1286
+ update!(**args)
1287
+ end
1288
+
1289
+ # Update properties of this object
1290
+ def update!(**args)
1291
+ @repository = args[:repository] if args.key?(:repository)
1292
+ @revision_id = args[:revision_id] if args.key?(:revision_id)
1293
+ end
1294
+ end
1295
+
1296
+ # Response message for `Versions.ListVersions`.
1297
+ class ListVersionsResponse
1298
+ include Google::Apis::Core::Hashable
1299
+
1300
+ # The versions belonging to the requested application service.
1301
+ # Corresponds to the JSON property `versions`
1302
+ # @return [Array<Google::Apis::AppengineV1beta5::Version>]
1303
+ attr_accessor :versions
1304
+
1305
+ # Continuation token for fetching the next page of results.
1306
+ # Corresponds to the JSON property `nextPageToken`
1307
+ # @return [String]
1308
+ attr_accessor :next_page_token
1309
+
1310
+ def initialize(**args)
1311
+ update!(**args)
1312
+ end
1313
+
1314
+ # Update properties of this object
1315
+ def update!(**args)
1316
+ @versions = args[:versions] if args.key?(:versions)
1317
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1318
+ end
1319
+ end
1320
+
1321
+ # A service is a logical component of an application that can share state and
1322
+ # communicate in a secure fashion with other services. For example, an
1323
+ # application that handles customer requests might include separate services to
1324
+ # handle other tasks such as API requests from mobile devices or backend data
1325
+ # analysis. Each service has a collection of versions that define a specific set
1326
+ # of code used to implement the functionality of that service.
1327
+ class Service
1328
+ include Google::Apis::Core::Hashable
1329
+
1330
+ # The full path to the Service resource in the API. Example: "apps/myapp/
1331
+ # services/default" @OutputOnly
1332
+ # Corresponds to the JSON property `name`
1333
+ # @return [String]
1334
+ attr_accessor :name
1335
+
1336
+ # The relative name/path of the service within the application. Example: "
1337
+ # default" @OutputOnly
1338
+ # Corresponds to the JSON property `id`
1339
+ # @return [String]
1340
+ attr_accessor :id
1341
+
1342
+ # Configuration for traffic splitting for versions within a single service.
1343
+ # Traffic splitting allows traffic directed to the service to be assigned to one
1344
+ # of several versions in a fractional way, enabling experiments and canarying
1345
+ # new builds, for example.
1346
+ # Corresponds to the JSON property `split`
1347
+ # @return [Google::Apis::AppengineV1beta5::TrafficSplit]
1348
+ attr_accessor :split
1349
+
1350
+ def initialize(**args)
1351
+ update!(**args)
1352
+ end
1353
+
1354
+ # Update properties of this object
1355
+ def update!(**args)
1356
+ @name = args[:name] if args.key?(:name)
1357
+ @id = args[:id] if args.key?(:id)
1358
+ @split = args[:split] if args.key?(:split)
1359
+ end
1360
+ end
1361
+
1362
+ # Configuration for traffic splitting for versions within a single service.
1363
+ # Traffic splitting allows traffic directed to the service to be assigned to one
1364
+ # of several versions in a fractional way, enabling experiments and canarying
1365
+ # new builds, for example.
1366
+ class TrafficSplit
1367
+ include Google::Apis::Core::Hashable
1368
+
1369
+ # Which mechanism should be used as a selector when choosing a version to send a
1370
+ # request to. The traffic selection algorithm will be stable for either type
1371
+ # until allocations are changed.
1372
+ # Corresponds to the JSON property `shardBy`
1373
+ # @return [String]
1374
+ attr_accessor :shard_by
1375
+
1376
+ # Mapping from service version IDs within the service to fractional (0.000, 1]
1377
+ # allocations of traffic for that version. Each version may only be specified
1378
+ # once, but some versions in the service may not have any traffic allocation.
1379
+ # Services that have traffic allocated in this field may not be deleted until
1380
+ # the service is deleted, or their traffic allocation is removed. Allocations
1381
+ # must sum to 1. Supports precision up to two decimal places for IP-based splits
1382
+ # and up to three decimal places for cookie-based splits.
1383
+ # Corresponds to the JSON property `allocations`
1384
+ # @return [Hash<String,Float>]
1385
+ attr_accessor :allocations
1386
+
1387
+ def initialize(**args)
1388
+ update!(**args)
1389
+ end
1390
+
1391
+ # Update properties of this object
1392
+ def update!(**args)
1393
+ @shard_by = args[:shard_by] if args.key?(:shard_by)
1394
+ @allocations = args[:allocations] if args.key?(:allocations)
1395
+ end
1396
+ end
1397
+
1398
+ # Response message for `Services.ListServices`.
1399
+ class ListServicesResponse
1400
+ include Google::Apis::Core::Hashable
1401
+
1402
+ # The services belonging to the requested application.
1403
+ # Corresponds to the JSON property `services`
1404
+ # @return [Array<Google::Apis::AppengineV1beta5::Service>]
1405
+ attr_accessor :services
1406
+
1407
+ # Continuation token for fetching the next page of results.
1408
+ # Corresponds to the JSON property `nextPageToken`
1409
+ # @return [String]
1410
+ attr_accessor :next_page_token
1411
+
1412
+ def initialize(**args)
1413
+ update!(**args)
1414
+ end
1415
+
1416
+ # Update properties of this object
1417
+ def update!(**args)
1418
+ @services = args[:services] if args.key?(:services)
1419
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1420
+ end
1421
+ end
1422
+
1423
+ # Metadata for the given google.longrunning.Operation.
1424
+ class OperationMetadata
1425
+ include Google::Apis::Core::Hashable
1426
+
1427
+ # The type of the operation (deprecated, use method field instead). Example: "
1428
+ # create_version". @OutputOnly
1429
+ # Corresponds to the JSON property `operationType`
1430
+ # @return [String]
1431
+ attr_accessor :operation_type
1432
+
1433
+ # Timestamp that this operation was received. @OutputOnly
1434
+ # Corresponds to the JSON property `insertTime`
1435
+ # @return [String]
1436
+ attr_accessor :insert_time
1437
+
1438
+ # Timestamp that this operation was completed. (Not present if the operation is
1439
+ # still in progress.) @OutputOnly
1440
+ # Corresponds to the JSON property `endTime`
1441
+ # @return [String]
1442
+ attr_accessor :end_time
1443
+
1444
+ # The user who requested this operation. @OutputOnly
1445
+ # Corresponds to the JSON property `user`
1446
+ # @return [String]
1447
+ attr_accessor :user
1448
+
1449
+ # Resource that this operation is acting on. Example: "apps/myapp/modules/
1450
+ # default". @OutputOnly
1451
+ # Corresponds to the JSON property `target`
1452
+ # @return [String]
1453
+ attr_accessor :target
1454
+
1455
+ # API method name that initiated the operation. Example: "google.appengine.
1456
+ # v1beta4.Version.CreateVersion". @OutputOnly
1457
+ # Corresponds to the JSON property `method`
1458
+ # @return [String]
1459
+ attr_accessor :method_prop
1460
+
1461
+ def initialize(**args)
1462
+ update!(**args)
1463
+ end
1464
+
1465
+ # Update properties of this object
1466
+ def update!(**args)
1467
+ @operation_type = args[:operation_type] if args.key?(:operation_type)
1468
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
1469
+ @end_time = args[:end_time] if args.key?(:end_time)
1470
+ @user = args[:user] if args.key?(:user)
1471
+ @target = args[:target] if args.key?(:target)
1472
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
1473
+ end
1474
+ end
1475
+
1476
+ # Metadata for the given google.longrunning.Operation.
1477
+ class OperationMetadataV1Beta5
1478
+ include Google::Apis::Core::Hashable
1479
+
1480
+ # API method name that initiated the operation. Example: "google.appengine.
1481
+ # v1beta5.Version.CreateVersion". @OutputOnly
1482
+ # Corresponds to the JSON property `method`
1483
+ # @return [String]
1484
+ attr_accessor :method_prop
1485
+
1486
+ # Timestamp that this operation was received. @OutputOnly
1487
+ # Corresponds to the JSON property `insertTime`
1488
+ # @return [String]
1489
+ attr_accessor :insert_time
1490
+
1491
+ # Timestamp that this operation was completed. (Not present if the operation is
1492
+ # still in progress.) @OutputOnly
1493
+ # Corresponds to the JSON property `endTime`
1494
+ # @return [String]
1495
+ attr_accessor :end_time
1496
+
1497
+ # The user who requested this operation. @OutputOnly
1498
+ # Corresponds to the JSON property `user`
1499
+ # @return [String]
1500
+ attr_accessor :user
1501
+
1502
+ # Resource that this operation is acting on. Example: "apps/myapp/services/
1503
+ # default". @OutputOnly
1504
+ # Corresponds to the JSON property `target`
1505
+ # @return [String]
1506
+ attr_accessor :target
1507
+
1508
+ def initialize(**args)
1509
+ update!(**args)
1510
+ end
1511
+
1512
+ # Update properties of this object
1513
+ def update!(**args)
1514
+ @method_prop = args[:method_prop] if args.key?(:method_prop)
1515
+ @insert_time = args[:insert_time] if args.key?(:insert_time)
1516
+ @end_time = args[:end_time] if args.key?(:end_time)
1517
+ @user = args[:user] if args.key?(:user)
1518
+ @target = args[:target] if args.key?(:target)
1519
+ end
1520
+ end
1521
+ end
1522
+ end
1523
+ end