google-api-client 0.9.1 → 0.9.2

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 (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