google-api-client 0.28.6 → 0.28.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7ce01899f0a08bb131b8cf7802ac46847a7761a6
4
- data.tar.gz: 5a3beefba24db71166abaac72bccc039ba4b73a5
3
+ metadata.gz: d774fcdf4479d1b3241df7e0c1d6d5d6f1810d98
4
+ data.tar.gz: f5a26d7311983192d61efcd8444897c116b6e35a
5
5
  SHA512:
6
- metadata.gz: 52174744233d5673818867c8c5437988cbe9fe688ea14b9b9c54a992c21e920524e359c5ce58b95cba4fc04e62ca8dda11f2b36e289d6d2f893ce332d48a8181
7
- data.tar.gz: 80f30b5dbe158bbd64df76e86a348dbe215224b6bac548f9f78a80819471e9a50e49bfe567bbbaab4d2ca907ad44ef2cb4a072d5e8652d5d379b5289cd457f1b
6
+ metadata.gz: 1539292484a36c83e692bb12a7941a8eb4f9441308171f8a358fdd568733df7ab7ea158752e07f56bee78511522b15ea7462ee503126fd5f266afcefecc6d269
7
+ data.tar.gz: f140bf94f4f1df738f9683a51ef15f495fd8007412ebee90e8d2e67bed9fc99838511c72954fdafe786320c5f55c9e1e9ae1ac498d13f1fe42e08019aeb372e4
@@ -1,3 +1,10 @@
1
+ # 0.28.7
2
+ * Backwards compatible changes:
3
+ * Added `run_v1`
4
+ * Added `run_v1alpha1`
5
+ * Updated `androidpublisher_v3`
6
+ * Updated `texttospeech_v1`
7
+
1
8
  # 0.28.6
2
9
  * Backwards compatible changes:
3
10
  * Updated `adexchangebuyer2_v2beta1`
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/android-publisher
26
26
  module AndroidpublisherV3
27
27
  VERSION = 'V3'
28
- REVISION = '20190120'
28
+ REVISION = '20190331'
29
29
 
30
30
  # View and manage your Google Play Developer account
31
31
  AUTH_ANDROIDPUBLISHER = 'https://www.googleapis.com/auth/androidpublisher'
@@ -293,6 +293,32 @@ module Google
293
293
  end
294
294
  end
295
295
 
296
+ #
297
+ class CountryTargeting
298
+ include Google::Apis::Core::Hashable
299
+
300
+ #
301
+ # Corresponds to the JSON property `countries`
302
+ # @return [Array<String>]
303
+ attr_accessor :countries
304
+
305
+ #
306
+ # Corresponds to the JSON property `includeRestOfWorld`
307
+ # @return [Boolean]
308
+ attr_accessor :include_rest_of_world
309
+ alias_method :include_rest_of_world?, :include_rest_of_world
310
+
311
+ def initialize(**args)
312
+ update!(**args)
313
+ end
314
+
315
+ # Update properties of this object
316
+ def update!(**args)
317
+ @countries = args[:countries] if args.key?(:countries)
318
+ @include_rest_of_world = args[:include_rest_of_world] if args.key?(:include_rest_of_world)
319
+ end
320
+ end
321
+
296
322
  # Represents a deobfuscation file.
297
323
  class DeobfuscationFile
298
324
  include Google::Apis::Core::Hashable
@@ -1723,6 +1749,11 @@ module Google
1723
1749
  class TrackRelease
1724
1750
  include Google::Apis::Core::Hashable
1725
1751
 
1752
+ #
1753
+ # Corresponds to the JSON property `countryTargeting`
1754
+ # @return [Google::Apis::AndroidpublisherV3::CountryTargeting]
1755
+ attr_accessor :country_targeting
1756
+
1726
1757
  # The release name, used to identify this release in the Play Console UI. Not
1727
1758
  # required to be unique. This is optional, if not set it will be generated from
1728
1759
  # the version_name in the APKs.
@@ -1760,6 +1791,7 @@ module Google
1760
1791
 
1761
1792
  # Update properties of this object
1762
1793
  def update!(**args)
1794
+ @country_targeting = args[:country_targeting] if args.key?(:country_targeting)
1763
1795
  @name = args[:name] if args.key?(:name)
1764
1796
  @release_notes = args[:release_notes] if args.key?(:release_notes)
1765
1797
  @status = args[:status] if args.key?(:status)
@@ -82,6 +82,12 @@ module Google
82
82
  include Google::Apis::Core::JsonObjectSupport
83
83
  end
84
84
 
85
+ class CountryTargeting
86
+ class Representation < Google::Apis::Core::JsonRepresentation; end
87
+
88
+ include Google::Apis::Core::JsonObjectSupport
89
+ end
90
+
85
91
  class DeobfuscationFile
86
92
  class Representation < Google::Apis::Core::JsonRepresentation; end
87
93
 
@@ -434,6 +440,14 @@ module Google
434
440
  end
435
441
  end
436
442
 
443
+ class CountryTargeting
444
+ # @private
445
+ class Representation < Google::Apis::Core::JsonRepresentation
446
+ collection :countries, as: 'countries'
447
+ property :include_rest_of_world, as: 'includeRestOfWorld'
448
+ end
449
+ end
450
+
437
451
  class DeobfuscationFile
438
452
  # @private
439
453
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -837,6 +851,8 @@ module Google
837
851
  class TrackRelease
838
852
  # @private
839
853
  class Representation < Google::Apis::Core::JsonRepresentation
854
+ property :country_targeting, as: 'countryTargeting', class: Google::Apis::AndroidpublisherV3::CountryTargeting, decorator: Google::Apis::AndroidpublisherV3::CountryTargeting::Representation
855
+
840
856
  property :name, as: 'name'
841
857
  collection :release_notes, as: 'releaseNotes', class: Google::Apis::AndroidpublisherV3::LocalizedText, decorator: Google::Apis::AndroidpublisherV3::LocalizedText::Representation
842
858
 
