google-api-client 0.28.6 → 0.28.7

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