@@ -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/run_v1/service.rb'
16
+ require 'google/apis/run_v1/classes.rb'
17
+ require 'google/apis/run_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Cloud Run API
22
+ #
23
+ # Deploy and manage user provided container images that scale automatically
24
+ # based on HTTP traffic.
25
+ #
26
+ # @see https://cloud.google.com/run/
27
+ module RunV1
28
+ VERSION = 'V1'
29
+ REVISION = '20190329'
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,73 @@
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 RunV1
24
+
25
+ # A resource that represents Google Cloud Platform location.
26
+ class Location
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The friendly name for this location, typically a nearby city name.
30
+ # For example, "Tokyo".
31
+ # Corresponds to the JSON property `displayName`
32
+ # @return [String]
33
+ attr_accessor :display_name
34
+
35
+ # Cross-service attributes for the location. For example
36
+ # `"cloud.googleapis.com/region": "us-east1"`
37
+ # Corresponds to the JSON property `labels`
38
+ # @return [Hash<String,String>]
39
+ attr_accessor :labels
40
+
41
+ # The canonical id for this location. For example: `"us-east1"`.
42
+ # Corresponds to the JSON property `locationId`
43
+ # @return [String]
44
+ attr_accessor :location_id
45
+
46
+ # Service-specific metadata. For example the available capacity at the given
47
+ # location.
48
+ # Corresponds to the JSON property `metadata`
49
+ # @return [Hash<String,Object>]
50
+ attr_accessor :metadata
51
+
52
+ # Resource name for the location, which may vary between implementations.
53
+ # For example: `"projects/example-project/locations/us-east1"`
54
+ # Corresponds to the JSON property `name`
55
+ # @return [String]
56
+ attr_accessor :name
57
+
58
+ def initialize(**args)
59
+ update!(**args)
60
+ end
61
+
62
+ # Update properties of this object
63
+ def update!(**args)
64
+ @display_name = args[:display_name] if args.key?(:display_name)
65
+ @labels = args[:labels] if args.key?(:labels)
66
+ @location_id = args[:location_id] if args.key?(:location_id)
67
+ @metadata = args[:metadata] if args.key?(:metadata)
68
+ @name = args[:name] if args.key?(:name)
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,43 @@
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 RunV1
24
+
25
+ class Location
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ include Google::Apis::Core::JsonObjectSupport
29
+ end
30
+
31
+ class Location
32
+ # @private
33
+ class Representation < Google::Apis::Core::JsonRepresentation
34
+ property :display_name, as: 'displayName'
35
+ hash :labels, as: 'labels'
36
+ property :location_id, as: 'locationId'
37
+ hash :metadata, as: 'metadata'
38
+ property :name, as: 'name'
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,90 @@
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/core/base_service'
16
+ require 'google/apis/core/json_representation'
17
+ require 'google/apis/core/hashable'
18
+ require 'google/apis/errors'
19
+
20
+ module Google
21
+ module Apis
22
+ module RunV1
23
+ # Cloud Run API
24
+ #
25
+ # Deploy and manage user provided container images that scale automatically
26
+ # based on HTTP traffic.
27
+ #
28
+ # @example
29
+ # require 'google/apis/run_v1'
30
+ #
31
+ # Run = Google::Apis::RunV1 # Alias the module
32
+ # service = Run::CloudRunService.new
33
+ #
34
+ # @see https://cloud.google.com/run/
35
+ class CloudRunService < Google::Apis::Core::BaseService
36
+ # @return [String]
37
+ # API key. Your API key identifies your project and provides you with API access,
38
+ # quota, and reports. Required unless you provide an OAuth 2.0 token.
39
+ attr_accessor :key
40
+
41
+ # @return [String]
42
+ # Available to use for quota purposes for server-side applications. Can be any
43
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
44
+ attr_accessor :quota_user
45
+
46
+ def initialize
47
+ super('https://run.googleapis.com/', '')
48
+ @batch_path = 'batch'
49
+ end
50
+
51
+ # Gets information about a location.
52
+ # @param [String] name
53
+ # Resource name for the location.
54
+ # @param [String] fields
55
+ # Selector specifying which fields to include in a partial response.
56
+ # @param [String] quota_user
57
+ # Available to use for quota purposes for server-side applications. Can be any
58
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
59
+ # @param [Google::Apis::RequestOptions] options
60
+ # Request-specific options
61
+ #
62
+ # @yield [result, err] Result & error if block supplied
63
+ # @yieldparam result [Google::Apis::RunV1::Location] parsed result object
64
+ # @yieldparam err [StandardError] error object if request failed
65
+ #
66
+ # @return [Google::Apis::RunV1::Location]
67
+ #
68
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
69
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
70
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
71
+ def get_project_location(name, fields: nil, quota_user: nil, options: nil, &block)
72
+ command = make_simple_command(:get, 'v1/{+name}', options)
73
+ command.response_representation = Google::Apis::RunV1::Location::Representation
74
+ command.response_class = Google::Apis::RunV1::Location
75
+ command.params['name'] = name unless name.nil?
76
+ command.query['fields'] = fields unless fields.nil?
77
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
78
+ execute_or_queue_command(command, &block)
79
+ end
80
+
81
+ protected
82
+
83
+ def apply_command_defaults(command)
84
+ command.query['key'] = key unless key.nil?
85
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
@@ -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/run_v1alpha1/service.rb'
16
+ require 'google/apis/run_v1alpha1/classes.rb'
17
+ require 'google/apis/run_v1alpha1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Cloud Run API
22
+ #
23
+ # Deploy and manage user provided container images that scale automatically
24
+ # based on HTTP traffic.
25
+ #
26
+ # @see https://cloud.google.com/run/
27
+ module RunV1alpha1
28
+ VERSION = 'V1alpha1'
29
+ REVISION = '20190329'
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,3455 @@
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 RunV1alpha1
24
+
25
+ # Information for connecting over HTTP(s).
26
+ class Addressable
27
+ include Google::Apis::Core::Hashable
28
+
29
+ #
30
+ # Corresponds to the JSON property `hostname`
31
+ # @return [String]
32
+ attr_accessor :hostname
33
+
34
+ def initialize(**args)
35
+ update!(**args)
36
+ end
37
+
38
+ # Update properties of this object
39
+ def update!(**args)
40
+ @hostname = args[:hostname] if args.key?(:hostname)
41
+ end
42
+ end
43
+
44
+ # Specifies the audit configuration for a service.
45
+ # The configuration determines which permission types are logged, and what
46
+ # identities, if any, are exempted from logging.
47
+ # An AuditConfig must have one or more AuditLogConfigs.
48
+ # If there are AuditConfigs for both `allServices` and a specific service,
49
+ # the union of the two AuditConfigs is used for that service: the log_types
50
+ # specified in each AuditConfig are enabled, and the exempted_members in each
51
+ # AuditLogConfig are exempted.
52
+ # Example Policy with multiple AuditConfigs:
53
+ # `
54
+ # "audit_configs": [
55
+ # `
56
+ # "service": "allServices"
57
+ # "audit_log_configs": [
58
+ # `
59
+ # "log_type": "DATA_READ",
60
+ # "exempted_members": [
61
+ # "user:foo@gmail.com"
62
+ # ]
63
+ # `,
64
+ # `
65
+ # "log_type": "DATA_WRITE",
66
+ # `,
67
+ # `
68
+ # "log_type": "ADMIN_READ",
69
+ # `
70
+ # ]
71
+ # `,
72
+ # `
73
+ # "service": "fooservice.googleapis.com"
74
+ # "audit_log_configs": [
75
+ # `
76
+ # "log_type": "DATA_READ",
77
+ # `,
78
+ # `
79
+ # "log_type": "DATA_WRITE",
80
+ # "exempted_members": [
81
+ # "user:bar@gmail.com"
82
+ # ]
83
+ # `
84
+ # ]
85
+ # `
86
+ # ]
87
+ # `
88
+ # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
89
+ # logging. It also exempts foo@gmail.com from DATA_READ logging, and
90
+ # bar@gmail.com from DATA_WRITE logging.
91
+ class AuditConfig
92
+ include Google::Apis::Core::Hashable
93
+
94
+ # The configuration for logging of each type of permission.
95
+ # Corresponds to the JSON property `auditLogConfigs`
96
+ # @return [Array<Google::Apis::RunV1alpha1::AuditLogConfig>]
97
+ attr_accessor :audit_log_configs
98
+
99
+ # Specifies a service that will be enabled for audit logging.
100
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
101
+ # `allServices` is a special value that covers all services.
102
+ # Corresponds to the JSON property `service`
103
+ # @return [String]
104
+ attr_accessor :service
105
+
106
+ def initialize(**args)
107
+ update!(**args)
108
+ end
109
+
110
+ # Update properties of this object
111
+ def update!(**args)
112
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
113
+ @service = args[:service] if args.key?(:service)
114
+ end
115
+ end
116
+
117
+ # Provides the configuration for logging a type of permissions.
118
+ # Example:
119
+ # `
120
+ # "audit_log_configs": [
121
+ # `
122
+ # "log_type": "DATA_READ",
123
+ # "exempted_members": [
124
+ # "user:foo@gmail.com"
125
+ # ]
126
+ # `,
127
+ # `
128
+ # "log_type": "DATA_WRITE",
129
+ # `
130
+ # ]
131
+ # `
132
+ # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
133
+ # foo@gmail.com from DATA_READ logging.
134
+ class AuditLogConfig
135
+ include Google::Apis::Core::Hashable
136
+
137
+ # Specifies the identities that do not cause logging for this type of
138
+ # permission.
139
+ # Follows the same format of Binding.members.
140
+ # Corresponds to the JSON property `exemptedMembers`
141
+ # @return [Array<String>]
142
+ attr_accessor :exempted_members
143
+
144
+ # The log type that this config enables.
145
+ # Corresponds to the JSON property `logType`
146
+ # @return [String]
147
+ attr_accessor :log_type
148
+
149
+ def initialize(**args)
150
+ update!(**args)
151
+ end
152
+
153
+ # Update properties of this object
154
+ def update!(**args)
155
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
156
+ @log_type = args[:log_type] if args.key?(:log_type)
157
+ end
158
+ end
159
+
160
+ # A domain that a user has been authorized to administer. To authorize use
161
+ # of a domain, verify ownership via
162
+ # [Webmaster Central](https://www.google.com/webmasters/verification/home).
163
+ class AuthorizedDomain
164
+ include Google::Apis::Core::Hashable
165
+
166
+ # Relative name of the domain authorized for use. Example: `example.com`.
167
+ # Corresponds to the JSON property `id`
168
+ # @return [String]
169
+ attr_accessor :id
170
+
171
+ # Read only. Full path to the `AuthorizedDomain` resource in the API.
172
+ # Example: `apps/myapp/authorizedDomains/example.com`.
173
+ # Corresponds to the JSON property `name`
174
+ # @return [String]
175
+ attr_accessor :name
176
+
177
+ def initialize(**args)
178
+ update!(**args)
179
+ end
180
+
181
+ # Update properties of this object
182
+ def update!(**args)
183
+ @id = args[:id] if args.key?(:id)
184
+ @name = args[:name] if args.key?(:name)
185
+ end
186
+ end
187
+
188
+ # Associates `members` with a `role`.
189
+ class Binding
190
+ include Google::Apis::Core::Hashable
191
+
192
+ # Represents an expression text. Example:
193
+ # title: "User account presence"
194
+ # description: "Determines whether the request has a user account"
195
+ # expression: "size(request.user) > 0"
196
+ # Corresponds to the JSON property `condition`
197
+ # @return [Google::Apis::RunV1alpha1::Expr]
198
+ attr_accessor :condition
199
+
200
+ # Specifies the identities requesting access for a Cloud Platform resource.
201
+ # `members` can have the following values:
202
+ # * `allUsers`: A special identifier that represents anyone who is
203
+ # on the internet; with or without a Google account.
204
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
205
+ # who is authenticated with a Google account or a service account.
206
+ # * `user:`emailid``: An email address that represents a specific Google
207
+ # account. For example, `alice@gmail.com` .
208
+ # * `serviceAccount:`emailid``: An email address that represents a service
209
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
210
+ # * `group:`emailid``: An email address that represents a Google group.
211
+ # For example, `admins@example.com`.
212
+ # * `domain:`domain``: The G Suite domain (primary) that represents all the
213
+ # users of that domain. For example, `google.com` or `example.com`.
214
+ # Corresponds to the JSON property `members`
215
+ # @return [Array<String>]
216
+ attr_accessor :members
217
+
218
+ # Role that is assigned to `members`.
219
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
220
+ # Corresponds to the JSON property `role`
221
+ # @return [String]
222
+ attr_accessor :role
223
+
224
+ def initialize(**args)
225
+ update!(**args)
226
+ end
227
+
228
+ # Update properties of this object
229
+ def update!(**args)
230
+ @condition = args[:condition] if args.key?(:condition)
231
+ @members = args[:members] if args.key?(:members)
232
+ @role = args[:role] if args.key?(:role)
233
+ end
234
+ end
235
+
236
+ # Adds and removes POSIX capabilities from running containers.
237
+ class Capabilities
238
+ include Google::Apis::Core::Hashable
239
+
240
+ # Added capabilities
241
+ # +optional
242
+ # Corresponds to the JSON property `add`
243
+ # @return [Array<String>]
244
+ attr_accessor :add
245
+
246
+ # Removed capabilities
247
+ # +optional
248
+ # Corresponds to the JSON property `drop`
249
+ # @return [Array<String>]
250
+ attr_accessor :drop
251
+
252
+ def initialize(**args)
253
+ update!(**args)
254
+ end
255
+
256
+ # Update properties of this object
257
+ def update!(**args)
258
+ @add = args[:add] if args.key?(:add)
259
+ @drop = args[:drop] if args.key?(:drop)
260
+ end
261
+ end
262
+
263
+ # ConfigMapEnvSource selects a ConfigMap to populate the environment
264
+ # variables with.
265
+ # The contents of the target ConfigMap's Data field will represent the
266
+ # key-value pairs as environment variables.
267
+ class ConfigMapEnvSource
268
+ include Google::Apis::Core::Hashable
269
+
270
+ # LocalObjectReference contains enough information to let you locate the
271
+ # referenced object inside the same namespace.
272
+ # Corresponds to the JSON property `localObjectReference`
273
+ # @return [Google::Apis::RunV1alpha1::LocalObjectReference]
274
+ attr_accessor :local_object_reference
275
+
276
+ # Specify whether the ConfigMap must be defined
277
+ # +optional
278
+ # Corresponds to the JSON property `optional`
279
+ # @return [Boolean]
280
+ attr_accessor :optional
281
+ alias_method :optional?, :optional
282
+
283
+ def initialize(**args)
284
+ update!(**args)
285
+ end
286
+
287
+ # Update properties of this object
288
+ def update!(**args)
289
+ @local_object_reference = args[:local_object_reference] if args.key?(:local_object_reference)
290
+ @optional = args[:optional] if args.key?(:optional)
291
+ end
292
+ end
293
+
294
+ # Configuration represents the "floating HEAD" of a linear history of
295
+ # Revisions, and optionally how the containers those revisions reference are
296
+ # built. Users create new Revisions by updating the Configuration's spec. The
297
+ # "latest created" revision's name is available under status, as is the "latest
298
+ # ready" revision's name. See also:
299
+ # https://github.com/knative/serving/blob/master/docs/spec/overview.md#
300
+ # configuration
301
+ class Configuration
302
+ include Google::Apis::Core::Hashable
303
+
304
+ # The API version for this call such as "v1alpha1".
305
+ # Corresponds to the JSON property `apiVersion`
306
+ # @return [String]
307
+ attr_accessor :api_version
308
+
309
+ # The kind of resource, in this case always "Configuration".
310
+ # Corresponds to the JSON property `kind`
311
+ # @return [String]
312
+ attr_accessor :kind
313
+
314
+ # ObjectMeta is metadata that all persisted resources must have, which includes
315
+ # all objects users must create.
316
+ # Corresponds to the JSON property `metadata`
317
+ # @return [Google::Apis::RunV1alpha1::ObjectMeta]
318
+ attr_accessor :metadata
319
+
320
+ # ConfigurationSpec holds the desired state of the Configuration (from the
321
+ # client).
322
+ # Corresponds to the JSON property `spec`
323
+ # @return [Google::Apis::RunV1alpha1::ConfigurationSpec]
324
+ attr_accessor :spec
325
+
326
+ # ConfigurationStatus communicates the observed state of the Configuration
327
+ # (from the controller).
328
+ # Corresponds to the JSON property `status`
329
+ # @return [Google::Apis::RunV1alpha1::ConfigurationStatus]
330
+ attr_accessor :status
331
+
332
+ def initialize(**args)
333
+ update!(**args)
334
+ end
335
+
336
+ # Update properties of this object
337
+ def update!(**args)
338
+ @api_version = args[:api_version] if args.key?(:api_version)
339
+ @kind = args[:kind] if args.key?(:kind)
340
+ @metadata = args[:metadata] if args.key?(:metadata)
341
+ @spec = args[:spec] if args.key?(:spec)
342
+ @status = args[:status] if args.key?(:status)
343
+ end
344
+ end
345
+
346
+ # ConfigurationCondition defines a readiness condition for a Configuration.
347
+ class ConfigurationCondition
348
+ include Google::Apis::Core::Hashable
349
+
350
+ # Last time the condition transitioned from one status to another.
351
+ # +optional
352
+ # Corresponds to the JSON property `lastTransitionTime`
353
+ # @return [String]
354
+ attr_accessor :last_transition_time
355
+
356
+ # Human-readable message indicating details about last transition.
357
+ # +optional
358
+ # Corresponds to the JSON property `message`
359
+ # @return [String]
360
+ attr_accessor :message
361
+
362
+ # One-word CamelCase reason for the condition's last transition.
363
+ # +optional
364
+ # Corresponds to the JSON property `reason`
365
+ # @return [String]
366
+ attr_accessor :reason
367
+
368
+ # Status of the condition, one of True, False, Unknown.
369
+ # Corresponds to the JSON property `status`
370
+ # @return [String]
371
+ attr_accessor :status
372
+
373
+ # ConfigurationConditionType is used to communicate the status of the
374
+ # reconciliation process. See also:
375
+ # https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-
376
+ # conditions-and-reporting
377
+ # Types include:"Ready"
378
+ # Corresponds to the JSON property `type`
379
+ # @return [String]
380
+ attr_accessor :type
381
+
382
+ def initialize(**args)
383
+ update!(**args)
384
+ end
385
+
386
+ # Update properties of this object
387
+ def update!(**args)
388
+ @last_transition_time = args[:last_transition_time] if args.key?(:last_transition_time)
389
+ @message = args[:message] if args.key?(:message)
390
+ @reason = args[:reason] if args.key?(:reason)
391
+ @status = args[:status] if args.key?(:status)
392
+ @type = args[:type] if args.key?(:type)
393
+ end
394
+ end
395
+
396
+ # ConfigurationSpec holds the desired state of the Configuration (from the
397
+ # client).
398
+ class ConfigurationSpec
399
+ include Google::Apis::Core::Hashable
400
+
401
+ # Deprecated and not currently populated by Cloud Run. See
402
+ # metadata.generation instead, which is the sequence number containing the
403
+ # latest generation of the desired state.
404
+ # Read-only.
405
+ # Corresponds to the JSON property `generation`
406
+ # @return [Fixnum]
407
+ attr_accessor :generation
408
+
409
+ # RevisionTemplateSpec describes the data a revision should have when created
410
+ # from a template. Based on:
411
+ # https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
412
+ # Corresponds to the JSON property `revisionTemplate`
413
+ # @return [Google::Apis::RunV1alpha1::RevisionTemplate]
414
+ attr_accessor :revision_template
415
+
416
+ def initialize(**args)
417
+ update!(**args)
418
+ end
419
+
420
+ # Update properties of this object
421
+ def update!(**args)
422
+ @generation = args[:generation] if args.key?(:generation)
423
+ @revision_template = args[:revision_template] if args.key?(:revision_template)
424
+ end
425
+ end
426
+
427
+ # ConfigurationStatus communicates the observed state of the Configuration
428
+ # (from the controller).
429
+ class ConfigurationStatus
430
+ include Google::Apis::Core::Hashable
431
+
432
+ # Conditions communicates information about ongoing/complete
433
+ # reconciliation processes that bring the "spec" inline with the observed
434
+ # state of the world.
435
+ # Corresponds to the JSON property `conditions`
436
+ # @return [Array<Google::Apis::RunV1alpha1::ConfigurationCondition>]
437
+ attr_accessor :conditions
438
+
439
+ # LatestCreatedRevisionName is the last revision that was created from this
440
+ # Configuration. It might not be ready yet, for that use
441
+ # LatestReadyRevisionName.
442
+ # Corresponds to the JSON property `latestCreatedRevisionName`
443
+ # @return [String]
444
+ attr_accessor :latest_created_revision_name
445
+
446
+ # LatestReadyRevisionName holds the name of the latest Revision stamped out
447
+ # from this Configuration that has had its "Ready" condition become "True".
448
+ # Corresponds to the JSON property `latestReadyRevisionName`
449
+ # @return [String]
450
+ attr_accessor :latest_ready_revision_name
451
+
452
+ # ObservedGeneration is the 'Generation' of the Configuration that
453
+ # was last processed by the controller. The observed generation is updated
454
+ # even if the controller failed to process the spec and create the Revision.
455
+ # Clients polling for completed reconciliation should poll until
456
+ # observedGeneration = metadata.generation, and the Ready condition's status
457
+ # is True or False.
458
+ # Corresponds to the JSON property `observedGeneration`
459
+ # @return [Fixnum]
460
+ attr_accessor :observed_generation
461
+
462
+ def initialize(**args)
463
+ update!(**args)
464
+ end
465
+
466
+ # Update properties of this object
467
+ def update!(**args)
468
+ @conditions = args[:conditions] if args.key?(:conditions)
469
+ @latest_created_revision_name = args[:latest_created_revision_name] if args.key?(:latest_created_revision_name)
470
+ @latest_ready_revision_name = args[:latest_ready_revision_name] if args.key?(:latest_ready_revision_name)
471
+ @observed_generation = args[:observed_generation] if args.key?(:observed_generation)
472
+ end
473
+ end
474
+
475
+ # A single application container.
476
+ # This specifies both the container to run, the command to run in the container
477
+ # and the arguments to supply to it.
478
+ # Note that additional arguments may be supplied by the system to the container
479
+ # at runtime.
480
+ class Container
481
+ include Google::Apis::Core::Hashable
482
+
483
+ # Arguments to the entrypoint.
484
+ # The docker image's CMD is used if this is not provided.
485
+ # Variable references $(VAR_NAME) are expanded using the container's
486
+ # environment. If a variable cannot be resolved, the reference in the input
487
+ # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
488
+ # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
489
+ # regardless of whether the variable exists or not.
490
+ # Cannot be updated.
491
+ # More info:
492
+ # https://kubernetes.io/docs/tasks/inject-data-application/define-command-
493
+ # argument-container/#running-a-command-in-a-shell
494
+ # +optional
495
+ # Corresponds to the JSON property `args`
496
+ # @return [Array<String>]
497
+ attr_accessor :args
498
+
499
+ # Entrypoint array. Not executed within a shell.
500
+ # The docker image's ENTRYPOINT is used if this is not provided.
501
+ # Variable references $(VAR_NAME) are expanded using the container's
502
+ # environment. If a variable cannot be resolved, the reference in the input
503
+ # string will be unchanged. The $(VAR_NAME) syntax can be escaped with a
504
+ # double $$, ie: $$(VAR_NAME). Escaped references will never be expanded,
505
+ # regardless of whether the variable exists or not.
506
+ # Cannot be updated.
507
+ # More info:
508
+ # https://kubernetes.io/docs/tasks/inject-data-application/define-command-
509
+ # argument-container/#running-a-command-in-a-shell
510
+ # +optional
511
+ # Corresponds to the JSON property `command`
512
+ # @return [Array<String>]
513
+ attr_accessor :command
514
+
515
+ # List of environment variables to set in the container.
516
+ # Cannot be updated.
517
+ # +optional
518
+ # Corresponds to the JSON property `env`
519
+ # @return [Array<Google::Apis::RunV1alpha1::EnvVar>]
520
+ attr_accessor :env
521
+
522
+ # List of sources to populate environment variables in the container.
523
+ # The keys defined within a source must be a C_IDENTIFIER. All invalid keys
524
+ # will be reported as an event when the container is starting. When a key
525
+ # exists in multiple sources, the value associated with the last source will
526
+ # take precedence. Values defined by an Env with a duplicate key will take
527
+ # precedence. Cannot be updated. +optional
528
+ # Corresponds to the JSON property `envFrom`
529
+ # @return [Array<Google::Apis::RunV1alpha1::EnvFromSource>]
530
+ attr_accessor :env_from
531
+
532
+ # Docker image name.
533
+ # More info: https://kubernetes.io/docs/concepts/containers/images
534
+ # Corresponds to the JSON property `image`
535
+ # @return [String]
536
+ attr_accessor :image
537
+
538
+ # Image pull policy.
539
+ # One of Always, Never, IfNotPresent.
540
+ # Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
541
+ # Cannot be updated.
542
+ # More info:
543
+ # https://kubernetes.io/docs/concepts/containers/images#updating-images
544
+ # +optional
545
+ # Corresponds to the JSON property `imagePullPolicy`
546
+ # @return [String]
547
+ attr_accessor :image_pull_policy
548
+
549
+ # Lifecycle describes actions that the management system should take in
550
+ # response to container lifecycle events. For the PostStart and PreStop
551
+ # lifecycle handlers, management of the container blocks until the action is
552
+ # complete, unless the container process fails, in which case the handler is
553
+ # aborted.
554
+ # Corresponds to the JSON property `lifecycle`
555
+ # @return [Google::Apis::RunV1alpha1::Lifecycle]
556
+ attr_accessor :lifecycle
557
+
558
+ # Probe describes a health check to be performed against a container to
559
+ # determine whether it is alive or ready to receive traffic.
560
+ # Corresponds to the JSON property `livenessProbe`
561
+ # @return [Google::Apis::RunV1alpha1::Probe]
562
+ attr_accessor :liveness_probe
563
+
564
+ # Name of the container specified as a DNS_LABEL.
565
+ # Each container must have a unique name (DNS_LABEL).
566
+ # Cannot be updated.
567
+ # Corresponds to the JSON property `name`
568
+ # @return [String]
569
+ attr_accessor :name
570
+
571
+ # List of ports to expose from the container. Exposing a port here gives
572
+ # the system additional information about the network connections a
573
+ # container uses, but is primarily informational. Not specifying a port here
574
+ # DOES NOT prevent that port from being exposed. Any port which is
575
+ # listening on the default "0.0.0.0" address inside a container will be
576
+ # accessible from the network.
577
+ # Cannot be updated.
578
+ # +optional
579
+ # Corresponds to the JSON property `ports`
580
+ # @return [Array<Google::Apis::RunV1alpha1::ContainerPort>]
581
+ attr_accessor :ports
582
+
583
+ # Probe describes a health check to be performed against a container to
584
+ # determine whether it is alive or ready to receive traffic.
585
+ # Corresponds to the JSON property `readinessProbe`
586
+ # @return [Google::Apis::RunV1alpha1::Probe]
587
+ attr_accessor :readiness_probe
588
+
589
+ # ResourceRequirements describes the compute resource requirements.
590
+ # Corresponds to the JSON property `resources`
591
+ # @return [Google::Apis::RunV1alpha1::ResourceRequirements]
592
+ attr_accessor :resources
593
+
594
+ # SecurityContext holds security configuration that will be applied to a
595
+ # container. Some fields are present in both SecurityContext and
596
+ # PodSecurityContext. When both are set, the values in SecurityContext take
597
+ # precedence.
598
+ # Corresponds to the JSON property `securityContext`
599
+ # @return [Google::Apis::RunV1alpha1::SecurityContext]
600
+ attr_accessor :security_context
601
+
602
+ # Whether this container should allocate a buffer for stdin in the container
603
+ # runtime. If this is not set, reads from stdin in the container will always
604
+ # result in EOF. Default is false. +optional
605
+ # Corresponds to the JSON property `stdin`
606
+ # @return [Boolean]
607
+ attr_accessor :stdin
608
+ alias_method :stdin?, :stdin
609
+
610
+ # Whether the container runtime should close the stdin channel after it has
611
+ # been opened by a single attach. When stdin is true the stdin stream will
612
+ # remain open across multiple attach sessions. If stdinOnce is set to true,
613
+ # stdin is opened on container start, is empty until the first client
614
+ # attaches to stdin, and then remains open and accepts data until the client
615
+ # disconnects, at which time stdin is closed and remains closed until the
616
+ # container is restarted. If this flag is false, a container processes that
617
+ # reads from stdin will never receive an EOF. Default is false +optional
618
+ # Corresponds to the JSON property `stdinOnce`
619
+ # @return [Boolean]
620
+ attr_accessor :stdin_once
621
+ alias_method :stdin_once?, :stdin_once
622
+
623
+ # Optional: Path at which the file to which the container's termination
624
+ # message will be written is mounted into the container's filesystem. Message
625
+ # written is intended to be brief final status, such as an assertion failure
626
+ # message. Will be truncated by the node if greater than 4096 bytes. The
627
+ # total message length across all containers will be limited to 12kb.
628
+ # Defaults to /dev/termination-log.
629
+ # Cannot be updated.
630
+ # +optional
631
+ # Corresponds to the JSON property `terminationMessagePath`
632
+ # @return [String]
633
+ attr_accessor :termination_message_path
634
+
635
+ # Indicate how the termination message should be populated. File will use the
636
+ # contents of terminationMessagePath to populate the container status message
637
+ # on both success and failure. FallbackToLogsOnError will use the last chunk
638
+ # of container log output if the termination message file is empty and the
639
+ # container exited with an error. The log output is limited to 2048 bytes or
640
+ # 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
641
+ # +optional
642
+ # Corresponds to the JSON property `terminationMessagePolicy`
643
+ # @return [String]
644
+ attr_accessor :termination_message_policy
645
+
646
+ # Whether this container should allocate a TTY for itself, also requires
647
+ # 'stdin' to be true. Default is false. +optional
648
+ # Corresponds to the JSON property `tty`
649
+ # @return [Boolean]
650
+ attr_accessor :tty
651
+ alias_method :tty?, :tty
652
+
653
+ # volumeDevices is the list of block devices to be used by the container.
654
+ # This is an alpha feature and may change in the future.
655
+ # +optional
656
+ # Corresponds to the JSON property `volumeDevices`
657
+ # @return [Array<Google::Apis::RunV1alpha1::VolumeDevice>]
658
+ attr_accessor :volume_devices
659
+
660
+ # Pod volumes to mount into the container's filesystem.
661
+ # Cannot be updated.
662
+ # +optional
663
+ # Corresponds to the JSON property `volumeMounts`
664
+ # @return [Array<Google::Apis::RunV1alpha1::VolumeMount>]
665
+ attr_accessor :volume_mounts
666
+
667
+ # Container's working directory.
668
+ # If not specified, the container runtime's default will be used, which
669
+ # might be configured in the container image.
670
+ # Cannot be updated.
671
+ # +optional
672
+ # Corresponds to the JSON property `workingDir`
673
+ # @return [String]
674
+ attr_accessor :working_dir
675
+
676
+ def initialize(**args)
677
+ update!(**args)
678
+ end
679
+
680
+ # Update properties of this object
681
+ def update!(**args)
682
+ @args = args[:args] if args.key?(:args)
683
+ @command = args[:command] if args.key?(:command)
684
+ @env = args[:env] if args.key?(:env)
685
+ @env_from = args[:env_from] if args.key?(:env_from)
686
+ @image = args[:image] if args.key?(:image)
687
+ @image_pull_policy = args[:image_pull_policy] if args.key?(:image_pull_policy)
688
+ @lifecycle = args[:lifecycle] if args.key?(:lifecycle)
689
+ @liveness_probe = args[:liveness_probe] if args.key?(:liveness_probe)
690
+ @name = args[:name] if args.key?(:name)
691
+ @ports = args[:ports] if args.key?(:ports)
692
+ @readiness_probe = args[:readiness_probe] if args.key?(:readiness_probe)
693
+ @resources = args[:resources] if args.key?(:resources)
694
+ @security_context = args[:security_context] if args.key?(:security_context)
695
+ @stdin = args[:stdin] if args.key?(:stdin)
696
+ @stdin_once = args[:stdin_once] if args.key?(:stdin_once)
697
+ @termination_message_path = args[:termination_message_path] if args.key?(:termination_message_path)
698
+ @termination_message_policy = args[:termination_message_policy] if args.key?(:termination_message_policy)
699
+ @tty = args[:tty] if args.key?(:tty)
700
+ @volume_devices = args[:volume_devices] if args.key?(:volume_devices)
701
+ @volume_mounts = args[:volume_mounts] if args.key?(:volume_mounts)
702
+ @working_dir = args[:working_dir] if args.key?(:working_dir)
703
+ end
704
+ end
705
+
706
+ # ContainerPort represents a network port in a single container.
707
+ class ContainerPort
708
+ include Google::Apis::Core::Hashable
709
+
710
+ # Number of port to expose on the pod's IP address.
711
+ # This must be a valid port number, 0 < x < 65536.
712
+ # Corresponds to the JSON property `containerPort`
713
+ # @return [Fixnum]
714
+ attr_accessor :container_port
715
+
716
+ # What host IP to bind the external port to.
717
+ # +optional
718
+ # Corresponds to the JSON property `hostIP`
719
+ # @return [String]
720
+ attr_accessor :host_ip
721
+
722
+ # Number of port to expose on the host.
723
+ # If specified, this must be a valid port number, 0 < x < 65536.
724
+ # If HostNetwork is specified, this must match ContainerPort.
725
+ # Most containers do not need this.
726
+ # +optional
727
+ # Corresponds to the JSON property `hostPort`
728
+ # @return [Fixnum]
729
+ attr_accessor :host_port
730
+
731
+ # If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
732
+ # named port in a pod must have a unique name. Name for the port that can be
733
+ # referred to by services.
734
+ # +optional
735
+ # Corresponds to the JSON property `name`
736
+ # @return [String]
737
+ attr_accessor :name
738
+
739
+ # Protocol for port. Must be UDP or TCP.
740
+ # Defaults to "TCP".
741
+ # +optional
742
+ # Corresponds to the JSON property `protocol`
743
+ # @return [String]
744
+ attr_accessor :protocol
745
+
746
+ def initialize(**args)
747
+ update!(**args)
748
+ end
749
+
750
+ # Update properties of this object
751
+ def update!(**args)
752
+ @container_port = args[:container_port] if args.key?(:container_port)
753
+ @host_ip = args[:host_ip] if args.key?(:host_ip)
754
+ @host_port = args[:host_port] if args.key?(:host_port)
755
+ @name = args[:name] if args.key?(:name)
756
+ @protocol = args[:protocol] if args.key?(:protocol)
757
+ end
758
+ end
759
+
760
+ # Resource to hold the state and status of a user's domain mapping.
761
+ class DomainMapping
762
+ include Google::Apis::Core::Hashable
763
+
764
+ # The API version for this call such as "v1alpha1".
765
+ # Corresponds to the JSON property `apiVersion`
766
+ # @return [String]
767
+ attr_accessor :api_version
768
+
769
+ # The kind of resource, in this case "DomainMapping".
770
+ # Corresponds to the JSON property `kind`
771
+ # @return [String]
772
+ attr_accessor :kind
773
+
774
+ # ObjectMeta is metadata that all persisted resources must have, which includes
775
+ # all objects users must create.
776
+ # Corresponds to the JSON property `metadata`
777
+ # @return [Google::Apis::RunV1alpha1::ObjectMeta]
778
+ attr_accessor :metadata
779
+
780
+ # The desired state of the Domain Mapping.
781
+ # Corresponds to the JSON property `spec`
782
+ # @return [Google::Apis::RunV1alpha1::DomainMappingSpec]
783
+ attr_accessor :spec
784
+
785
+ # The current state of the Domain Mapping.
786
+ # Corresponds to the JSON property `status`
787
+ # @return [Google::Apis::RunV1alpha1::DomainMappingStatus]
788
+ attr_accessor :status
789
+
790
+ def initialize(**args)
791
+ update!(**args)
792
+ end
793
+
794
+ # Update properties of this object
795
+ def update!(**args)
796
+ @api_version = args[:api_version] if args.key?(:api_version)
797
+ @kind = args[:kind] if args.key?(:kind)
798
+ @metadata = args[:metadata] if args.key?(:metadata)
799
+ @spec = args[:spec] if args.key?(:spec)
800
+ @status = args[:status] if args.key?(:status)
801
+ end
802
+ end
803
+
804
+ # DomainMappingCondition contains state information for a DomainMapping.
805
+ class DomainMappingCondition
806
+ include Google::Apis::Core::Hashable
807
+
808
+ # Human readable message indicating details about the current status.
809
+ # +optional
810
+ # Corresponds to the JSON property `message`
811
+ # @return [String]
812
+ attr_accessor :message
813
+
814
+ # One-word CamelCase reason for the condition's current status.
815
+ # +optional
816
+ # Corresponds to the JSON property `reason`
817
+ # @return [String]
818
+ attr_accessor :reason
819
+
820
+ # Status of the condition, one of True, False, Unknown.
821
+ # Corresponds to the JSON property `status`
822
+ # @return [String]
823
+ attr_accessor :status
824
+
825
+ # Type of domain mapping condition.
826
+ # Corresponds to the JSON property `type`
827
+ # @return [String]
828
+ attr_accessor :type
829
+
830
+ def initialize(**args)
831
+ update!(**args)
832
+ end
833
+
834
+ # Update properties of this object
835
+ def update!(**args)
836
+ @message = args[:message] if args.key?(:message)
837
+ @reason = args[:reason] if args.key?(:reason)
838
+ @status = args[:status] if args.key?(:status)
839
+ @type = args[:type] if args.key?(:type)
840
+ end
841
+ end
842
+
843
+ # The desired state of the Domain Mapping.
844
+ class DomainMappingSpec
845
+ include Google::Apis::Core::Hashable
846
+
847
+ # The mode of the certificate.
848
+ # Corresponds to the JSON property `certificateMode`
849
+ # @return [String]
850
+ attr_accessor :certificate_mode
851
+
852
+ # If set, the mapping will override any mapping set before this spec was set.
853
+ # It is recommended that the user leaves this empty to receive an error
854
+ # warning about a potential conflict and only set it once the respective UI
855
+ # has given such a warning.
856
+ # Corresponds to the JSON property `forceOverride`
857
+ # @return [Boolean]
858
+ attr_accessor :force_override
859
+ alias_method :force_override?, :force_override
860
+
861
+ # The name of the Knative Route that this DomainMapping applies to.
862
+ # The route must exist.
863
+ # Corresponds to the JSON property `routeName`
864
+ # @return [String]
865
+ attr_accessor :route_name
866
+
867
+ def initialize(**args)
868
+ update!(**args)
869
+ end
870
+
871
+ # Update properties of this object
872
+ def update!(**args)
873
+ @certificate_mode = args[:certificate_mode] if args.key?(:certificate_mode)
874
+ @force_override = args[:force_override] if args.key?(:force_override)
875
+ @route_name = args[:route_name] if args.key?(:route_name)
876
+ end
877
+ end
878
+
879
+ # The current state of the Domain Mapping.
880
+ class DomainMappingStatus
881
+ include Google::Apis::Core::Hashable
882
+
883
+ # Array of observed DomainMappingConditions, indicating the current state
884
+ # of the DomainMapping.
885
+ # Corresponds to the JSON property `conditions`
886
+ # @return [Array<Google::Apis::RunV1alpha1::DomainMappingCondition>]
887
+ attr_accessor :conditions
888
+
889
+ # The name of the route that the mapping currently points to.
890
+ # Corresponds to the JSON property `mappedRouteName`
891
+ # @return [String]
892
+ attr_accessor :mapped_route_name
893
+
894
+ # ObservedGeneration is the 'Generation' of the DomainMapping that
895
+ # was last processed by the controller.
896
+ # Clients polling for completed reconciliation should poll until
897
+ # observedGeneration = metadata.generation and the Ready condition's status
898
+ # is True or False.
899
+ # Corresponds to the JSON property `observedGeneration`
900
+ # @return [Fixnum]
901
+ attr_accessor :observed_generation
902
+
903
+ # The resource records required to configure this domain mapping. These
904
+ # records must be added to the domain's DNS configuration in order to
905
+ # serve the application via this domain mapping.
906
+ # Corresponds to the JSON property `resourceRecords`
907
+ # @return [Array<Google::Apis::RunV1alpha1::ResourceRecord>]
908
+ attr_accessor :resource_records
909
+
910
+ def initialize(**args)
911
+ update!(**args)
912
+ end
913
+
914
+ # Update properties of this object
915
+ def update!(**args)
916
+ @conditions = args[:conditions] if args.key?(:conditions)
917
+ @mapped_route_name = args[:mapped_route_name] if args.key?(:mapped_route_name)
918
+ @observed_generation = args[:observed_generation] if args.key?(:observed_generation)
919
+ @resource_records = args[:resource_records] if args.key?(:resource_records)
920
+ end
921
+ end
922
+
923
+ # A generic empty message that you can re-use to avoid defining duplicated
924
+ # empty messages in your APIs. A typical example is to use it as the request
925
+ # or the response type of an API method. For instance:
926
+ # service Foo `
927
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
928
+ # `
929
+ # The JSON representation for `Empty` is empty JSON object ````.
930
+ class Empty
931
+ include Google::Apis::Core::Hashable
932
+
933
+ def initialize(**args)
934
+ update!(**args)
935
+ end
936
+
937
+ # Update properties of this object
938
+ def update!(**args)
939
+ end
940
+ end
941
+
942
+ # EnvFromSource represents the source of a set of ConfigMaps
943
+ class EnvFromSource
944
+ include Google::Apis::Core::Hashable
945
+
946
+ # ConfigMapEnvSource selects a ConfigMap to populate the environment
947
+ # variables with.
948
+ # The contents of the target ConfigMap's Data field will represent the
949
+ # key-value pairs as environment variables.
950
+ # Corresponds to the JSON property `configMapRef`
951
+ # @return [Google::Apis::RunV1alpha1::ConfigMapEnvSource]
952
+ attr_accessor :config_map_ref
953
+
954
+ # An optional identifier to prepend to each key in the ConfigMap. Must be a
955
+ # C_IDENTIFIER. +optional
956
+ # Corresponds to the JSON property `prefix`
957
+ # @return [String]
958
+ attr_accessor :prefix
959
+
960
+ # SecretEnvSource selects a Secret to populate the environment
961
+ # variables with.
962
+ # The contents of the target Secret's Data field will represent the
963
+ # key-value pairs as environment variables.
964
+ # Corresponds to the JSON property `secretRef`
965
+ # @return [Google::Apis::RunV1alpha1::SecretEnvSource]
966
+ attr_accessor :secret_ref
967
+
968
+ def initialize(**args)
969
+ update!(**args)
970
+ end
971
+
972
+ # Update properties of this object
973
+ def update!(**args)
974
+ @config_map_ref = args[:config_map_ref] if args.key?(:config_map_ref)
975
+ @prefix = args[:prefix] if args.key?(:prefix)
976
+ @secret_ref = args[:secret_ref] if args.key?(:secret_ref)
977
+ end
978
+ end
979
+
980
+ # EnvVar represents an environment variable present in a Container.
981
+ class EnvVar
982
+ include Google::Apis::Core::Hashable
983
+
984
+ # Name of the environment variable. Must be a C_IDENTIFIER.
985
+ # Corresponds to the JSON property `name`
986
+ # @return [String]
987
+ attr_accessor :name
988
+
989
+ # Variable references $(VAR_NAME) are expanded
990
+ # using the previous defined environment variables in the container and
991
+ # any route environment variables. If a variable cannot be resolved,
992
+ # the reference in the input string will be unchanged. The $(VAR_NAME)
993
+ # syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
994
+ # references will never be expanded, regardless of whether the variable
995
+ # exists or not.
996
+ # Defaults to "".
997
+ # +optional
998
+ # Corresponds to the JSON property `value`
999
+ # @return [String]
1000
+ attr_accessor :value
1001
+
1002
+ def initialize(**args)
1003
+ update!(**args)
1004
+ end
1005
+
1006
+ # Update properties of this object
1007
+ def update!(**args)
1008
+ @name = args[:name] if args.key?(:name)
1009
+ @value = args[:value] if args.key?(:value)
1010
+ end
1011
+ end
1012
+
1013
+ # ExecAction describes a "run in container" action.
1014
+ class ExecAction
1015
+ include Google::Apis::Core::Hashable
1016
+
1017
+ # Command is the command line to execute inside the container, the working
1018
+ # directory for the command is root ('/') in the container's filesystem. The
1019
+ # command is simply exec'd, it is not run inside a shell, so traditional
1020
+ # shell instructions ('|', etc) won't work. To use a shell, you need to
1021
+ # explicitly call out to that shell. Exit status of 0 is treated as
1022
+ # live/healthy and non-zero is unhealthy. +optional
1023
+ # Corresponds to the JSON property `command`
1024
+ # @return [String]
1025
+ attr_accessor :command
1026
+
1027
+ def initialize(**args)
1028
+ update!(**args)
1029
+ end
1030
+
1031
+ # Update properties of this object
1032
+ def update!(**args)
1033
+ @command = args[:command] if args.key?(:command)
1034
+ end
1035
+ end
1036
+
1037
+ # Represents an expression text. Example:
1038
+ # title: "User account presence"
1039
+ # description: "Determines whether the request has a user account"
1040
+ # expression: "size(request.user) > 0"
1041
+ class Expr
1042
+ include Google::Apis::Core::Hashable
1043
+
1044
+ # An optional description of the expression. This is a longer text which
1045
+ # describes the expression, e.g. when hovered over it in a UI.
1046
+ # Corresponds to the JSON property `description`
1047
+ # @return [String]
1048
+ attr_accessor :description
1049
+
1050
+ # Textual representation of an expression in
1051
+ # Common Expression Language syntax.
1052
+ # The application context of the containing message determines which
1053
+ # well-known feature set of CEL is supported.
1054
+ # Corresponds to the JSON property `expression`
1055
+ # @return [String]
1056
+ attr_accessor :expression
1057
+
1058
+ # An optional string indicating the location of the expression for error
1059
+ # reporting, e.g. a file name and a position in the file.
1060
+ # Corresponds to the JSON property `location`
1061
+ # @return [String]
1062
+ attr_accessor :location
1063
+
1064
+ # An optional title for the expression, i.e. a short string describing
1065
+ # its purpose. This can be used e.g. in UIs which allow to enter the
1066
+ # expression.
1067
+ # Corresponds to the JSON property `title`
1068
+ # @return [String]
1069
+ attr_accessor :title
1070
+
1071
+ def initialize(**args)
1072
+ update!(**args)
1073
+ end
1074
+
1075
+ # Update properties of this object
1076
+ def update!(**args)
1077
+ @description = args[:description] if args.key?(:description)
1078
+ @expression = args[:expression] if args.key?(:expression)
1079
+ @location = args[:location] if args.key?(:location)
1080
+ @title = args[:title] if args.key?(:title)
1081
+ end
1082
+ end
1083
+
1084
+ # HTTPGetAction describes an action based on HTTP Get requests.
1085
+ class HttpGetAction
1086
+ include Google::Apis::Core::Hashable
1087
+
1088
+ # Host name to connect to, defaults to the pod IP. You probably want to set
1089
+ # "Host" in httpHeaders instead.
1090
+ # +optional
1091
+ # Corresponds to the JSON property `host`
1092
+ # @return [String]
1093
+ attr_accessor :host
1094
+
1095
+ # Custom headers to set in the request. HTTP allows repeated headers.
1096
+ # +optional
1097
+ # Corresponds to the JSON property `httpHeaders`
1098
+ # @return [Array<Google::Apis::RunV1alpha1::HttpHeader>]
1099
+ attr_accessor :http_headers
1100
+
1101
+ # Path to access on the HTTP server.
1102
+ # +optional
1103
+ # Corresponds to the JSON property `path`
1104
+ # @return [String]
1105
+ attr_accessor :path
1106
+
1107
+ # IntOrString is a type that can hold an int32 or a string. When used in
1108
+ # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1109
+ # inner type. This allows you to have, for example, a JSON field that can
1110
+ # accept a name or number.
1111
+ # Corresponds to the JSON property `port`
1112
+ # @return [Google::Apis::RunV1alpha1::IntOrString]
1113
+ attr_accessor :port
1114
+
1115
+ # Scheme to use for connecting to the host.
1116
+ # Defaults to HTTP.
1117
+ # +optional
1118
+ # Corresponds to the JSON property `scheme`
1119
+ # @return [String]
1120
+ attr_accessor :scheme
1121
+
1122
+ def initialize(**args)
1123
+ update!(**args)
1124
+ end
1125
+
1126
+ # Update properties of this object
1127
+ def update!(**args)
1128
+ @host = args[:host] if args.key?(:host)
1129
+ @http_headers = args[:http_headers] if args.key?(:http_headers)
1130
+ @path = args[:path] if args.key?(:path)
1131
+ @port = args[:port] if args.key?(:port)
1132
+ @scheme = args[:scheme] if args.key?(:scheme)
1133
+ end
1134
+ end
1135
+
1136
+ # HTTPHeader describes a custom header to be used in HTTP probes
1137
+ class HttpHeader
1138
+ include Google::Apis::Core::Hashable
1139
+
1140
+ # The header field name
1141
+ # Corresponds to the JSON property `name`
1142
+ # @return [String]
1143
+ attr_accessor :name
1144
+
1145
+ # The header field value
1146
+ # Corresponds to the JSON property `value`
1147
+ # @return [String]
1148
+ attr_accessor :value
1149
+
1150
+ def initialize(**args)
1151
+ update!(**args)
1152
+ end
1153
+
1154
+ # Update properties of this object
1155
+ def update!(**args)
1156
+ @name = args[:name] if args.key?(:name)
1157
+ @value = args[:value] if args.key?(:value)
1158
+ end
1159
+ end
1160
+
1161
+ # Handler defines a specific action that should be taken
1162
+ class Handler
1163
+ include Google::Apis::Core::Hashable
1164
+
1165
+ # ExecAction describes a "run in container" action.
1166
+ # Corresponds to the JSON property `exec`
1167
+ # @return [Google::Apis::RunV1alpha1::ExecAction]
1168
+ attr_accessor :exec
1169
+
1170
+ # HTTPGetAction describes an action based on HTTP Get requests.
1171
+ # Corresponds to the JSON property `httpGet`
1172
+ # @return [Google::Apis::RunV1alpha1::HttpGetAction]
1173
+ attr_accessor :http_get
1174
+
1175
+ # TCPSocketAction describes an action based on opening a socket
1176
+ # Corresponds to the JSON property `tcpSocket`
1177
+ # @return [Google::Apis::RunV1alpha1::TcpSocketAction]
1178
+ attr_accessor :tcp_socket
1179
+
1180
+ def initialize(**args)
1181
+ update!(**args)
1182
+ end
1183
+
1184
+ # Update properties of this object
1185
+ def update!(**args)
1186
+ @exec = args[:exec] if args.key?(:exec)
1187
+ @http_get = args[:http_get] if args.key?(:http_get)
1188
+ @tcp_socket = args[:tcp_socket] if args.key?(:tcp_socket)
1189
+ end
1190
+ end
1191
+
1192
+ # Initializer is information about an initializer that has not yet completed.
1193
+ class Initializer
1194
+ include Google::Apis::Core::Hashable
1195
+
1196
+ # name of the process that is responsible for initializing this object.
1197
+ # Corresponds to the JSON property `name`
1198
+ # @return [String]
1199
+ attr_accessor :name
1200
+
1201
+ def initialize(**args)
1202
+ update!(**args)
1203
+ end
1204
+
1205
+ # Update properties of this object
1206
+ def update!(**args)
1207
+ @name = args[:name] if args.key?(:name)
1208
+ end
1209
+ end
1210
+
1211
+ # Initializers tracks the progress of initialization.
1212
+ class Initializers
1213
+ include Google::Apis::Core::Hashable
1214
+
1215
+ # Pending is a list of initializers that must execute in order before this
1216
+ # object is visible. When the last pending initializer is removed, and no
1217
+ # failing result is set, the initializers struct will be set to nil and the
1218
+ # object is considered as initialized and visible to all clients.
1219
+ # +patchMergeKey=name
1220
+ # +patchStrategy=merge
1221
+ # Corresponds to the JSON property `pending`
1222
+ # @return [Array<Google::Apis::RunV1alpha1::Initializer>]
1223
+ attr_accessor :pending
1224
+
1225
+ def initialize(**args)
1226
+ update!(**args)
1227
+ end
1228
+
1229
+ # Update properties of this object
1230
+ def update!(**args)
1231
+ @pending = args[:pending] if args.key?(:pending)
1232
+ end
1233
+ end
1234
+
1235
+ # IntOrString is a type that can hold an int32 or a string. When used in
1236
+ # JSON or YAML marshalling and unmarshalling, it produces or consumes the
1237
+ # inner type. This allows you to have, for example, a JSON field that can
1238
+ # accept a name or number.
1239
+ class IntOrString
1240
+ include Google::Apis::Core::Hashable
1241
+
1242
+ # The int value.
1243
+ # Corresponds to the JSON property `intVal`
1244
+ # @return [Fixnum]
1245
+ attr_accessor :int_val
1246
+
1247
+ # The string value.
1248
+ # Corresponds to the JSON property `strVal`
1249
+ # @return [String]
1250
+ attr_accessor :str_val
1251
+
1252
+ # The type of the value.
1253
+ # Corresponds to the JSON property `type`
1254
+ # @return [Fixnum]
1255
+ attr_accessor :type
1256
+
1257
+ def initialize(**args)
1258
+ update!(**args)
1259
+ end
1260
+
1261
+ # Update properties of this object
1262
+ def update!(**args)
1263
+ @int_val = args[:int_val] if args.key?(:int_val)
1264
+ @str_val = args[:str_val] if args.key?(:str_val)
1265
+ @type = args[:type] if args.key?(:type)
1266
+ end
1267
+ end
1268
+
1269
+ # Lifecycle describes actions that the management system should take in
1270
+ # response to container lifecycle events. For the PostStart and PreStop
1271
+ # lifecycle handlers, management of the container blocks until the action is
1272
+ # complete, unless the container process fails, in which case the handler is
1273
+ # aborted.
1274
+ class Lifecycle
1275
+ include Google::Apis::Core::Hashable
1276
+
1277
+ # Handler defines a specific action that should be taken
1278
+ # Corresponds to the JSON property `postStart`
1279
+ # @return [Google::Apis::RunV1alpha1::Handler]
1280
+ attr_accessor :post_start
1281
+
1282
+ # Handler defines a specific action that should be taken
1283
+ # Corresponds to the JSON property `preStop`
1284
+ # @return [Google::Apis::RunV1alpha1::Handler]
1285
+ attr_accessor :pre_stop
1286
+
1287
+ def initialize(**args)
1288
+ update!(**args)
1289
+ end
1290
+
1291
+ # Update properties of this object
1292
+ def update!(**args)
1293
+ @post_start = args[:post_start] if args.key?(:post_start)
1294
+ @pre_stop = args[:pre_stop] if args.key?(:pre_stop)
1295
+ end
1296
+ end
1297
+
1298
+ # A list of Authorized Domains.
1299
+ class ListAuthorizedDomainsResponse
1300
+ include Google::Apis::Core::Hashable
1301
+
1302
+ # The authorized domains belonging to the user.
1303
+ # Corresponds to the JSON property `domains`
1304
+ # @return [Array<Google::Apis::RunV1alpha1::AuthorizedDomain>]
1305
+ attr_accessor :domains
1306
+
1307
+ # Continuation token for fetching the next page of results.
1308
+ # Corresponds to the JSON property `nextPageToken`
1309
+ # @return [String]
1310
+ attr_accessor :next_page_token
1311
+
1312
+ def initialize(**args)
1313
+ update!(**args)
1314
+ end
1315
+
1316
+ # Update properties of this object
1317
+ def update!(**args)
1318
+ @domains = args[:domains] if args.key?(:domains)
1319
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1320
+ end
1321
+ end
1322
+
1323
+ # ListConfigurationsResponse is a list of Configuration resources.
1324
+ class ListConfigurationsResponse
1325
+ include Google::Apis::Core::Hashable
1326
+
1327
+ # The API version for this call such as "v1alpha1".
1328
+ # Corresponds to the JSON property `apiVersion`
1329
+ # @return [String]
1330
+ attr_accessor :api_version
1331
+
1332
+ # List of Configurations.
1333
+ # Corresponds to the JSON property `items`
1334
+ # @return [Array<Google::Apis::RunV1alpha1::Configuration>]
1335
+ attr_accessor :items
1336
+
1337
+ # The kind of this resource, in this case "ConfigurationList".
1338
+ # Corresponds to the JSON property `kind`
1339
+ # @return [String]
1340
+ attr_accessor :kind
1341
+
1342
+ # ListMeta describes metadata that synthetic resources must have, including
1343
+ # lists and various status objects. A resource may have only one of
1344
+ # `ObjectMeta, ListMeta`.
1345
+ # Corresponds to the JSON property `metadata`
1346
+ # @return [Google::Apis::RunV1alpha1::ListMeta]
1347
+ attr_accessor :metadata
1348
+
1349
+ # Locations that could not be reached.
1350
+ # Corresponds to the JSON property `unreachable`
1351
+ # @return [Array<String>]
1352
+ attr_accessor :unreachable
1353
+
1354
+ def initialize(**args)
1355
+ update!(**args)
1356
+ end
1357
+
1358
+ # Update properties of this object
1359
+ def update!(**args)
1360
+ @api_version = args[:api_version] if args.key?(:api_version)
1361
+ @items = args[:items] if args.key?(:items)
1362
+ @kind = args[:kind] if args.key?(:kind)
1363
+ @metadata = args[:metadata] if args.key?(:metadata)
1364
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1365
+ end
1366
+ end
1367
+
1368
+ # ListDomainMappingsResponse is a list of DomainMapping resources.
1369
+ class ListDomainMappingsResponse
1370
+ include Google::Apis::Core::Hashable
1371
+
1372
+ # The API version for this call such as "v1alpha1".
1373
+ # Corresponds to the JSON property `apiVersion`
1374
+ # @return [String]
1375
+ attr_accessor :api_version
1376
+
1377
+ # List of DomainMappings.
1378
+ # Corresponds to the JSON property `items`
1379
+ # @return [Array<Google::Apis::RunV1alpha1::DomainMapping>]
1380
+ attr_accessor :items
1381
+
1382
+ # The kind of this resource, in this case "DomainMappingList".
1383
+ # Corresponds to the JSON property `kind`
1384
+ # @return [String]
1385
+ attr_accessor :kind
1386
+
1387
+ # ListMeta describes metadata that synthetic resources must have, including
1388
+ # lists and various status objects. A resource may have only one of
1389
+ # `ObjectMeta, ListMeta`.
1390
+ # Corresponds to the JSON property `metadata`
1391
+ # @return [Google::Apis::RunV1alpha1::ListMeta]
1392
+ attr_accessor :metadata
1393
+
1394
+ def initialize(**args)
1395
+ update!(**args)
1396
+ end
1397
+
1398
+ # Update properties of this object
1399
+ def update!(**args)
1400
+ @api_version = args[:api_version] if args.key?(:api_version)
1401
+ @items = args[:items] if args.key?(:items)
1402
+ @kind = args[:kind] if args.key?(:kind)
1403
+ @metadata = args[:metadata] if args.key?(:metadata)
1404
+ end
1405
+ end
1406
+
1407
+ # The response message for Locations.ListLocations.
1408
+ class ListLocationsResponse
1409
+ include Google::Apis::Core::Hashable
1410
+
1411
+ # A list of locations that matches the specified filter in the request.
1412
+ # Corresponds to the JSON property `locations`
1413
+ # @return [Array<Google::Apis::RunV1alpha1::Location>]
1414
+ attr_accessor :locations
1415
+
1416
+ # The standard List next-page token.
1417
+ # Corresponds to the JSON property `nextPageToken`
1418
+ # @return [String]
1419
+ attr_accessor :next_page_token
1420
+
1421
+ def initialize(**args)
1422
+ update!(**args)
1423
+ end
1424
+
1425
+ # Update properties of this object
1426
+ def update!(**args)
1427
+ @locations = args[:locations] if args.key?(:locations)
1428
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1429
+ end
1430
+ end
1431
+
1432
+ # ListMeta describes metadata that synthetic resources must have, including
1433
+ # lists and various status objects. A resource may have only one of
1434
+ # `ObjectMeta, ListMeta`.
1435
+ class ListMeta
1436
+ include Google::Apis::Core::Hashable
1437
+
1438
+ # continue may be set if the user set a limit on the number of items
1439
+ # returned, and indicates that the server has more data available. The value
1440
+ # is opaque and may be used to issue another request to the endpoint that
1441
+ # served this list to retrieve the next set of available objects. Continuing
1442
+ # a list may not be possible if the server configuration has changed or more
1443
+ # than a few minutes have passed. The resourceVersion field returned when
1444
+ # using this continue value will be identical to the value in the first
1445
+ # response.
1446
+ # Corresponds to the JSON property `continue`
1447
+ # @return [String]
1448
+ attr_accessor :continue
1449
+
1450
+ # String that identifies the server's internal version of this object that
1451
+ # can be used by clients to determine when objects have changed. Value must
1452
+ # be treated as opaque by clients and passed unmodified back to the server.
1453
+ # Populated by the system.
1454
+ # Read-only.
1455
+ # More info:
1456
+ # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-
1457
+ # control-and-consistency
1458
+ # +optional
1459
+ # Corresponds to the JSON property `resourceVersion`
1460
+ # @return [String]
1461
+ attr_accessor :resource_version
1462
+
1463
+ # SelfLink is a URL representing this object.
1464
+ # Populated by the system.
1465
+ # Read-only.
1466
+ # +optional
1467
+ # Corresponds to the JSON property `selfLink`
1468
+ # @return [String]
1469
+ attr_accessor :self_link
1470
+
1471
+ def initialize(**args)
1472
+ update!(**args)
1473
+ end
1474
+
1475
+ # Update properties of this object
1476
+ def update!(**args)
1477
+ @continue = args[:continue] if args.key?(:continue)
1478
+ @resource_version = args[:resource_version] if args.key?(:resource_version)
1479
+ @self_link = args[:self_link] if args.key?(:self_link)
1480
+ end
1481
+ end
1482
+
1483
+ # ListRevisionsResponse is a list of Revision resources.
1484
+ class ListRevisionsResponse
1485
+ include Google::Apis::Core::Hashable
1486
+
1487
+ # The API version for this call such as "v1alpha1".
1488
+ # Corresponds to the JSON property `apiVersion`
1489
+ # @return [String]
1490
+ attr_accessor :api_version
1491
+
1492
+ # List of Revisions.
1493
+ # Corresponds to the JSON property `items`
1494
+ # @return [Array<Google::Apis::RunV1alpha1::Revision>]
1495
+ attr_accessor :items
1496
+
1497
+ # The kind of this resource, in this case "RevisionList".
1498
+ # Corresponds to the JSON property `kind`
1499
+ # @return [String]
1500
+ attr_accessor :kind
1501
+
1502
+ # ListMeta describes metadata that synthetic resources must have, including
1503
+ # lists and various status objects. A resource may have only one of
1504
+ # `ObjectMeta, ListMeta`.
1505
+ # Corresponds to the JSON property `metadata`
1506
+ # @return [Google::Apis::RunV1alpha1::ListMeta]
1507
+ attr_accessor :metadata
1508
+
1509
+ # Locations that could not be reached.
1510
+ # Corresponds to the JSON property `unreachable`
1511
+ # @return [Array<String>]
1512
+ attr_accessor :unreachable
1513
+
1514
+ def initialize(**args)
1515
+ update!(**args)
1516
+ end
1517
+
1518
+ # Update properties of this object
1519
+ def update!(**args)
1520
+ @api_version = args[:api_version] if args.key?(:api_version)
1521
+ @items = args[:items] if args.key?(:items)
1522
+ @kind = args[:kind] if args.key?(:kind)
1523
+ @metadata = args[:metadata] if args.key?(:metadata)
1524
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1525
+ end
1526
+ end
1527
+
1528
+ # ListRoutesResponse is a list of Route resources.
1529
+ class ListRoutesResponse
1530
+ include Google::Apis::Core::Hashable
1531
+
1532
+ # The API version for this call such as "v1alpha1".
1533
+ # Corresponds to the JSON property `apiVersion`
1534
+ # @return [String]
1535
+ attr_accessor :api_version
1536
+
1537
+ # List of Routes.
1538
+ # Corresponds to the JSON property `items`
1539
+ # @return [Array<Google::Apis::RunV1alpha1::Route>]
1540
+ attr_accessor :items
1541
+
1542
+ # The kind of this resource, in this case always "RouteList".
1543
+ # Corresponds to the JSON property `kind`
1544
+ # @return [String]
1545
+ attr_accessor :kind
1546
+
1547
+ # ListMeta describes metadata that synthetic resources must have, including
1548
+ # lists and various status objects. A resource may have only one of
1549
+ # `ObjectMeta, ListMeta`.
1550
+ # Corresponds to the JSON property `metadata`
1551
+ # @return [Google::Apis::RunV1alpha1::ListMeta]
1552
+ attr_accessor :metadata
1553
+
1554
+ # Locations that could not be reached.
1555
+ # Corresponds to the JSON property `unreachable`
1556
+ # @return [Array<String>]
1557
+ attr_accessor :unreachable
1558
+
1559
+ def initialize(**args)
1560
+ update!(**args)
1561
+ end
1562
+
1563
+ # Update properties of this object
1564
+ def update!(**args)
1565
+ @api_version = args[:api_version] if args.key?(:api_version)
1566
+ @items = args[:items] if args.key?(:items)
1567
+ @kind = args[:kind] if args.key?(:kind)
1568
+ @metadata = args[:metadata] if args.key?(:metadata)
1569
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1570
+ end
1571
+ end
1572
+
1573
+ # A list of Service resources.
1574
+ class ListServicesResponse
1575
+ include Google::Apis::Core::Hashable
1576
+
1577
+ # The API version for this call such as "v1alpha1".
1578
+ # Corresponds to the JSON property `apiVersion`
1579
+ # @return [String]
1580
+ attr_accessor :api_version
1581
+
1582
+ # List of Services.
1583
+ # Corresponds to the JSON property `items`
1584
+ # @return [Array<Google::Apis::RunV1alpha1::Service>]
1585
+ attr_accessor :items
1586
+
1587
+ # The kind of this resource, in this case "ServiceList".
1588
+ # Corresponds to the JSON property `kind`
1589
+ # @return [String]
1590
+ attr_accessor :kind
1591
+
1592
+ # ListMeta describes metadata that synthetic resources must have, including
1593
+ # lists and various status objects. A resource may have only one of
1594
+ # `ObjectMeta, ListMeta`.
1595
+ # Corresponds to the JSON property `metadata`
1596
+ # @return [Google::Apis::RunV1alpha1::ListMeta]
1597
+ attr_accessor :metadata
1598
+
1599
+ # Locations that could not be reached.
1600
+ # Corresponds to the JSON property `unreachable`
1601
+ # @return [Array<String>]
1602
+ attr_accessor :unreachable
1603
+
1604
+ def initialize(**args)
1605
+ update!(**args)
1606
+ end
1607
+
1608
+ # Update properties of this object
1609
+ def update!(**args)
1610
+ @api_version = args[:api_version] if args.key?(:api_version)
1611
+ @items = args[:items] if args.key?(:items)
1612
+ @kind = args[:kind] if args.key?(:kind)
1613
+ @metadata = args[:metadata] if args.key?(:metadata)
1614
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1615
+ end
1616
+ end
1617
+
1618
+ # LocalObjectReference contains enough information to let you locate the
1619
+ # referenced object inside the same namespace.
1620
+ class LocalObjectReference
1621
+ include Google::Apis::Core::Hashable
1622
+
1623
+ # Name of the referent.
1624
+ # More info:
1625
+ # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
1626
+ # Corresponds to the JSON property `name`
1627
+ # @return [String]
1628
+ attr_accessor :name
1629
+
1630
+ def initialize(**args)
1631
+ update!(**args)
1632
+ end
1633
+
1634
+ # Update properties of this object
1635
+ def update!(**args)
1636
+ @name = args[:name] if args.key?(:name)
1637
+ end
1638
+ end
1639
+
1640
+ # A resource that represents Google Cloud Platform location.
1641
+ class Location
1642
+ include Google::Apis::Core::Hashable
1643
+
1644
+ # The friendly name for this location, typically a nearby city name.
1645
+ # For example, "Tokyo".
1646
+ # Corresponds to the JSON property `displayName`
1647
+ # @return [String]
1648
+ attr_accessor :display_name
1649
+
1650
+ # Cross-service attributes for the location. For example
1651
+ # `"cloud.googleapis.com/region": "us-east1"`
1652
+ # Corresponds to the JSON property `labels`
1653
+ # @return [Hash<String,String>]
1654
+ attr_accessor :labels
1655
+
1656
+ # The canonical id for this location. For example: `"us-east1"`.
1657
+ # Corresponds to the JSON property `locationId`
1658
+ # @return [String]
1659
+ attr_accessor :location_id
1660
+
1661
+ # Service-specific metadata. For example the available capacity at the given
1662
+ # location.
1663
+ # Corresponds to the JSON property `metadata`
1664
+ # @return [Hash<String,Object>]
1665
+ attr_accessor :metadata
1666
+
1667
+ # Resource name for the location, which may vary between implementations.
1668
+ # For example: `"projects/example-project/locations/us-east1"`
1669
+ # Corresponds to the JSON property `name`
1670
+ # @return [String]
1671
+ attr_accessor :name
1672
+
1673
+ def initialize(**args)
1674
+ update!(**args)
1675
+ end
1676
+
1677
+ # Update properties of this object
1678
+ def update!(**args)
1679
+ @display_name = args[:display_name] if args.key?(:display_name)
1680
+ @labels = args[:labels] if args.key?(:labels)
1681
+ @location_id = args[:location_id] if args.key?(:location_id)
1682
+ @metadata = args[:metadata] if args.key?(:metadata)
1683
+ @name = args[:name] if args.key?(:name)
1684
+ end
1685
+ end
1686
+
1687
+ # ObjectMeta is metadata that all persisted resources must have, which includes
1688
+ # all objects users must create.
1689
+ class ObjectMeta
1690
+ include Google::Apis::Core::Hashable
1691
+
1692
+ # Annotations is an unstructured key value map stored with a resource that
1693
+ # may be set by external tools to store and retrieve arbitrary metadata. They
1694
+ # are not queryable and should be preserved when modifying objects. More
1695
+ # info: http://kubernetes.io/docs/user-guide/annotations +optional
1696
+ # Corresponds to the JSON property `annotations`
1697
+ # @return [Hash<String,String>]
1698
+ attr_accessor :annotations
1699
+
1700
+ # Not currently supported by Cloud Run.
1701
+ # The name of the cluster which the object belongs to.
1702
+ # This is used to distinguish resources with same name and namespace in
1703
+ # different clusters. This field is not set anywhere right now and apiserver
1704
+ # is going to ignore it if set in create or update request. +optional
1705
+ # Corresponds to the JSON property `clusterName`
1706
+ # @return [String]
1707
+ attr_accessor :cluster_name
1708
+
1709
+ # CreationTimestamp is a timestamp representing the server time when this
1710
+ # object was created. It is not guaranteed to be set in happens-before order
1711
+ # across separate operations. Clients may not set this value. It is
1712
+ # represented in RFC3339 form and is in UTC.
1713
+ # Populated by the system.
1714
+ # Read-only.
1715
+ # Null for lists.
1716
+ # More info:
1717
+ # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
1718
+ # +optional
1719
+ # Corresponds to the JSON property `creationTimestamp`
1720
+ # @return [String]
1721
+ attr_accessor :creation_timestamp
1722
+
1723
+ # Not currently supported by Cloud Run.
1724
+ # Number of seconds allowed for this object to gracefully terminate before
1725
+ # it will be removed from the system. Only set when deletionTimestamp is also
1726
+ # set. May only be shortened. Read-only. +optional
1727
+ # Corresponds to the JSON property `deletionGracePeriodSeconds`
1728
+ # @return [Fixnum]
1729
+ attr_accessor :deletion_grace_period_seconds
1730
+
1731
+ # DeletionTimestamp is RFC 3339 date and time at which this resource will be
1732
+ # deleted. This field is set by the server when a graceful deletion is
1733
+ # requested by the user, and is not directly settable by a client. The
1734
+ # resource is expected to be deleted (no longer visible from resource lists,
1735
+ # and not reachable by name) after the time in this field, once the
1736
+ # finalizers list is empty. As long as the finalizers list contains items,
1737
+ # deletion is blocked. Once the deletionTimestamp is set, this value may not
1738
+ # be unset or be set further into the future, although it may be shortened or
1739
+ # the resource may be deleted prior to this time. For example, a user may
1740
+ # request that a pod is deleted in 30 seconds. The Kubelet will react by
1741
+ # sending a graceful termination signal to the containers in the pod. After
1742
+ # that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL)
1743
+ # to the container and after cleanup, remove the pod from the API. In the
1744
+ # presence of network partitions, this object may still exist after this
1745
+ # timestamp, until an administrator or automated process can determine the
1746
+ # resource is fully terminated.
1747
+ # If not set, graceful deletion of the object has not been requested.
1748
+ # Populated by the system when a graceful deletion is requested.
1749
+ # Read-only.
1750
+ # More info:
1751
+ # https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
1752
+ # +optional
1753
+ # Corresponds to the JSON property `deletionTimestamp`
1754
+ # @return [String]
1755
+ attr_accessor :deletion_timestamp
1756
+
1757
+ # Not currently supported by Cloud Run.
1758
+ # Must be empty before the object is deleted from the registry. Each entry
1759
+ # is an identifier for the responsible component that will remove the entry
1760
+ # from the list. If the deletionTimestamp of the object is non-nil, entries
1761
+ # in this list can only be removed.
1762
+ # +optional
1763
+ # +patchStrategy=merge
1764
+ # Corresponds to the JSON property `finalizers`
1765
+ # @return [Array<String>]
1766
+ attr_accessor :finalizers
1767
+
1768
+ # Not currently supported by Cloud Run.
1769
+ # GenerateName is an optional prefix, used by the server, to generate a
1770
+ # unique name ONLY IF the Name field has not been provided. If this field is
1771
+ # used, the name returned to the client will be different than the name
1772
+ # passed. This value will also be combined with a unique suffix. The provided
1773
+ # value has the same validation rules as the Name field, and may be truncated
1774
+ # by the length of the suffix required to make the value unique on the
1775
+ # server.
1776
+ # If this field is specified and the generated name exists, the server will
1777
+ # NOT return a 409 - instead, it will either return 201 Created or 500 with
1778
+ # Reason ServerTimeout indicating a unique name could not be found in the
1779
+ # time allotted, and the client should retry (optionally after the time
1780
+ # indicated in the Retry-After header).
1781
+ # Applied only if Name is not specified.
1782
+ # More info:
1783
+ # https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency
1784
+ # +optional
1785
+ # string generateName = 2;
1786
+ # Corresponds to the JSON property `generateName`
1787
+ # @return [String]
1788
+ attr_accessor :generate_name
1789
+
1790
+ # A sequence number representing a specific generation of the desired state.
1791
+ # Populated by the system. Read-only.
1792
+ # +optional
1793
+ # Corresponds to the JSON property `generation`
1794
+ # @return [Fixnum]
1795
+ attr_accessor :generation
1796
+
1797
+ # Initializers tracks the progress of initialization.
1798
+ # Corresponds to the JSON property `initializers`
1799
+ # @return [Google::Apis::RunV1alpha1::Initializers]
1800
+ attr_accessor :initializers
1801
+
1802
+ # Map of string keys and values that can be used to organize and categorize
1803
+ # (scope and select) objects. May match selectors of replication controllers
1804
+ # and routes.
1805
+ # More info: http://kubernetes.io/docs/user-guide/labels
1806
+ # +optional
1807
+ # Corresponds to the JSON property `labels`
1808
+ # @return [Hash<String,String>]
1809
+ attr_accessor :labels
1810
+
1811
+ # Name must be unique within a namespace, within a Cloud Run region.
1812
+ # Is required when creating
1813
+ # resources, although some resources may allow a client to request the
1814
+ # generation of an appropriate name automatically. Name is primarily intended
1815
+ # for creation idempotence and configuration definition. Cannot be updated.
1816
+ # More info: http://kubernetes.io/docs/user-guide/identifiers#names
1817
+ # +optional
1818
+ # Corresponds to the JSON property `name`
1819
+ # @return [String]
1820
+ attr_accessor :name
1821
+
1822
+ # Namespace defines the space within each name must be unique, within a
1823
+ # Cloud Run region. In Cloud Run the namespace must be equal to either the
1824
+ # project ID or project number.
1825
+ # Corresponds to the JSON property `namespace`
1826
+ # @return [String]
1827
+ attr_accessor :namespace
1828
+
1829
+ # List of objects that own this object. If ALL objects in the list have
1830
+ # been deleted, this object will be garbage collected.
1831
+ # +optional
1832
+ # Corresponds to the JSON property `ownerReferences`
1833
+ # @return [Array<Google::Apis::RunV1alpha1::OwnerReference>]
1834
+ attr_accessor :owner_references
1835
+
1836
+ # An opaque value that represents the internal version of this object that
1837
+ # can be used by clients to determine when objects have changed. May be used
1838
+ # for optimistic concurrency, change detection, and the watch operation on a
1839
+ # resource or set of resources. Clients must treat these values as opaque and
1840
+ # passed unmodified back to the server. They may only be valid for a
1841
+ # particular resource or set of resources.
1842
+ # Populated by the system.
1843
+ # Read-only.
1844
+ # Value must be treated as opaque by clients and .
1845
+ # More info:
1846
+ # https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-
1847
+ # control-and-consistency
1848
+ # +optional
1849
+ # Corresponds to the JSON property `resourceVersion`
1850
+ # @return [String]
1851
+ attr_accessor :resource_version
1852
+
1853
+ # SelfLink is a URL representing this object.
1854
+ # Populated by the system.
1855
+ # Read-only.
1856
+ # +optional
1857
+ # string selfLink = 4;
1858
+ # Corresponds to the JSON property `selfLink`
1859
+ # @return [String]
1860
+ attr_accessor :self_link
1861
+
1862
+ # UID is the unique in time and space value for this object. It is typically
1863
+ # generated by the server on successful creation of a resource and is not
1864
+ # allowed to change on PUT operations.
1865
+ # Populated by the system.
1866
+ # Read-only.
1867
+ # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
1868
+ # +optional
1869
+ # Corresponds to the JSON property `uid`
1870
+ # @return [String]
1871
+ attr_accessor :uid
1872
+
1873
+ def initialize(**args)
1874
+ update!(**args)
1875
+ end
1876
+
1877
+ # Update properties of this object
1878
+ def update!(**args)
1879
+ @annotations = args[:annotations] if args.key?(:annotations)
1880
+ @cluster_name = args[:cluster_name] if args.key?(:cluster_name)
1881
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
1882
+ @deletion_grace_period_seconds = args[:deletion_grace_period_seconds] if args.key?(:deletion_grace_period_seconds)
1883
+ @deletion_timestamp = args[:deletion_timestamp] if args.key?(:deletion_timestamp)
1884
+ @finalizers = args[:finalizers] if args.key?(:finalizers)
1885
+ @generate_name = args[:generate_name] if args.key?(:generate_name)
1886
+ @generation = args[:generation] if args.key?(:generation)
1887
+ @initializers = args[:initializers] if args.key?(:initializers)
1888
+ @labels = args[:labels] if args.key?(:labels)
1889
+ @name = args[:name] if args.key?(:name)
1890
+ @namespace = args[:namespace] if args.key?(:namespace)
1891
+ @owner_references = args[:owner_references] if args.key?(:owner_references)
1892
+ @resource_version = args[:resource_version] if args.key?(:resource_version)
1893
+ @self_link = args[:self_link] if args.key?(:self_link)
1894
+ @uid = args[:uid] if args.key?(:uid)
1895
+ end
1896
+ end
1897
+
1898
+ # OwnerReference contains enough information to let you identify an owning
1899
+ # object. Currently, an owning object must be in the same namespace, so there
1900
+ # is no namespace field.
1901
+ class OwnerReference
1902
+ include Google::Apis::Core::Hashable
1903
+
1904
+ # API version of the referent.
1905
+ # Corresponds to the JSON property `apiVersion`
1906
+ # @return [String]
1907
+ attr_accessor :api_version
1908
+
1909
+ # If true, AND if the owner has the "foregroundDeletion" finalizer, then
1910
+ # the owner cannot be deleted from the key-value store until this
1911
+ # reference is removed.
1912
+ # Defaults to false.
1913
+ # To set this field, a user needs "delete" permission of the owner,
1914
+ # otherwise 422 (Unprocessable Entity) will be returned.
1915
+ # +optional
1916
+ # Corresponds to the JSON property `blockOwnerDeletion`
1917
+ # @return [Boolean]
1918
+ attr_accessor :block_owner_deletion
1919
+ alias_method :block_owner_deletion?, :block_owner_deletion
1920
+
1921
+ # If true, this reference points to the managing controller.
1922
+ # +optional
1923
+ # Corresponds to the JSON property `controller`
1924
+ # @return [Boolean]
1925
+ attr_accessor :controller
1926
+ alias_method :controller?, :controller
1927
+
1928
+ # Kind of the referent.
1929
+ # More info:
1930
+ # https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds
1931
+ # Corresponds to the JSON property `kind`
1932
+ # @return [String]
1933
+ attr_accessor :kind
1934
+
1935
+ # Name of the referent.
1936
+ # More info: http://kubernetes.io/docs/user-guide/identifiers#names
1937
+ # Corresponds to the JSON property `name`
1938
+ # @return [String]
1939
+ attr_accessor :name
1940
+
1941
+ # UID of the referent.
1942
+ # More info: http://kubernetes.io/docs/user-guide/identifiers#uids
1943
+ # Corresponds to the JSON property `uid`
1944
+ # @return [String]
1945
+ attr_accessor :uid
1946
+
1947
+ def initialize(**args)
1948
+ update!(**args)
1949
+ end
1950
+
1951
+ # Update properties of this object
1952
+ def update!(**args)
1953
+ @api_version = args[:api_version] if args.key?(:api_version)
1954
+ @block_owner_deletion = args[:block_owner_deletion] if args.key?(:block_owner_deletion)
1955
+ @controller = args[:controller] if args.key?(:controller)
1956
+ @kind = args[:kind] if args.key?(:kind)
1957
+ @name = args[:name] if args.key?(:name)
1958
+ @uid = args[:uid] if args.key?(:uid)
1959
+ end
1960
+ end
1961
+
1962
+ # Defines an Identity and Access Management (IAM) policy. It is used to
1963
+ # specify access control policies for Cloud Platform resources.
1964
+ # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
1965
+ # `members` to a `role`, where the members can be user accounts, Google groups,
1966
+ # Google domains, and service accounts. A `role` is a named list of permissions
1967
+ # defined by IAM.
1968
+ # **JSON Example**
1969
+ # `
1970
+ # "bindings": [
1971
+ # `
1972
+ # "role": "roles/owner",
1973
+ # "members": [
1974
+ # "user:mike@example.com",
1975
+ # "group:admins@example.com",
1976
+ # "domain:google.com",
1977
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
1978
+ # ]
1979
+ # `,
1980
+ # `
1981
+ # "role": "roles/viewer",
1982
+ # "members": ["user:sean@example.com"]
1983
+ # `
1984
+ # ]
1985
+ # `
1986
+ # **YAML Example**
1987
+ # bindings:
1988
+ # - members:
1989
+ # - user:mike@example.com
1990
+ # - group:admins@example.com
1991
+ # - domain:google.com
1992
+ # - serviceAccount:my-other-app@appspot.gserviceaccount.com
1993
+ # role: roles/owner
1994
+ # - members:
1995
+ # - user:sean@example.com
1996
+ # role: roles/viewer
1997
+ # For a description of IAM and its features, see the
1998
+ # [IAM developer's guide](https://cloud.google.com/iam/docs).
1999
+ class Policy
2000
+ include Google::Apis::Core::Hashable
2001
+
2002
+ # Specifies cloud audit logging configuration for this policy.
2003
+ # Corresponds to the JSON property `auditConfigs`
2004
+ # @return [Array<Google::Apis::RunV1alpha1::AuditConfig>]
2005
+ attr_accessor :audit_configs
2006
+
2007
+ # Associates a list of `members` to a `role`.
2008
+ # `bindings` with no members will result in an error.
2009
+ # Corresponds to the JSON property `bindings`
2010
+ # @return [Array<Google::Apis::RunV1alpha1::Binding>]
2011
+ attr_accessor :bindings
2012
+
2013
+ # `etag` is used for optimistic concurrency control as a way to help
2014
+ # prevent simultaneous updates of a policy from overwriting each other.
2015
+ # It is strongly suggested that systems make use of the `etag` in the
2016
+ # read-modify-write cycle to perform policy updates in order to avoid race
2017
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
2018
+ # systems are expected to put that etag in the request to `setIamPolicy` to
2019
+ # ensure that their change will be applied to the same version of the policy.
2020
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
2021
+ # policy is overwritten blindly.
2022
+ # Corresponds to the JSON property `etag`
2023
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2024
+ # @return [String]
2025
+ attr_accessor :etag
2026
+
2027
+ # Deprecated.
2028
+ # Corresponds to the JSON property `version`
2029
+ # @return [Fixnum]
2030
+ attr_accessor :version
2031
+
2032
+ def initialize(**args)
2033
+ update!(**args)
2034
+ end
2035
+
2036
+ # Update properties of this object
2037
+ def update!(**args)
2038
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
2039
+ @bindings = args[:bindings] if args.key?(:bindings)
2040
+ @etag = args[:etag] if args.key?(:etag)
2041
+ @version = args[:version] if args.key?(:version)
2042
+ end
2043
+ end
2044
+
2045
+ # Probe describes a health check to be performed against a container to
2046
+ # determine whether it is alive or ready to receive traffic.
2047
+ class Probe
2048
+ include Google::Apis::Core::Hashable
2049
+
2050
+ # Minimum consecutive failures for the probe to be considered failed after
2051
+ # having succeeded. Defaults to 3. Minimum value is 1. +optional
2052
+ # Corresponds to the JSON property `failureThreshold`
2053
+ # @return [Fixnum]
2054
+ attr_accessor :failure_threshold
2055
+
2056
+ # Handler defines a specific action that should be taken
2057
+ # Corresponds to the JSON property `handler`
2058
+ # @return [Google::Apis::RunV1alpha1::Handler]
2059
+ attr_accessor :handler
2060
+
2061
+ # Number of seconds after the container has started before liveness probes
2062
+ # are initiated. More info:
2063
+ # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-
2064
+ # probes
2065
+ # +optional
2066
+ # Corresponds to the JSON property `initialDelaySeconds`
2067
+ # @return [Fixnum]
2068
+ attr_accessor :initial_delay_seconds
2069
+
2070
+ # How often (in seconds) to perform the probe.
2071
+ # Default to 10 seconds. Minimum value is 1.
2072
+ # +optional
2073
+ # Corresponds to the JSON property `periodSeconds`
2074
+ # @return [Fixnum]
2075
+ attr_accessor :period_seconds
2076
+
2077
+ # Minimum consecutive successes for the probe to be considered successful
2078
+ # after having failed. Defaults to 1. Must be 1 for liveness. Minimum value
2079
+ # is 1. +optional
2080
+ # Corresponds to the JSON property `successThreshold`
2081
+ # @return [Fixnum]
2082
+ attr_accessor :success_threshold
2083
+
2084
+ # Number of seconds after which the probe times out.
2085
+ # Defaults to 1 second. Minimum value is 1.
2086
+ # More info:
2087
+ # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-
2088
+ # probes
2089
+ # +optional
2090
+ # Corresponds to the JSON property `timeoutSeconds`
2091
+ # @return [Fixnum]
2092
+ attr_accessor :timeout_seconds
2093
+
2094
+ def initialize(**args)
2095
+ update!(**args)
2096
+ end
2097
+
2098
+ # Update properties of this object
2099
+ def update!(**args)
2100
+ @failure_threshold = args[:failure_threshold] if args.key?(:failure_threshold)
2101
+ @handler = args[:handler] if args.key?(:handler)
2102
+ @initial_delay_seconds = args[:initial_delay_seconds] if args.key?(:initial_delay_seconds)
2103
+ @period_seconds = args[:period_seconds] if args.key?(:period_seconds)
2104
+ @success_threshold = args[:success_threshold] if args.key?(:success_threshold)
2105
+ @timeout_seconds = args[:timeout_seconds] if args.key?(:timeout_seconds)
2106
+ end
2107
+ end
2108
+
2109
+ # The view model of a single quantity, e.g. "800 MiB". Corresponds to
2110
+ # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/
2111
+ # apimachinery/pkg/api/resource/generated.proto
2112
+ class Quantity
2113
+ include Google::Apis::Core::Hashable
2114
+
2115
+ # Stringified version of the quantity, e.g., "800 MiB".
2116
+ # Corresponds to the JSON property `string`
2117
+ # @return [String]
2118
+ attr_accessor :string
2119
+
2120
+ def initialize(**args)
2121
+ update!(**args)
2122
+ end
2123
+
2124
+ # Update properties of this object
2125
+ def update!(**args)
2126
+ @string = args[:string] if args.key?(:string)
2127
+ end
2128
+ end
2129
+
2130
+ # A DNS resource record.
2131
+ class ResourceRecord
2132
+ include Google::Apis::Core::Hashable
2133
+
2134
+ # Relative name of the object affected by this record. Only applicable for
2135
+ # `CNAME` records. Example: 'www'.
2136
+ # Corresponds to the JSON property `name`
2137
+ # @return [String]
2138
+ attr_accessor :name
2139
+
2140
+ # Data for this record. Values vary by record type, as defined in RFC 1035
2141
+ # (section 5) and RFC 1034 (section 3.6.1).
2142
+ # Corresponds to the JSON property `rrdata`
2143
+ # @return [String]
2144
+ attr_accessor :rrdata
2145
+
2146
+ # Resource record type. Example: `AAAA`.
2147
+ # Corresponds to the JSON property `type`
2148
+ # @return [String]
2149
+ attr_accessor :type
2150
+
2151
+ def initialize(**args)
2152
+ update!(**args)
2153
+ end
2154
+
2155
+ # Update properties of this object
2156
+ def update!(**args)
2157
+ @name = args[:name] if args.key?(:name)
2158
+ @rrdata = args[:rrdata] if args.key?(:rrdata)
2159
+ @type = args[:type] if args.key?(:type)
2160
+ end
2161
+ end
2162
+
2163
+ # ResourceRequirements describes the compute resource requirements.
2164
+ class ResourceRequirements
2165
+ include Google::Apis::Core::Hashable
2166
+
2167
+ # Limits describes the maximum amount of compute resources allowed.
2168
+ # The values of the map is string form of the 'quantity' k8s type:
2169
+ # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/
2170
+ # apimachinery/pkg/api/resource/quantity.go
2171
+ # Corresponds to the JSON property `limits`
2172
+ # @return [Hash<String,String>]
2173
+ attr_accessor :limits
2174
+
2175
+ # Limits describes the maximum amount of compute resources allowed.
2176
+ # This is a temporary field created to migrate away from the
2177
+ # map<string, Quantity> limits field. This is done to become compliant
2178
+ # with k8s style API.
2179
+ # This field is deprecated in favor of limits field.
2180
+ # Corresponds to the JSON property `limitsInMap`
2181
+ # @return [Hash<String,Google::Apis::RunV1alpha1::Quantity>]
2182
+ attr_accessor :limits_in_map
2183
+
2184
+ # Requests describes the minimum amount of compute resources required.
2185
+ # If Requests is omitted for a container, it defaults to Limits if that is
2186
+ # explicitly specified, otherwise to an implementation-defined value.
2187
+ # The values of the map is string form of the 'quantity' k8s type:
2188
+ # https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/
2189
+ # apimachinery/pkg/api/resource/quantity.go
2190
+ # Corresponds to the JSON property `requests`
2191
+ # @return [Hash<String,String>]
2192
+ attr_accessor :requests
2193
+
2194
+ # Requests describes the minimum amount of compute resources required.
2195
+ # If Requests is omitted for a container, it defaults to Limits if that is
2196
+ # explicitly specified, otherwise to an implementation-defined value.
2197
+ # This is a temporary field created to migrate away from the
2198
+ # map<string, Quantity> requests field. This is done to become compliant
2199
+ # with k8s style API.
2200
+ # This field is deprecated in favor of requests field.
2201
+ # Corresponds to the JSON property `requestsInMap`
2202
+ # @return [Hash<String,Google::Apis::RunV1alpha1::Quantity>]
2203
+ attr_accessor :requests_in_map
2204
+
2205
+ def initialize(**args)
2206
+ update!(**args)
2207
+ end
2208
+
2209
+ # Update properties of this object
2210
+ def update!(**args)
2211
+ @limits = args[:limits] if args.key?(:limits)
2212
+ @limits_in_map = args[:limits_in_map] if args.key?(:limits_in_map)
2213
+ @requests = args[:requests] if args.key?(:requests)
2214
+ @requests_in_map = args[:requests_in_map] if args.key?(:requests_in_map)
2215
+ end
2216
+ end
2217
+
2218
+ # Revision is an immutable snapshot of code and configuration. A revision
2219
+ # references a container image. Revisions are created by updates to a
2220
+ # Configuration.
2221
+ # Cloud Run does not currently support referencing a build that is responsible
2222
+ # for materializing the container image from source.
2223
+ # See also:
2224
+ # https://github.com/knative/serving/blob/master/docs/spec/overview.md#revision
2225
+ class Revision
2226
+ include Google::Apis::Core::Hashable
2227
+
2228
+ # The API version for this call such as "v1alpha1".
2229
+ # Corresponds to the JSON property `apiVersion`
2230
+ # @return [String]
2231
+ attr_accessor :api_version
2232
+
2233
+ # The kind of this resource, in this case "Revision".
2234
+ # Corresponds to the JSON property `kind`
2235
+ # @return [String]
2236
+ attr_accessor :kind
2237
+
2238
+ # ObjectMeta is metadata that all persisted resources must have, which includes
2239
+ # all objects users must create.
2240
+ # Corresponds to the JSON property `metadata`
2241
+ # @return [Google::Apis::RunV1alpha1::ObjectMeta]
2242
+ attr_accessor :metadata
2243
+
2244
+ # RevisionSpec holds the desired state of the Revision (from the client).
2245
+ # Corresponds to the JSON property `spec`
2246
+ # @return [Google::Apis::RunV1alpha1::RevisionSpec]
2247
+ attr_accessor :spec
2248
+
2249
+ # RevisionStatus communicates the observed state of the Revision (from the
2250
+ # controller).
2251
+ # Corresponds to the JSON property `status`
2252
+ # @return [Google::Apis::RunV1alpha1::RevisionStatus]
2253
+ attr_accessor :status
2254
+
2255
+ def initialize(**args)
2256
+ update!(**args)
2257
+ end
2258
+
2259
+ # Update properties of this object
2260
+ def update!(**args)
2261
+ @api_version = args[:api_version] if args.key?(:api_version)
2262
+ @kind = args[:kind] if args.key?(:kind)
2263
+ @metadata = args[:metadata] if args.key?(:metadata)
2264
+ @spec = args[:spec] if args.key?(:spec)
2265
+ @status = args[:status] if args.key?(:status)
2266
+ end
2267
+ end
2268
+
2269
+ # RevisionCondition defines a readiness condition for a Revision.
2270
+ class RevisionCondition
2271
+ include Google::Apis::Core::Hashable
2272
+
2273
+ # Last time the condition transitioned from one status to another.
2274
+ # +optional
2275
+ # Corresponds to the JSON property `lastTransitionTime`
2276
+ # @return [String]
2277
+ attr_accessor :last_transition_time
2278
+
2279
+ # Human readable message indicating details about the current status.
2280
+ # +optional
2281
+ # Corresponds to the JSON property `message`
2282
+ # @return [String]
2283
+ attr_accessor :message
2284
+
2285
+ # One-word CamelCase reason for the condition's last transition.
2286
+ # +optional
2287
+ # Corresponds to the JSON property `reason`
2288
+ # @return [String]
2289
+ attr_accessor :reason
2290
+
2291
+ # Status of the condition, one of True, False, Unknown.
2292
+ # Corresponds to the JSON property `status`
2293
+ # @return [String]
2294
+ attr_accessor :status
2295
+
2296
+ # RevisionConditionType is used to communicate the status of the
2297
+ # reconciliation process. See also:
2298
+ # https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-
2299
+ # conditions-and-reporting
2300
+ # Types include:
2301
+ # * "Ready": True when the Revision is ready.
2302
+ # * "ResourcesAvailable": True when underlying resources have been
2303
+ # provisioned.
2304
+ # * "ContainerHealthy": True when the Revision readiness check completes.
2305
+ # * "Active": True when the Revision may receive traffic.
2306
+ # Corresponds to the JSON property `type`
2307
+ # @return [String]
2308
+ attr_accessor :type
2309
+
2310
+ def initialize(**args)
2311
+ update!(**args)
2312
+ end
2313
+
2314
+ # Update properties of this object
2315
+ def update!(**args)
2316
+ @last_transition_time = args[:last_transition_time] if args.key?(:last_transition_time)
2317
+ @message = args[:message] if args.key?(:message)
2318
+ @reason = args[:reason] if args.key?(:reason)
2319
+ @status = args[:status] if args.key?(:status)
2320
+ @type = args[:type] if args.key?(:type)
2321
+ end
2322
+ end
2323
+
2324
+ # RevisionSpec holds the desired state of the Revision (from the client).
2325
+ class RevisionSpec
2326
+ include Google::Apis::Core::Hashable
2327
+
2328
+ # ConcurrencyModel specifies the desired concurrency model
2329
+ # (Single or Multi) for the Revision. Defaults to Multi.
2330
+ # Deprecated in favor of ContainerConcurrency.
2331
+ # +optional
2332
+ # Corresponds to the JSON property `concurrencyModel`
2333
+ # @return [String]
2334
+ attr_accessor :concurrency_model
2335
+
2336
+ # A single application container.
2337
+ # This specifies both the container to run, the command to run in the container
2338
+ # and the arguments to supply to it.
2339
+ # Note that additional arguments may be supplied by the system to the container
2340
+ # at runtime.
2341
+ # Corresponds to the JSON property `container`
2342
+ # @return [Google::Apis::RunV1alpha1::Container]
2343
+ attr_accessor :container
2344
+
2345
+ # ContainerConcurrency specifies the maximum allowed in-flight (concurrent)
2346
+ # requests per container of the Revision. Values are:
2347
+ # - `0` thread-safe, the system should manage the max concurrency. This is
2348
+ # the default value.
2349
+ # - `1` not-thread-safe. Single concurrency
2350
+ # - `2-N` thread-safe, max concurrency of N
2351
+ # Corresponds to the JSON property `containerConcurrency`
2352
+ # @return [Fixnum]
2353
+ attr_accessor :container_concurrency
2354
+
2355
+ # Deprecated and not currently populated by Cloud Run. See
2356
+ # metadata.generation instead, which is the sequence number containing the
2357
+ # latest generation of the desired state.
2358
+ # Read-only.
2359
+ # Corresponds to the JSON property `generation`
2360
+ # @return [Fixnum]
2361
+ attr_accessor :generation
2362
+
2363
+ # Not currently used by Cloud Run.
2364
+ # Corresponds to the JSON property `serviceAccountName`
2365
+ # @return [String]
2366
+ attr_accessor :service_account_name
2367
+
2368
+ # ServingState holds a value describing the state the resources
2369
+ # are in for this Revision.
2370
+ # Users must not specify this when creating a revision. It is expected
2371
+ # that the system will manipulate this based on routability and load.
2372
+ # Populated by the system.
2373
+ # Read-only.
2374
+ # Corresponds to the JSON property `servingState`
2375
+ # @return [String]
2376
+ attr_accessor :serving_state
2377
+
2378
+ # TimeoutSeconds holds the max duration the instance is allowed for
2379
+ # responding to a request.
2380
+ # Not currently used by Cloud Run.
2381
+ # Corresponds to the JSON property `timeoutSeconds`
2382
+ # @return [Fixnum]
2383
+ attr_accessor :timeout_seconds
2384
+
2385
+ def initialize(**args)
2386
+ update!(**args)
2387
+ end
2388
+
2389
+ # Update properties of this object
2390
+ def update!(**args)
2391
+ @concurrency_model = args[:concurrency_model] if args.key?(:concurrency_model)
2392
+ @container = args[:container] if args.key?(:container)
2393
+ @container_concurrency = args[:container_concurrency] if args.key?(:container_concurrency)
2394
+ @generation = args[:generation] if args.key?(:generation)
2395
+ @service_account_name = args[:service_account_name] if args.key?(:service_account_name)
2396
+ @serving_state = args[:serving_state] if args.key?(:serving_state)
2397
+ @timeout_seconds = args[:timeout_seconds] if args.key?(:timeout_seconds)
2398
+ end
2399
+ end
2400
+
2401
+ # RevisionStatus communicates the observed state of the Revision (from the
2402
+ # controller).
2403
+ class RevisionStatus
2404
+ include Google::Apis::Core::Hashable
2405
+
2406
+ # Conditions communicates information about ongoing/complete
2407
+ # reconciliation processes that bring the "spec" inline with the observed
2408
+ # state of the world.
2409
+ # As a Revision is being prepared, it will incrementally
2410
+ # update conditions "ResourcesAvailable", "ContainerHealthy", and "Active",
2411
+ # which contribute to the overall "Ready" condition.
2412
+ # Corresponds to the JSON property `conditions`
2413
+ # @return [Array<Google::Apis::RunV1alpha1::RevisionCondition>]
2414
+ attr_accessor :conditions
2415
+
2416
+ # ImageDigest holds the resolved digest for the image specified
2417
+ # within .Spec.Container.Image. The digest is resolved during the creation
2418
+ # of Revision. This field holds the digest value regardless of whether
2419
+ # a tag or digest was originally specified in the Container object.
2420
+ # Corresponds to the JSON property `imageDigest`
2421
+ # @return [String]
2422
+ attr_accessor :image_digest
2423
+
2424
+ # Specifies the generated logging url for this particular revision
2425
+ # based on the revision url template specified in the controller's config.
2426
+ # +optional
2427
+ # Corresponds to the JSON property `logUrl`
2428
+ # @return [String]
2429
+ attr_accessor :log_url
2430
+
2431
+ # ObservedGeneration is the 'Generation' of the Revision that
2432
+ # was last processed by the controller.
2433
+ # Clients polling for completed reconciliation should poll until
2434
+ # observedGeneration = metadata.generation, and the Ready condition's status
2435
+ # is True or False.
2436
+ # Corresponds to the JSON property `observedGeneration`
2437
+ # @return [Fixnum]
2438
+ attr_accessor :observed_generation
2439
+
2440
+ # Not currently used by Cloud Run.
2441
+ # Corresponds to the JSON property `serviceName`
2442
+ # @return [String]
2443
+ attr_accessor :service_name
2444
+
2445
+ def initialize(**args)
2446
+ update!(**args)
2447
+ end
2448
+
2449
+ # Update properties of this object
2450
+ def update!(**args)
2451
+ @conditions = args[:conditions] if args.key?(:conditions)
2452
+ @image_digest = args[:image_digest] if args.key?(:image_digest)
2453
+ @log_url = args[:log_url] if args.key?(:log_url)
2454
+ @observed_generation = args[:observed_generation] if args.key?(:observed_generation)
2455
+ @service_name = args[:service_name] if args.key?(:service_name)
2456
+ end
2457
+ end
2458
+
2459
+ # RevisionTemplateSpec describes the data a revision should have when created
2460
+ # from a template. Based on:
2461
+ # https://github.com/kubernetes/api/blob/e771f807/core/v1/types.go#L3179-L3190
2462
+ class RevisionTemplate
2463
+ include Google::Apis::Core::Hashable
2464
+
2465
+ # ObjectMeta is metadata that all persisted resources must have, which includes
2466
+ # all objects users must create.
2467
+ # Corresponds to the JSON property `metadata`
2468
+ # @return [Google::Apis::RunV1alpha1::ObjectMeta]
2469
+ attr_accessor :metadata
2470
+
2471
+ # RevisionSpec holds the desired state of the Revision (from the client).
2472
+ # Corresponds to the JSON property `spec`
2473
+ # @return [Google::Apis::RunV1alpha1::RevisionSpec]
2474
+ attr_accessor :spec
2475
+
2476
+ def initialize(**args)
2477
+ update!(**args)
2478
+ end
2479
+
2480
+ # Update properties of this object
2481
+ def update!(**args)
2482
+ @metadata = args[:metadata] if args.key?(:metadata)
2483
+ @spec = args[:spec] if args.key?(:spec)
2484
+ end
2485
+ end
2486
+
2487
+ # Route is responsible for configuring ingress over a collection of Revisions.
2488
+ # Some of the Revisions a Route distributes traffic over may be specified by
2489
+ # referencing the Configuration responsible for creating them; in these cases
2490
+ # the Route is additionally responsible for monitoring the Configuration for
2491
+ # "latest ready" revision changes, and smoothly rolling out latest revisions.
2492
+ # See also:
2493
+ # https://github.com/knative/serving/blob/master/docs/spec/overview.md#route
2494
+ # Cloud Run currently supports referencing a single Configuration to
2495
+ # automatically deploy the "latest ready" Revision from that Configuration.
2496
+ class Route
2497
+ include Google::Apis::Core::Hashable
2498
+
2499
+ # The API version for this call such as "v1alpha1".
2500
+ # Corresponds to the JSON property `apiVersion`
2501
+ # @return [String]
2502
+ attr_accessor :api_version
2503
+
2504
+ # The kind of this resource, in this case always "Route".
2505
+ # Corresponds to the JSON property `kind`
2506
+ # @return [String]
2507
+ attr_accessor :kind
2508
+
2509
+ # ObjectMeta is metadata that all persisted resources must have, which includes
2510
+ # all objects users must create.
2511
+ # Corresponds to the JSON property `metadata`
2512
+ # @return [Google::Apis::RunV1alpha1::ObjectMeta]
2513
+ attr_accessor :metadata
2514
+
2515
+ # RouteSpec holds the desired state of the Route (from the client).
2516
+ # Corresponds to the JSON property `spec`
2517
+ # @return [Google::Apis::RunV1alpha1::RouteSpec]
2518
+ attr_accessor :spec
2519
+
2520
+ # RouteStatus communicates the observed state of the Route (from the
2521
+ # controller).
2522
+ # Corresponds to the JSON property `status`
2523
+ # @return [Google::Apis::RunV1alpha1::RouteStatus]
2524
+ attr_accessor :status
2525
+
2526
+ def initialize(**args)
2527
+ update!(**args)
2528
+ end
2529
+
2530
+ # Update properties of this object
2531
+ def update!(**args)
2532
+ @api_version = args[:api_version] if args.key?(:api_version)
2533
+ @kind = args[:kind] if args.key?(:kind)
2534
+ @metadata = args[:metadata] if args.key?(:metadata)
2535
+ @spec = args[:spec] if args.key?(:spec)
2536
+ @status = args[:status] if args.key?(:status)
2537
+ end
2538
+ end
2539
+
2540
+ # RouteCondition defines a readiness condition for a Route.
2541
+ class RouteCondition
2542
+ include Google::Apis::Core::Hashable
2543
+
2544
+ # Last time the condition transitioned from one status to another.
2545
+ # +optional
2546
+ # Corresponds to the JSON property `lastTransitionTime`
2547
+ # @return [String]
2548
+ attr_accessor :last_transition_time
2549
+
2550
+ # Human-readable message indicating details about last transition.
2551
+ # +optional
2552
+ # Corresponds to the JSON property `message`
2553
+ # @return [String]
2554
+ attr_accessor :message
2555
+
2556
+ # One-word CamelCase reason for the condition's last transition.
2557
+ # +optional
2558
+ # Corresponds to the JSON property `reason`
2559
+ # @return [String]
2560
+ attr_accessor :reason
2561
+
2562
+ # Status of the condition, one of "True", "False", "Unknown".
2563
+ # Corresponds to the JSON property `status`
2564
+ # @return [String]
2565
+ attr_accessor :status
2566
+
2567
+ # RouteConditionType is used to communicate the status of the reconciliation
2568
+ # process. See also:
2569
+ # https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-
2570
+ # conditions-and-reporting
2571
+ # Types include: "Ready".
2572
+ # Corresponds to the JSON property `type`
2573
+ # @return [String]
2574
+ attr_accessor :type
2575
+
2576
+ def initialize(**args)
2577
+ update!(**args)
2578
+ end
2579
+
2580
+ # Update properties of this object
2581
+ def update!(**args)
2582
+ @last_transition_time = args[:last_transition_time] if args.key?(:last_transition_time)
2583
+ @message = args[:message] if args.key?(:message)
2584
+ @reason = args[:reason] if args.key?(:reason)
2585
+ @status = args[:status] if args.key?(:status)
2586
+ @type = args[:type] if args.key?(:type)
2587
+ end
2588
+ end
2589
+
2590
+ # RouteSpec holds the desired state of the Route (from the client).
2591
+ class RouteSpec
2592
+ include Google::Apis::Core::Hashable
2593
+
2594
+ # Deprecated and not currently populated by Cloud Run. See
2595
+ # metadata.generation instead, which is the sequence number containing the
2596
+ # latest generation of the desired state.
2597
+ # Read-only.
2598
+ # Corresponds to the JSON property `generation`
2599
+ # @return [Fixnum]
2600
+ attr_accessor :generation
2601
+
2602
+ # Traffic specifies how to distribute traffic over a collection of Knative
2603
+ # Revisions and Configurations.
2604
+ # Cloud Run currently supports a single configurationName.
2605
+ # Corresponds to the JSON property `traffic`
2606
+ # @return [Array<Google::Apis::RunV1alpha1::TrafficTarget>]
2607
+ attr_accessor :traffic
2608
+
2609
+ def initialize(**args)
2610
+ update!(**args)
2611
+ end
2612
+
2613
+ # Update properties of this object
2614
+ def update!(**args)
2615
+ @generation = args[:generation] if args.key?(:generation)
2616
+ @traffic = args[:traffic] if args.key?(:traffic)
2617
+ end
2618
+ end
2619
+
2620
+ # RouteStatus communicates the observed state of the Route (from the
2621
+ # controller).
2622
+ class RouteStatus
2623
+ include Google::Apis::Core::Hashable
2624
+
2625
+ # Information for connecting over HTTP(s).
2626
+ # Corresponds to the JSON property `address`
2627
+ # @return [Google::Apis::RunV1alpha1::Addressable]
2628
+ attr_accessor :address
2629
+
2630
+ # Conditions communicates information about ongoing/complete
2631
+ # reconciliation processes that bring the "spec" inline with the observed
2632
+ # state of the world.
2633
+ # Corresponds to the JSON property `conditions`
2634
+ # @return [Array<Google::Apis::RunV1alpha1::RouteCondition>]
2635
+ attr_accessor :conditions
2636
+
2637
+ # Domain holds the top-level domain that will distribute traffic over the
2638
+ # provided targets. It generally has the form
2639
+ # https://`route-hash`-`project-hash`-`cluster-level-suffix`.a.run.app
2640
+ # Corresponds to the JSON property `domain`
2641
+ # @return [String]
2642
+ attr_accessor :domain
2643
+
2644
+ # For Cloud Run, identifical to domain.
2645
+ # Corresponds to the JSON property `domainInternal`
2646
+ # @return [String]
2647
+ attr_accessor :domain_internal
2648
+
2649
+ # ObservedGeneration is the 'Generation' of the Route that
2650
+ # was last processed by the controller.
2651
+ # Clients polling for completed reconciliation should poll until
2652
+ # observedGeneration = metadata.generation and the Ready condition's status
2653
+ # is True or False.
2654
+ # Note that providing a trafficTarget that only has a configurationName will
2655
+ # result in a Route that does not increment either its metadata.generation or
2656
+ # its observedGeneration, as new "latest ready" revisions from the
2657
+ # Configuration are processed without an update to the Route's spec.
2658
+ # Corresponds to the JSON property `observedGeneration`
2659
+ # @return [Fixnum]
2660
+ attr_accessor :observed_generation
2661
+
2662
+ # Traffic holds the configured traffic distribution.
2663
+ # These entries will always contain RevisionName references.
2664
+ # When ConfigurationName appears in the spec, this will hold the
2665
+ # LatestReadyRevisionName that we last observed.
2666
+ # Corresponds to the JSON property `traffic`
2667
+ # @return [Array<Google::Apis::RunV1alpha1::TrafficTarget>]
2668
+ attr_accessor :traffic
2669
+
2670
+ def initialize(**args)
2671
+ update!(**args)
2672
+ end
2673
+
2674
+ # Update properties of this object
2675
+ def update!(**args)
2676
+ @address = args[:address] if args.key?(:address)
2677
+ @conditions = args[:conditions] if args.key?(:conditions)
2678
+ @domain = args[:domain] if args.key?(:domain)
2679
+ @domain_internal = args[:domain_internal] if args.key?(:domain_internal)
2680
+ @observed_generation = args[:observed_generation] if args.key?(:observed_generation)
2681
+ @traffic = args[:traffic] if args.key?(:traffic)
2682
+ end
2683
+ end
2684
+
2685
+ # SELinuxOptions are the labels to be applied to the container
2686
+ class SeLinuxOptions
2687
+ include Google::Apis::Core::Hashable
2688
+
2689
+ # Level is SELinux level label that applies to the container.
2690
+ # +optional
2691
+ # Corresponds to the JSON property `level`
2692
+ # @return [String]
2693
+ attr_accessor :level
2694
+
2695
+ # Role is a SELinux role label that applies to the container.
2696
+ # +optional
2697
+ # Corresponds to the JSON property `role`
2698
+ # @return [String]
2699
+ attr_accessor :role
2700
+
2701
+ # Type is a SELinux type label that applies to the container.
2702
+ # +optional
2703
+ # Corresponds to the JSON property `type`
2704
+ # @return [String]
2705
+ attr_accessor :type
2706
+
2707
+ # User is a SELinux user label that applies to the container.
2708
+ # +optional
2709
+ # Corresponds to the JSON property `user`
2710
+ # @return [String]
2711
+ attr_accessor :user
2712
+
2713
+ def initialize(**args)
2714
+ update!(**args)
2715
+ end
2716
+
2717
+ # Update properties of this object
2718
+ def update!(**args)
2719
+ @level = args[:level] if args.key?(:level)
2720
+ @role = args[:role] if args.key?(:role)
2721
+ @type = args[:type] if args.key?(:type)
2722
+ @user = args[:user] if args.key?(:user)
2723
+ end
2724
+ end
2725
+
2726
+ # SecretEnvSource selects a Secret to populate the environment
2727
+ # variables with.
2728
+ # The contents of the target Secret's Data field will represent the
2729
+ # key-value pairs as environment variables.
2730
+ class SecretEnvSource
2731
+ include Google::Apis::Core::Hashable
2732
+
2733
+ # LocalObjectReference contains enough information to let you locate the
2734
+ # referenced object inside the same namespace.
2735
+ # Corresponds to the JSON property `localObjectReference`
2736
+ # @return [Google::Apis::RunV1alpha1::LocalObjectReference]
2737
+ attr_accessor :local_object_reference
2738
+
2739
+ # Specify whether the Secret must be defined
2740
+ # +optional
2741
+ # Corresponds to the JSON property `optional`
2742
+ # @return [Boolean]
2743
+ attr_accessor :optional
2744
+ alias_method :optional?, :optional
2745
+
2746
+ def initialize(**args)
2747
+ update!(**args)
2748
+ end
2749
+
2750
+ # Update properties of this object
2751
+ def update!(**args)
2752
+ @local_object_reference = args[:local_object_reference] if args.key?(:local_object_reference)
2753
+ @optional = args[:optional] if args.key?(:optional)
2754
+ end
2755
+ end
2756
+
2757
+ # SecurityContext holds security configuration that will be applied to a
2758
+ # container. Some fields are present in both SecurityContext and
2759
+ # PodSecurityContext. When both are set, the values in SecurityContext take
2760
+ # precedence.
2761
+ class SecurityContext
2762
+ include Google::Apis::Core::Hashable
2763
+
2764
+ # AllowPrivilegeEscalation controls whether a process can gain more
2765
+ # privileges than its parent process. This bool directly controls if
2766
+ # the no_new_privs flag will be set on the container process.
2767
+ # AllowPrivilegeEscalation is true always when the container is:
2768
+ # 1) run as Privileged
2769
+ # 2) has CAP_SYS_ADMIN
2770
+ # +optional
2771
+ # Corresponds to the JSON property `allowPrivilegeEscalation`
2772
+ # @return [Boolean]
2773
+ attr_accessor :allow_privilege_escalation
2774
+ alias_method :allow_privilege_escalation?, :allow_privilege_escalation
2775
+
2776
+ # Adds and removes POSIX capabilities from running containers.
2777
+ # Corresponds to the JSON property `capabilities`
2778
+ # @return [Google::Apis::RunV1alpha1::Capabilities]
2779
+ attr_accessor :capabilities
2780
+
2781
+ # Run container in privileged mode.
2782
+ # Processes in privileged containers are essentially equivalent to root on
2783
+ # the host. Defaults to false. +optional
2784
+ # Corresponds to the JSON property `privileged`
2785
+ # @return [Boolean]
2786
+ attr_accessor :privileged
2787
+ alias_method :privileged?, :privileged
2788
+
2789
+ # Whether this container has a read-only root filesystem.
2790
+ # Default is false.
2791
+ # +optional
2792
+ # Corresponds to the JSON property `readOnlyRootFilesystem`
2793
+ # @return [Boolean]
2794
+ attr_accessor :read_only_root_filesystem
2795
+ alias_method :read_only_root_filesystem?, :read_only_root_filesystem
2796
+
2797
+ # The GID to run the entrypoint of the container process.
2798
+ # Uses runtime default if unset.
2799
+ # May also be set in PodSecurityContext. If set in both SecurityContext and
2800
+ # PodSecurityContext, the value specified in SecurityContext takes
2801
+ # precedence. +optional
2802
+ # Corresponds to the JSON property `runAsGroup`
2803
+ # @return [Fixnum]
2804
+ attr_accessor :run_as_group
2805
+
2806
+ # Indicates that the container must run as a non-root user.
2807
+ # If true, the Kubelet will validate the image at runtime to ensure that it
2808
+ # does not run as UID 0 (root) and fail to start the container if it does.
2809
+ # If unset or false, no such validation will be performed.
2810
+ # May also be set in PodSecurityContext. If set in both SecurityContext and
2811
+ # PodSecurityContext, the value specified in SecurityContext takes
2812
+ # precedence. +optional
2813
+ # Corresponds to the JSON property `runAsNonRoot`
2814
+ # @return [Boolean]
2815
+ attr_accessor :run_as_non_root
2816
+ alias_method :run_as_non_root?, :run_as_non_root
2817
+
2818
+ # The UID to run the entrypoint of the container process.
2819
+ # Defaults to user specified in image metadata if unspecified.
2820
+ # May also be set in PodSecurityContext. If set in both SecurityContext and
2821
+ # PodSecurityContext, the value specified in SecurityContext takes
2822
+ # precedence. +optional
2823
+ # Corresponds to the JSON property `runAsUser`
2824
+ # @return [Fixnum]
2825
+ attr_accessor :run_as_user
2826
+
2827
+ # SELinuxOptions are the labels to be applied to the container
2828
+ # Corresponds to the JSON property `seLinuxOptions`
2829
+ # @return [Google::Apis::RunV1alpha1::SeLinuxOptions]
2830
+ attr_accessor :se_linux_options
2831
+
2832
+ def initialize(**args)
2833
+ update!(**args)
2834
+ end
2835
+
2836
+ # Update properties of this object
2837
+ def update!(**args)
2838
+ @allow_privilege_escalation = args[:allow_privilege_escalation] if args.key?(:allow_privilege_escalation)
2839
+ @capabilities = args[:capabilities] if args.key?(:capabilities)
2840
+ @privileged = args[:privileged] if args.key?(:privileged)
2841
+ @read_only_root_filesystem = args[:read_only_root_filesystem] if args.key?(:read_only_root_filesystem)
2842
+ @run_as_group = args[:run_as_group] if args.key?(:run_as_group)
2843
+ @run_as_non_root = args[:run_as_non_root] if args.key?(:run_as_non_root)
2844
+ @run_as_user = args[:run_as_user] if args.key?(:run_as_user)
2845
+ @se_linux_options = args[:se_linux_options] if args.key?(:se_linux_options)
2846
+ end
2847
+ end
2848
+
2849
+ # Service acts as a top-level container that manages a set of Routes and
2850
+ # Configurations which implement a network service. Service exists to provide a
2851
+ # singular abstraction which can be access controlled, reasoned about, and
2852
+ # which encapsulates software lifecycle decisions such as rollout policy and
2853
+ # team resource ownership. Service acts only as an orchestrator of the
2854
+ # underlying Routes and Configurations (much as a kubernetes Deployment
2855
+ # orchestrates ReplicaSets).
2856
+ # The Service's controller will track the statuses of its owned Configuration
2857
+ # and Route, reflecting their statuses and conditions as its own.
2858
+ # See also:
2859
+ # https://github.com/knative/serving/blob/master/docs/spec/overview.md#service
2860
+ class Service
2861
+ include Google::Apis::Core::Hashable
2862
+
2863
+ # The API version for this call such as "v1alpha1".
2864
+ # Corresponds to the JSON property `apiVersion`
2865
+ # @return [String]
2866
+ attr_accessor :api_version
2867
+
2868
+ # The kind of resource, in this case "Service".
2869
+ # Corresponds to the JSON property `kind`
2870
+ # @return [String]
2871
+ attr_accessor :kind
2872
+
2873
+ # ObjectMeta is metadata that all persisted resources must have, which includes
2874
+ # all objects users must create.
2875
+ # Corresponds to the JSON property `metadata`
2876
+ # @return [Google::Apis::RunV1alpha1::ObjectMeta]
2877
+ attr_accessor :metadata
2878
+
2879
+ # ServiceSpec holds the desired state of the Route (from the client), which
2880
+ # is used to manipulate the underlying Route and Configuration(s).
2881
+ # Corresponds to the JSON property `spec`
2882
+ # @return [Google::Apis::RunV1alpha1::ServiceSpec]
2883
+ attr_accessor :spec
2884
+
2885
+ # The current state of the Service. Output only.
2886
+ # Corresponds to the JSON property `status`
2887
+ # @return [Google::Apis::RunV1alpha1::ServiceStatus]
2888
+ attr_accessor :status
2889
+
2890
+ def initialize(**args)
2891
+ update!(**args)
2892
+ end
2893
+
2894
+ # Update properties of this object
2895
+ def update!(**args)
2896
+ @api_version = args[:api_version] if args.key?(:api_version)
2897
+ @kind = args[:kind] if args.key?(:kind)
2898
+ @metadata = args[:metadata] if args.key?(:metadata)
2899
+ @spec = args[:spec] if args.key?(:spec)
2900
+ @status = args[:status] if args.key?(:status)
2901
+ end
2902
+ end
2903
+
2904
+ # ServiceCondition defines a readiness condition for a Service.
2905
+ class ServiceCondition
2906
+ include Google::Apis::Core::Hashable
2907
+
2908
+ # Last time the condition transitioned from one status to another.
2909
+ # +optional
2910
+ # Corresponds to the JSON property `lastTransitionTime`
2911
+ # @return [String]
2912
+ attr_accessor :last_transition_time
2913
+
2914
+ # Human-readable message indicating details about last transition.
2915
+ # +optional
2916
+ # Corresponds to the JSON property `message`
2917
+ # @return [String]
2918
+ attr_accessor :message
2919
+
2920
+ # One-word CamelCase reason for the condition's last transition.
2921
+ # +optional
2922
+ # Corresponds to the JSON property `reason`
2923
+ # @return [String]
2924
+ attr_accessor :reason
2925
+
2926
+ # Status of the condition, one of True, False, Unknown.
2927
+ # Corresponds to the JSON property `status`
2928
+ # @return [String]
2929
+ attr_accessor :status
2930
+
2931
+ # ServiceConditionType is used to communicate the status of the
2932
+ # reconciliation process. See also:
2933
+ # https://github.com/knative/serving/blob/master/docs/spec/errors.md#error-
2934
+ # conditions-and-reporting
2935
+ # Types include: "Ready", "ConfigurationsReady", and "RoutesReady". "Ready"
2936
+ # will be true when the underlying Route and Configuration are ready.
2937
+ # Corresponds to the JSON property `type`
2938
+ # @return [String]
2939
+ attr_accessor :type
2940
+
2941
+ def initialize(**args)
2942
+ update!(**args)
2943
+ end
2944
+
2945
+ # Update properties of this object
2946
+ def update!(**args)
2947
+ @last_transition_time = args[:last_transition_time] if args.key?(:last_transition_time)
2948
+ @message = args[:message] if args.key?(:message)
2949
+ @reason = args[:reason] if args.key?(:reason)
2950
+ @status = args[:status] if args.key?(:status)
2951
+ @type = args[:type] if args.key?(:type)
2952
+ end
2953
+ end
2954
+
2955
+ # ServiceSpec holds the desired state of the Route (from the client), which
2956
+ # is used to manipulate the underlying Route and Configuration(s).
2957
+ class ServiceSpec
2958
+ include Google::Apis::Core::Hashable
2959
+
2960
+ # Deprecated and not currently populated by Cloud Run. See
2961
+ # metadata.generation instead, which is the sequence number containing the
2962
+ # latest generation of the desired state.
2963
+ # Read-only.
2964
+ # Corresponds to the JSON property `generation`
2965
+ # @return [Fixnum]
2966
+ attr_accessor :generation
2967
+
2968
+ # ServiceSpecManualType contains the options for configuring a manual service.
2969
+ # See ServiceSpec for more details.
2970
+ # Not currently supported by Cloud Run.
2971
+ # Corresponds to the JSON property `manual`
2972
+ # @return [Google::Apis::RunV1alpha1::ServiceSpecManualType]
2973
+ attr_accessor :manual
2974
+
2975
+ # ServiceSpecPinnedType Pins this service to a specific revision name. The
2976
+ # revision must be owned by the configuration provided.
2977
+ # Deprecated and not supported by Cloud Run.
2978
+ # Corresponds to the JSON property `pinned`
2979
+ # @return [Google::Apis::RunV1alpha1::ServiceSpecPinnedType]
2980
+ attr_accessor :pinned
2981
+
2982
+ # ServiceSpecReleaseType contains the options for slowly releasing revisions.
2983
+ # See ServiceSpec for more details.
2984
+ # Not currently supported by Cloud Run.
2985
+ # Corresponds to the JSON property `release`
2986
+ # @return [Google::Apis::RunV1alpha1::ServiceSpecReleaseType]
2987
+ attr_accessor :release
2988
+
2989
+ # ServiceSpecRunLatest contains the options for always having a route to the
2990
+ # latest configuration. See ServiceSpec for more details.
2991
+ # Corresponds to the JSON property `runLatest`
2992
+ # @return [Google::Apis::RunV1alpha1::ServiceSpecRunLatest]
2993
+ attr_accessor :run_latest
2994
+
2995
+ def initialize(**args)
2996
+ update!(**args)
2997
+ end
2998
+
2999
+ # Update properties of this object
3000
+ def update!(**args)
3001
+ @generation = args[:generation] if args.key?(:generation)
3002
+ @manual = args[:manual] if args.key?(:manual)
3003
+ @pinned = args[:pinned] if args.key?(:pinned)
3004
+ @release = args[:release] if args.key?(:release)
3005
+ @run_latest = args[:run_latest] if args.key?(:run_latest)
3006
+ end
3007
+ end
3008
+
3009
+ # ServiceSpecManualType contains the options for configuring a manual service.
3010
+ # See ServiceSpec for more details.
3011
+ # Not currently supported by Cloud Run.
3012
+ class ServiceSpecManualType
3013
+ include Google::Apis::Core::Hashable
3014
+
3015
+ def initialize(**args)
3016
+ update!(**args)
3017
+ end
3018
+
3019
+ # Update properties of this object
3020
+ def update!(**args)
3021
+ end
3022
+ end
3023
+
3024
+ # ServiceSpecPinnedType Pins this service to a specific revision name. The
3025
+ # revision must be owned by the configuration provided.
3026
+ # Deprecated and not supported by Cloud Run.
3027
+ class ServiceSpecPinnedType
3028
+ include Google::Apis::Core::Hashable
3029
+
3030
+ # ConfigurationSpec holds the desired state of the Configuration (from the
3031
+ # client).
3032
+ # Corresponds to the JSON property `configuration`
3033
+ # @return [Google::Apis::RunV1alpha1::ConfigurationSpec]
3034
+ attr_accessor :configuration
3035
+
3036
+ # The revision name to pin this service to until changed
3037
+ # to a different service type.
3038
+ # Corresponds to the JSON property `revisionName`
3039
+ # @return [String]
3040
+ attr_accessor :revision_name
3041
+
3042
+ def initialize(**args)
3043
+ update!(**args)
3044
+ end
3045
+
3046
+ # Update properties of this object
3047
+ def update!(**args)
3048
+ @configuration = args[:configuration] if args.key?(:configuration)
3049
+ @revision_name = args[:revision_name] if args.key?(:revision_name)
3050
+ end
3051
+ end
3052
+
3053
+ # ServiceSpecReleaseType contains the options for slowly releasing revisions.
3054
+ # See ServiceSpec for more details.
3055
+ # Not currently supported by Cloud Run.
3056
+ class ServiceSpecReleaseType
3057
+ include Google::Apis::Core::Hashable
3058
+
3059
+ # ConfigurationSpec holds the desired state of the Configuration (from the
3060
+ # client).
3061
+ # Corresponds to the JSON property `configuration`
3062
+ # @return [Google::Apis::RunV1alpha1::ConfigurationSpec]
3063
+ attr_accessor :configuration
3064
+
3065
+ # Revisions is an ordered list of 1 or 2 revisions. The first is the current
3066
+ # revision, and the second is the candidate revision. If a single revision
3067
+ # is provided, traffic will be pinned at that revision.
3068
+ # "@latest" is a shortcut for usage that refers to the latest created
3069
+ # revision by the configuration.
3070
+ # Corresponds to the JSON property `revisions`
3071
+ # @return [Array<String>]
3072
+ attr_accessor :revisions
3073
+
3074
+ # RolloutPercent is the percent of traffic that should be sent to the
3075
+ # candidate revision, i.e. the 2nd revision in the revisions list.
3076
+ # Valid values are between 0 and 99 inclusive.
3077
+ # Corresponds to the JSON property `rolloutPercent`
3078
+ # @return [Fixnum]
3079
+ attr_accessor :rollout_percent
3080
+
3081
+ def initialize(**args)
3082
+ update!(**args)
3083
+ end
3084
+
3085
+ # Update properties of this object
3086
+ def update!(**args)
3087
+ @configuration = args[:configuration] if args.key?(:configuration)
3088
+ @revisions = args[:revisions] if args.key?(:revisions)
3089
+ @rollout_percent = args[:rollout_percent] if args.key?(:rollout_percent)
3090
+ end
3091
+ end
3092
+
3093
+ # ServiceSpecRunLatest contains the options for always having a route to the
3094
+ # latest configuration. See ServiceSpec for more details.
3095
+ class ServiceSpecRunLatest
3096
+ include Google::Apis::Core::Hashable
3097
+
3098
+ # ConfigurationSpec holds the desired state of the Configuration (from the
3099
+ # client).
3100
+ # Corresponds to the JSON property `configuration`
3101
+ # @return [Google::Apis::RunV1alpha1::ConfigurationSpec]
3102
+ attr_accessor :configuration
3103
+
3104
+ def initialize(**args)
3105
+ update!(**args)
3106
+ end
3107
+
3108
+ # Update properties of this object
3109
+ def update!(**args)
3110
+ @configuration = args[:configuration] if args.key?(:configuration)
3111
+ end
3112
+ end
3113
+
3114
+ # The current state of the Service. Output only.
3115
+ class ServiceStatus
3116
+ include Google::Apis::Core::Hashable
3117
+
3118
+ # Information for connecting over HTTP(s).
3119
+ # Corresponds to the JSON property `address`
3120
+ # @return [Google::Apis::RunV1alpha1::Addressable]
3121
+ attr_accessor :address
3122
+
3123
+ # Conditions communicates information about ongoing/complete
3124
+ # reconciliation processes that bring the "spec" inline with the observed
3125
+ # state of the world.
3126
+ # Corresponds to the JSON property `conditions`
3127
+ # @return [Array<Google::Apis::RunV1alpha1::ServiceCondition>]
3128
+ attr_accessor :conditions
3129
+
3130
+ # From RouteStatus.
3131
+ # Domain holds the top-level domain that will distribute traffic over the
3132
+ # provided targets. It generally has the form
3133
+ # https://`route-hash`-`project-hash`-`cluster-level-suffix`.a.run.app
3134
+ # Corresponds to the JSON property `domain`
3135
+ # @return [String]
3136
+ attr_accessor :domain
3137
+
3138
+ # From ConfigurationStatus.
3139
+ # LatestCreatedRevisionName is the last revision that was created from this
3140
+ # Service's Configuration. It might not be ready yet, for that use
3141
+ # LatestReadyRevisionName.
3142
+ # Corresponds to the JSON property `latestCreatedRevisionName`
3143
+ # @return [String]
3144
+ attr_accessor :latest_created_revision_name
3145
+
3146
+ # From ConfigurationStatus.
3147
+ # LatestReadyRevisionName holds the name of the latest Revision stamped out
3148
+ # from this Service's Configuration that has had its "Ready" condition become
3149
+ # "True".
3150
+ # Corresponds to the JSON property `latestReadyRevisionName`
3151
+ # @return [String]
3152
+ attr_accessor :latest_ready_revision_name
3153
+
3154
+ # ObservedGeneration is the 'Generation' of the Route that
3155
+ # was last processed by the controller.
3156
+ # Clients polling for completed reconciliation should poll until
3157
+ # observedGeneration = metadata.generation and the Ready condition's status
3158
+ # is True or False.
3159
+ # Corresponds to the JSON property `observedGeneration`
3160
+ # @return [Fixnum]
3161
+ attr_accessor :observed_generation
3162
+
3163
+ # From RouteStatus.
3164
+ # Traffic holds the configured traffic distribution.
3165
+ # These entries will always contain RevisionName references.
3166
+ # When ConfigurationName appears in the spec, this will hold the
3167
+ # LatestReadyRevisionName that we last observed.
3168
+ # Corresponds to the JSON property `traffic`
3169
+ # @return [Array<Google::Apis::RunV1alpha1::TrafficTarget>]
3170
+ attr_accessor :traffic
3171
+
3172
+ def initialize(**args)
3173
+ update!(**args)
3174
+ end
3175
+
3176
+ # Update properties of this object
3177
+ def update!(**args)
3178
+ @address = args[:address] if args.key?(:address)
3179
+ @conditions = args[:conditions] if args.key?(:conditions)
3180
+ @domain = args[:domain] if args.key?(:domain)
3181
+ @latest_created_revision_name = args[:latest_created_revision_name] if args.key?(:latest_created_revision_name)
3182
+ @latest_ready_revision_name = args[:latest_ready_revision_name] if args.key?(:latest_ready_revision_name)
3183
+ @observed_generation = args[:observed_generation] if args.key?(:observed_generation)
3184
+ @traffic = args[:traffic] if args.key?(:traffic)
3185
+ end
3186
+ end
3187
+
3188
+ # Request message for `SetIamPolicy` method.
3189
+ class SetIamPolicyRequest
3190
+ include Google::Apis::Core::Hashable
3191
+
3192
+ # Defines an Identity and Access Management (IAM) policy. It is used to
3193
+ # specify access control policies for Cloud Platform resources.
3194
+ # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
3195
+ # `members` to a `role`, where the members can be user accounts, Google groups,
3196
+ # Google domains, and service accounts. A `role` is a named list of permissions
3197
+ # defined by IAM.
3198
+ # **JSON Example**
3199
+ # `
3200
+ # "bindings": [
3201
+ # `
3202
+ # "role": "roles/owner",
3203
+ # "members": [
3204
+ # "user:mike@example.com",
3205
+ # "group:admins@example.com",
3206
+ # "domain:google.com",
3207
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
3208
+ # ]
3209
+ # `,
3210
+ # `
3211
+ # "role": "roles/viewer",
3212
+ # "members": ["user:sean@example.com"]
3213
+ # `
3214
+ # ]
3215
+ # `
3216
+ # **YAML Example**
3217
+ # bindings:
3218
+ # - members:
3219
+ # - user:mike@example.com
3220
+ # - group:admins@example.com
3221
+ # - domain:google.com
3222
+ # - serviceAccount:my-other-app@appspot.gserviceaccount.com
3223
+ # role: roles/owner
3224
+ # - members:
3225
+ # - user:sean@example.com
3226
+ # role: roles/viewer
3227
+ # For a description of IAM and its features, see the
3228
+ # [IAM developer's guide](https://cloud.google.com/iam/docs).
3229
+ # Corresponds to the JSON property `policy`
3230
+ # @return [Google::Apis::RunV1alpha1::Policy]
3231
+ attr_accessor :policy
3232
+
3233
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
3234
+ # the fields in the mask will be modified. If no mask is provided, the
3235
+ # following default mask is used:
3236
+ # paths: "bindings, etag"
3237
+ # This field is only used by Cloud IAM.
3238
+ # Corresponds to the JSON property `updateMask`
3239
+ # @return [String]
3240
+ attr_accessor :update_mask
3241
+
3242
+ def initialize(**args)
3243
+ update!(**args)
3244
+ end
3245
+
3246
+ # Update properties of this object
3247
+ def update!(**args)
3248
+ @policy = args[:policy] if args.key?(:policy)
3249
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
3250
+ end
3251
+ end
3252
+
3253
+ # TCPSocketAction describes an action based on opening a socket
3254
+ class TcpSocketAction
3255
+ include Google::Apis::Core::Hashable
3256
+
3257
+ # Optional: Host name to connect to, defaults to the pod IP.
3258
+ # +optional
3259
+ # Corresponds to the JSON property `host`
3260
+ # @return [String]
3261
+ attr_accessor :host
3262
+
3263
+ # IntOrString is a type that can hold an int32 or a string. When used in
3264
+ # JSON or YAML marshalling and unmarshalling, it produces or consumes the
3265
+ # inner type. This allows you to have, for example, a JSON field that can
3266
+ # accept a name or number.
3267
+ # Corresponds to the JSON property `port`
3268
+ # @return [Google::Apis::RunV1alpha1::IntOrString]
3269
+ attr_accessor :port
3270
+
3271
+ def initialize(**args)
3272
+ update!(**args)
3273
+ end
3274
+
3275
+ # Update properties of this object
3276
+ def update!(**args)
3277
+ @host = args[:host] if args.key?(:host)
3278
+ @port = args[:port] if args.key?(:port)
3279
+ end
3280
+ end
3281
+
3282
+ # Request message for `TestIamPermissions` method.
3283
+ class TestIamPermissionsRequest
3284
+ include Google::Apis::Core::Hashable
3285
+
3286
+ # The set of permissions to check for the `resource`. Permissions with
3287
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
3288
+ # information see
3289
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
3290
+ # Corresponds to the JSON property `permissions`
3291
+ # @return [Array<String>]
3292
+ attr_accessor :permissions
3293
+
3294
+ def initialize(**args)
3295
+ update!(**args)
3296
+ end
3297
+
3298
+ # Update properties of this object
3299
+ def update!(**args)
3300
+ @permissions = args[:permissions] if args.key?(:permissions)
3301
+ end
3302
+ end
3303
+
3304
+ # Response message for `TestIamPermissions` method.
3305
+ class TestIamPermissionsResponse
3306
+ include Google::Apis::Core::Hashable
3307
+
3308
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
3309
+ # allowed.
3310
+ # Corresponds to the JSON property `permissions`
3311
+ # @return [Array<String>]
3312
+ attr_accessor :permissions
3313
+
3314
+ def initialize(**args)
3315
+ update!(**args)
3316
+ end
3317
+
3318
+ # Update properties of this object
3319
+ def update!(**args)
3320
+ @permissions = args[:permissions] if args.key?(:permissions)
3321
+ end
3322
+ end
3323
+
3324
+ # TrafficTarget holds a single entry of the routing table for a Route.
3325
+ class TrafficTarget
3326
+ include Google::Apis::Core::Hashable
3327
+
3328
+ # ConfigurationName of a configuration to whose latest revision we will
3329
+ # send this portion of traffic. When the "status.latestReadyRevisionName"
3330
+ # of the referenced configuration changes, we will automatically migrate
3331
+ # traffic from the prior "latest ready" revision to the new one. This field
3332
+ # is never set in Route's status, only its spec. This is mutually exclusive
3333
+ # with RevisionName.
3334
+ # Cloud Run currently supports a single ConfigurationName.
3335
+ # Corresponds to the JSON property `configurationName`
3336
+ # @return [String]
3337
+ attr_accessor :configuration_name
3338
+
3339
+ # Name is optionally used to expose a dedicated hostname for referencing this
3340
+ # target exclusively.
3341
+ # Not currently supported by Cloud Run.
3342
+ # +optional
3343
+ # Corresponds to the JSON property `name`
3344
+ # @return [String]
3345
+ attr_accessor :name
3346
+
3347
+ # Percent specifies percent of the traffic to this Revision or Configuration.
3348
+ # This defaults to zero if unspecified.
3349
+ # Cloud Run currently requires 100 percent for a single ConfigurationName
3350
+ # TrafficTarget entry.
3351
+ # Corresponds to the JSON property `percent`
3352
+ # @return [Fixnum]
3353
+ attr_accessor :percent
3354
+
3355
+ # RevisionName of a specific revision to which to send this portion of
3356
+ # traffic. This is mutually exclusive with ConfigurationName.
3357
+ # Providing RevisionName in spec is not currently supported by Cloud Run.
3358
+ # Corresponds to the JSON property `revisionName`
3359
+ # @return [String]
3360
+ attr_accessor :revision_name
3361
+
3362
+ def initialize(**args)
3363
+ update!(**args)
3364
+ end
3365
+
3366
+ # Update properties of this object
3367
+ def update!(**args)
3368
+ @configuration_name = args[:configuration_name] if args.key?(:configuration_name)
3369
+ @name = args[:name] if args.key?(:name)
3370
+ @percent = args[:percent] if args.key?(:percent)
3371
+ @revision_name = args[:revision_name] if args.key?(:revision_name)
3372
+ end
3373
+ end
3374
+
3375
+ # volumeDevice describes a mapping of a raw block device within a container.
3376
+ class VolumeDevice
3377
+ include Google::Apis::Core::Hashable
3378
+
3379
+ # devicePath is the path inside of the container that the device will be
3380
+ # mapped to.
3381
+ # Corresponds to the JSON property `devicePath`
3382
+ # @return [String]
3383
+ attr_accessor :device_path
3384
+
3385
+ # name must match the name of a persistentVolumeClaim in the pod
3386
+ # Corresponds to the JSON property `name`
3387
+ # @return [String]
3388
+ attr_accessor :name
3389
+
3390
+ def initialize(**args)
3391
+ update!(**args)
3392
+ end
3393
+
3394
+ # Update properties of this object
3395
+ def update!(**args)
3396
+ @device_path = args[:device_path] if args.key?(:device_path)
3397
+ @name = args[:name] if args.key?(:name)
3398
+ end
3399
+ end
3400
+
3401
+ # VolumeMount describes a mounting of a Volume within a container.
3402
+ class VolumeMount
3403
+ include Google::Apis::Core::Hashable
3404
+
3405
+ # Path within the container at which the volume should be mounted. Must
3406
+ # not contain ':'.
3407
+ # Corresponds to the JSON property `mountPath`
3408
+ # @return [String]
3409
+ attr_accessor :mount_path
3410
+
3411
+ # mountPropagation determines how mounts are propagated from the host
3412
+ # to container and the other way around.
3413
+ # When not set, MountPropagationHostToContainer is used.
3414
+ # This field is beta in 1.10.
3415
+ # +optional
3416
+ # Corresponds to the JSON property `mountPropagation`
3417
+ # @return [String]
3418
+ attr_accessor :mount_propagation
3419
+
3420
+ # This must match the Name of a Volume.
3421
+ # Corresponds to the JSON property `name`
3422
+ # @return [String]
3423
+ attr_accessor :name
3424
+
3425
+ # Mounted read-only if true, read-write otherwise (false or unspecified).
3426
+ # Defaults to false.
3427
+ # +optional
3428
+ # Corresponds to the JSON property `readOnly`
3429
+ # @return [Boolean]
3430
+ attr_accessor :read_only
3431
+ alias_method :read_only?, :read_only
3432
+
3433
+ # Path within the volume from which the container's volume should be mounted.
3434
+ # Defaults to "" (volume's root).
3435
+ # +optional
3436
+ # Corresponds to the JSON property `subPath`
3437
+ # @return [String]
3438
+ attr_accessor :sub_path
3439
+
3440
+ def initialize(**args)
3441
+ update!(**args)
3442
+ end
3443
+
3444
+ # Update properties of this object
3445
+ def update!(**args)
3446
+ @mount_path = args[:mount_path] if args.key?(:mount_path)
3447
+ @mount_propagation = args[:mount_propagation] if args.key?(:mount_propagation)
3448
+ @name = args[:name] if args.key?(:name)
3449
+ @read_only = args[:read_only] if args.key?(:read_only)
3450
+ @sub_path = args[:sub_path] if args.key?(:sub_path)
3451
+ end
3452
+ end
3453
+ end
3454
+ end
3455
+ end