google-apis-certificatemanager_v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,944 @@
1
+ # Copyright 2020 Google LLC
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 CertificatemanagerV1
24
+
25
+ # State of the latest attempt to authorize a domain for certificate issuance.
26
+ class AuthorizationAttemptInfo
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Human readable explanation for reaching the state. Provided to help address
30
+ # the configuration issues. Not guaranteed to be stable. For programmatic access
31
+ # use Reason enum.
32
+ # Corresponds to the JSON property `details`
33
+ # @return [String]
34
+ attr_accessor :details
35
+
36
+ # Domain name of the authorization attempt.
37
+ # Corresponds to the JSON property `domain`
38
+ # @return [String]
39
+ attr_accessor :domain
40
+
41
+ # Output only. Reason for failure of the authorization attempt for the domain.
42
+ # Corresponds to the JSON property `failureReason`
43
+ # @return [String]
44
+ attr_accessor :failure_reason
45
+
46
+ # State of the domain for managed certificate issuance.
47
+ # Corresponds to the JSON property `state`
48
+ # @return [String]
49
+ attr_accessor :state
50
+
51
+ def initialize(**args)
52
+ update!(**args)
53
+ end
54
+
55
+ # Update properties of this object
56
+ def update!(**args)
57
+ @details = args[:details] if args.key?(:details)
58
+ @domain = args[:domain] if args.key?(:domain)
59
+ @failure_reason = args[:failure_reason] if args.key?(:failure_reason)
60
+ @state = args[:state] if args.key?(:state)
61
+ end
62
+ end
63
+
64
+ # The request message for Operations.CancelOperation.
65
+ class CancelOperationRequest
66
+ include Google::Apis::Core::Hashable
67
+
68
+ def initialize(**args)
69
+ update!(**args)
70
+ end
71
+
72
+ # Update properties of this object
73
+ def update!(**args)
74
+ end
75
+ end
76
+
77
+ # Defines TLS certificate.
78
+ class Certificate
79
+ include Google::Apis::Core::Hashable
80
+
81
+ # Output only. The creation timestamp of a Certificate.
82
+ # Corresponds to the JSON property `createTime`
83
+ # @return [String]
84
+ attr_accessor :create_time
85
+
86
+ # One or more paragraphs of text description of a certificate.
87
+ # Corresponds to the JSON property `description`
88
+ # @return [String]
89
+ attr_accessor :description
90
+
91
+ # Output only. The expiry timestamp of a Certificate.
92
+ # Corresponds to the JSON property `expireTime`
93
+ # @return [String]
94
+ attr_accessor :expire_time
95
+
96
+ # Set of labels associated with a Certificate.
97
+ # Corresponds to the JSON property `labels`
98
+ # @return [Hash<String,String>]
99
+ attr_accessor :labels
100
+
101
+ # Configuration and state of a Managed Certificate. Certificate Manager
102
+ # provisions and renews Managed Certificates automatically, for as long as it's
103
+ # authorized to do so.
104
+ # Corresponds to the JSON property `managed`
105
+ # @return [Google::Apis::CertificatemanagerV1::ManagedCertificate]
106
+ attr_accessor :managed
107
+
108
+ # A user-defined name of the certificate. Certificate names must be unique
109
+ # globally and match pattern `projects/*/locations/*/certificates/*`.
110
+ # Corresponds to the JSON property `name`
111
+ # @return [String]
112
+ attr_accessor :name
113
+
114
+ # Output only. The PEM-encoded certificate chain.
115
+ # Corresponds to the JSON property `pemCertificate`
116
+ # @return [String]
117
+ attr_accessor :pem_certificate
118
+
119
+ # Output only. The list of Subject Alternative Names of dnsName type defined in
120
+ # the certificate (see RFC 5280 4.2.1.6)
121
+ # Corresponds to the JSON property `sanDnsnames`
122
+ # @return [Array<String>]
123
+ attr_accessor :san_dnsnames
124
+
125
+ # Immutable. The scope of the certificate.
126
+ # Corresponds to the JSON property `scope`
127
+ # @return [String]
128
+ attr_accessor :scope
129
+
130
+ # Certificate data for a SelfManaged Certificate. SelfManaged Certificates are
131
+ # uploaded by the user. Updating such certificates before they expire remains
132
+ # the user's responsibility.
133
+ # Corresponds to the JSON property `selfManaged`
134
+ # @return [Google::Apis::CertificatemanagerV1::SelfManagedCertificate]
135
+ attr_accessor :self_managed
136
+
137
+ # Output only. The last update timestamp of a Certificate.
138
+ # Corresponds to the JSON property `updateTime`
139
+ # @return [String]
140
+ attr_accessor :update_time
141
+
142
+ def initialize(**args)
143
+ update!(**args)
144
+ end
145
+
146
+ # Update properties of this object
147
+ def update!(**args)
148
+ @create_time = args[:create_time] if args.key?(:create_time)
149
+ @description = args[:description] if args.key?(:description)
150
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
151
+ @labels = args[:labels] if args.key?(:labels)
152
+ @managed = args[:managed] if args.key?(:managed)
153
+ @name = args[:name] if args.key?(:name)
154
+ @pem_certificate = args[:pem_certificate] if args.key?(:pem_certificate)
155
+ @san_dnsnames = args[:san_dnsnames] if args.key?(:san_dnsnames)
156
+ @scope = args[:scope] if args.key?(:scope)
157
+ @self_managed = args[:self_managed] if args.key?(:self_managed)
158
+ @update_time = args[:update_time] if args.key?(:update_time)
159
+ end
160
+ end
161
+
162
+ # Defines a collection of certificate configurations.
163
+ class CertificateMap
164
+ include Google::Apis::Core::Hashable
165
+
166
+ # Output only. The creation timestamp of a Certificate Map.
167
+ # Corresponds to the JSON property `createTime`
168
+ # @return [String]
169
+ attr_accessor :create_time
170
+
171
+ # One or more paragraphs of text description of a certificate map.
172
+ # Corresponds to the JSON property `description`
173
+ # @return [String]
174
+ attr_accessor :description
175
+
176
+ # Output only. A list of GCLB targets which use this Certificate Map.
177
+ # Corresponds to the JSON property `gclbTargets`
178
+ # @return [Array<Google::Apis::CertificatemanagerV1::GclbTarget>]
179
+ attr_accessor :gclb_targets
180
+
181
+ # Set of labels associated with a Certificate Map.
182
+ # Corresponds to the JSON property `labels`
183
+ # @return [Hash<String,String>]
184
+ attr_accessor :labels
185
+
186
+ # A user-defined name of the Certificate Map. Certificate Map names must be
187
+ # unique globally and match pattern `projects/*/locations/*/certificateMaps/*`.
188
+ # Corresponds to the JSON property `name`
189
+ # @return [String]
190
+ attr_accessor :name
191
+
192
+ # Output only. The update timestamp of a Certificate Map.
193
+ # Corresponds to the JSON property `updateTime`
194
+ # @return [String]
195
+ attr_accessor :update_time
196
+
197
+ def initialize(**args)
198
+ update!(**args)
199
+ end
200
+
201
+ # Update properties of this object
202
+ def update!(**args)
203
+ @create_time = args[:create_time] if args.key?(:create_time)
204
+ @description = args[:description] if args.key?(:description)
205
+ @gclb_targets = args[:gclb_targets] if args.key?(:gclb_targets)
206
+ @labels = args[:labels] if args.key?(:labels)
207
+ @name = args[:name] if args.key?(:name)
208
+ @update_time = args[:update_time] if args.key?(:update_time)
209
+ end
210
+ end
211
+
212
+ # Defines a certificate map entry.
213
+ class CertificateMapEntry
214
+ include Google::Apis::Core::Hashable
215
+
216
+ # A set of Certificates defines for the given `hostname`. There can be defined
217
+ # up to fifteen certificates in each Certificate Map Entry. Each certificate
218
+ # must match pattern `projects/*/locations/*/certificates/*`.
219
+ # Corresponds to the JSON property `certificates`
220
+ # @return [Array<String>]
221
+ attr_accessor :certificates
222
+
223
+ # Output only. The creation timestamp of a Certificate Map Entry.
224
+ # Corresponds to the JSON property `createTime`
225
+ # @return [String]
226
+ attr_accessor :create_time
227
+
228
+ # One or more paragraphs of text description of a certificate map entry.
229
+ # Corresponds to the JSON property `description`
230
+ # @return [String]
231
+ attr_accessor :description
232
+
233
+ # A Hostname (FQDN, e.g. example.com) or a wildcard hostname expression (*.
234
+ # example.com) for a set of hostnames with common suffix. Used as Server Name
235
+ # Indication (SNI) for selecting a proper certificate.
236
+ # Corresponds to the JSON property `hostname`
237
+ # @return [String]
238
+ attr_accessor :hostname
239
+
240
+ # Set of labels associated with a Certificate Map Entry.
241
+ # Corresponds to the JSON property `labels`
242
+ # @return [Hash<String,String>]
243
+ attr_accessor :labels
244
+
245
+ # A predefined matcher for particular cases, other than SNI selection.
246
+ # Corresponds to the JSON property `matcher`
247
+ # @return [String]
248
+ attr_accessor :matcher
249
+
250
+ # A user-defined name of the Certificate Map Entry. Certificate Map Entry names
251
+ # must be unique globally and match pattern `projects/*/locations/*/
252
+ # certificateMaps/*/certificateMapEntries/*`.
253
+ # Corresponds to the JSON property `name`
254
+ # @return [String]
255
+ attr_accessor :name
256
+
257
+ # Output only. A serving state of this Certificate Map Entry.
258
+ # Corresponds to the JSON property `state`
259
+ # @return [String]
260
+ attr_accessor :state
261
+
262
+ # Output only. The update timestamp of a Certificate Map Entry.
263
+ # Corresponds to the JSON property `updateTime`
264
+ # @return [String]
265
+ attr_accessor :update_time
266
+
267
+ def initialize(**args)
268
+ update!(**args)
269
+ end
270
+
271
+ # Update properties of this object
272
+ def update!(**args)
273
+ @certificates = args[:certificates] if args.key?(:certificates)
274
+ @create_time = args[:create_time] if args.key?(:create_time)
275
+ @description = args[:description] if args.key?(:description)
276
+ @hostname = args[:hostname] if args.key?(:hostname)
277
+ @labels = args[:labels] if args.key?(:labels)
278
+ @matcher = args[:matcher] if args.key?(:matcher)
279
+ @name = args[:name] if args.key?(:name)
280
+ @state = args[:state] if args.key?(:state)
281
+ @update_time = args[:update_time] if args.key?(:update_time)
282
+ end
283
+ end
284
+
285
+ # A DnsAuthorization resource describes a way to perform domain authorization
286
+ # for certificate issuance.
287
+ class DnsAuthorization
288
+ include Google::Apis::Core::Hashable
289
+
290
+ # Output only. The creation timestamp of a DnsAuthorization.
291
+ # Corresponds to the JSON property `createTime`
292
+ # @return [String]
293
+ attr_accessor :create_time
294
+
295
+ # One or more paragraphs of text description of a DnsAuthorization.
296
+ # Corresponds to the JSON property `description`
297
+ # @return [String]
298
+ attr_accessor :description
299
+
300
+ # The structure describing the DNS Resource Record that needs to be added to DNS
301
+ # configuration for the authorization to be usable by certificate.
302
+ # Corresponds to the JSON property `dnsResourceRecord`
303
+ # @return [Google::Apis::CertificatemanagerV1::DnsResourceRecord]
304
+ attr_accessor :dns_resource_record
305
+
306
+ # Required. Immutable. A domain which is being authorized. A DnsAuthorization
307
+ # resource covers a single domain and its wildcard, e.g. authorization for "
308
+ # example.com" can be used to issue certificates for "example.com" and "*.
309
+ # example.com".
310
+ # Corresponds to the JSON property `domain`
311
+ # @return [String]
312
+ attr_accessor :domain
313
+
314
+ # Set of labels associated with a DnsAuthorization.
315
+ # Corresponds to the JSON property `labels`
316
+ # @return [Hash<String,String>]
317
+ attr_accessor :labels
318
+
319
+ # A user-defined name of the dns authorization. DnsAuthorization names must be
320
+ # unique globally and match pattern `projects/*/locations/*/dnsAuthorizations/*`.
321
+ # Corresponds to the JSON property `name`
322
+ # @return [String]
323
+ attr_accessor :name
324
+
325
+ # Output only. The last update timestamp of a DnsAuthorization.
326
+ # Corresponds to the JSON property `updateTime`
327
+ # @return [String]
328
+ attr_accessor :update_time
329
+
330
+ def initialize(**args)
331
+ update!(**args)
332
+ end
333
+
334
+ # Update properties of this object
335
+ def update!(**args)
336
+ @create_time = args[:create_time] if args.key?(:create_time)
337
+ @description = args[:description] if args.key?(:description)
338
+ @dns_resource_record = args[:dns_resource_record] if args.key?(:dns_resource_record)
339
+ @domain = args[:domain] if args.key?(:domain)
340
+ @labels = args[:labels] if args.key?(:labels)
341
+ @name = args[:name] if args.key?(:name)
342
+ @update_time = args[:update_time] if args.key?(:update_time)
343
+ end
344
+ end
345
+
346
+ # The structure describing the DNS Resource Record that needs to be added to DNS
347
+ # configuration for the authorization to be usable by certificate.
348
+ class DnsResourceRecord
349
+ include Google::Apis::Core::Hashable
350
+
351
+ # Output only. Data of the DNS Resource Record.
352
+ # Corresponds to the JSON property `data`
353
+ # @return [String]
354
+ attr_accessor :data
355
+
356
+ # Output only. Fully qualified name of the DNS Resource Record. e.g. "_acme-
357
+ # challenge.example.com."
358
+ # Corresponds to the JSON property `name`
359
+ # @return [String]
360
+ attr_accessor :name
361
+
362
+ # Output only. Type of the DNS Resource Record. Currently always set to "CNAME".
363
+ # Corresponds to the JSON property `type`
364
+ # @return [String]
365
+ attr_accessor :type
366
+
367
+ def initialize(**args)
368
+ update!(**args)
369
+ end
370
+
371
+ # Update properties of this object
372
+ def update!(**args)
373
+ @data = args[:data] if args.key?(:data)
374
+ @name = args[:name] if args.key?(:name)
375
+ @type = args[:type] if args.key?(:type)
376
+ end
377
+ end
378
+
379
+ # A generic empty message that you can re-use to avoid defining duplicated empty
380
+ # messages in your APIs. A typical example is to use it as the request or the
381
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
382
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
383
+ # `Empty` is empty JSON object ````.
384
+ class Empty
385
+ include Google::Apis::Core::Hashable
386
+
387
+ def initialize(**args)
388
+ update!(**args)
389
+ end
390
+
391
+ # Update properties of this object
392
+ def update!(**args)
393
+ end
394
+ end
395
+
396
+ # Describes a Target Proxy which uses this Certificate Map.
397
+ class GclbTarget
398
+ include Google::Apis::Core::Hashable
399
+
400
+ # IP configurations for this Target Proxy where the Certificate Map is serving.
401
+ # Corresponds to the JSON property `ipConfigs`
402
+ # @return [Array<Google::Apis::CertificatemanagerV1::IpConfig>]
403
+ attr_accessor :ip_configs
404
+
405
+ # A name must be in the format `projects/*/locations/*/targetHttpsProxies/*`.
406
+ # Corresponds to the JSON property `targetHttpsProxy`
407
+ # @return [String]
408
+ attr_accessor :target_https_proxy
409
+
410
+ # A name must be in the format `projects/*/locations/*/targetSslProxies/*`.
411
+ # Corresponds to the JSON property `targetSslProxy`
412
+ # @return [String]
413
+ attr_accessor :target_ssl_proxy
414
+
415
+ def initialize(**args)
416
+ update!(**args)
417
+ end
418
+
419
+ # Update properties of this object
420
+ def update!(**args)
421
+ @ip_configs = args[:ip_configs] if args.key?(:ip_configs)
422
+ @target_https_proxy = args[:target_https_proxy] if args.key?(:target_https_proxy)
423
+ @target_ssl_proxy = args[:target_ssl_proxy] if args.key?(:target_ssl_proxy)
424
+ end
425
+ end
426
+
427
+ # Defines IP configuration where this Certificate Map is serving.
428
+ class IpConfig
429
+ include Google::Apis::Core::Hashable
430
+
431
+ # An external IP address.
432
+ # Corresponds to the JSON property `ipAddress`
433
+ # @return [String]
434
+ attr_accessor :ip_address
435
+
436
+ # Ports.
437
+ # Corresponds to the JSON property `ports`
438
+ # @return [Array<Fixnum>]
439
+ attr_accessor :ports
440
+
441
+ def initialize(**args)
442
+ update!(**args)
443
+ end
444
+
445
+ # Update properties of this object
446
+ def update!(**args)
447
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
448
+ @ports = args[:ports] if args.key?(:ports)
449
+ end
450
+ end
451
+
452
+ # Response for the `ListCertificateMapEntries` method.
453
+ class ListCertificateMapEntriesResponse
454
+ include Google::Apis::Core::Hashable
455
+
456
+ # A list of certificate map entries for the parent resource.
457
+ # Corresponds to the JSON property `certificateMapEntries`
458
+ # @return [Array<Google::Apis::CertificatemanagerV1::CertificateMapEntry>]
459
+ attr_accessor :certificate_map_entries
460
+
461
+ # If there might be more results than those appearing in this response, then `
462
+ # next_page_token` is included. To get the next set of results, call this method
463
+ # again using the value of `next_page_token` as `page_token`.
464
+ # Corresponds to the JSON property `nextPageToken`
465
+ # @return [String]
466
+ attr_accessor :next_page_token
467
+
468
+ # Locations that could not be reached.
469
+ # Corresponds to the JSON property `unreachable`
470
+ # @return [Array<String>]
471
+ attr_accessor :unreachable
472
+
473
+ def initialize(**args)
474
+ update!(**args)
475
+ end
476
+
477
+ # Update properties of this object
478
+ def update!(**args)
479
+ @certificate_map_entries = args[:certificate_map_entries] if args.key?(:certificate_map_entries)
480
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
481
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
482
+ end
483
+ end
484
+
485
+ # Response for the `ListCertificateMaps` method.
486
+ class ListCertificateMapsResponse
487
+ include Google::Apis::Core::Hashable
488
+
489
+ # A list of certificate maps for the parent resource.
490
+ # Corresponds to the JSON property `certificateMaps`
491
+ # @return [Array<Google::Apis::CertificatemanagerV1::CertificateMap>]
492
+ attr_accessor :certificate_maps
493
+
494
+ # If there might be more results than those appearing in this response, then `
495
+ # next_page_token` is included. To get the next set of results, call this method
496
+ # again using the value of `next_page_token` as `page_token`.
497
+ # Corresponds to the JSON property `nextPageToken`
498
+ # @return [String]
499
+ attr_accessor :next_page_token
500
+
501
+ # Locations that could not be reached.
502
+ # Corresponds to the JSON property `unreachable`
503
+ # @return [Array<String>]
504
+ attr_accessor :unreachable
505
+
506
+ def initialize(**args)
507
+ update!(**args)
508
+ end
509
+
510
+ # Update properties of this object
511
+ def update!(**args)
512
+ @certificate_maps = args[:certificate_maps] if args.key?(:certificate_maps)
513
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
514
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
515
+ end
516
+ end
517
+
518
+ # Response for the `ListCertificates` method.
519
+ class ListCertificatesResponse
520
+ include Google::Apis::Core::Hashable
521
+
522
+ # A list of certificates for the parent resource.
523
+ # Corresponds to the JSON property `certificates`
524
+ # @return [Array<Google::Apis::CertificatemanagerV1::Certificate>]
525
+ attr_accessor :certificates
526
+
527
+ # If there might be more results than those appearing in this response, then `
528
+ # next_page_token` is included. To get the next set of results, call this method
529
+ # again using the value of `next_page_token` as `page_token`.
530
+ # Corresponds to the JSON property `nextPageToken`
531
+ # @return [String]
532
+ attr_accessor :next_page_token
533
+
534
+ # A list of locations that could not be reached.
535
+ # Corresponds to the JSON property `unreachable`
536
+ # @return [Array<String>]
537
+ attr_accessor :unreachable
538
+
539
+ def initialize(**args)
540
+ update!(**args)
541
+ end
542
+
543
+ # Update properties of this object
544
+ def update!(**args)
545
+ @certificates = args[:certificates] if args.key?(:certificates)
546
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
547
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
548
+ end
549
+ end
550
+
551
+ # Response for the `ListDnsAuthorizations` method.
552
+ class ListDnsAuthorizationsResponse
553
+ include Google::Apis::Core::Hashable
554
+
555
+ # A list of dns authorizations for the parent resource.
556
+ # Corresponds to the JSON property `dnsAuthorizations`
557
+ # @return [Array<Google::Apis::CertificatemanagerV1::DnsAuthorization>]
558
+ attr_accessor :dns_authorizations
559
+
560
+ # If there might be more results than those appearing in this response, then `
561
+ # next_page_token` is included. To get the next set of results, call this method
562
+ # again using the value of `next_page_token` as `page_token`.
563
+ # Corresponds to the JSON property `nextPageToken`
564
+ # @return [String]
565
+ attr_accessor :next_page_token
566
+
567
+ # Locations that could not be reached.
568
+ # Corresponds to the JSON property `unreachable`
569
+ # @return [Array<String>]
570
+ attr_accessor :unreachable
571
+
572
+ def initialize(**args)
573
+ update!(**args)
574
+ end
575
+
576
+ # Update properties of this object
577
+ def update!(**args)
578
+ @dns_authorizations = args[:dns_authorizations] if args.key?(:dns_authorizations)
579
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
580
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
581
+ end
582
+ end
583
+
584
+ # The response message for Locations.ListLocations.
585
+ class ListLocationsResponse
586
+ include Google::Apis::Core::Hashable
587
+
588
+ # A list of locations that matches the specified filter in the request.
589
+ # Corresponds to the JSON property `locations`
590
+ # @return [Array<Google::Apis::CertificatemanagerV1::Location>]
591
+ attr_accessor :locations
592
+
593
+ # The standard List next-page token.
594
+ # Corresponds to the JSON property `nextPageToken`
595
+ # @return [String]
596
+ attr_accessor :next_page_token
597
+
598
+ def initialize(**args)
599
+ update!(**args)
600
+ end
601
+
602
+ # Update properties of this object
603
+ def update!(**args)
604
+ @locations = args[:locations] if args.key?(:locations)
605
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
606
+ end
607
+ end
608
+
609
+ # The response message for Operations.ListOperations.
610
+ class ListOperationsResponse
611
+ include Google::Apis::Core::Hashable
612
+
613
+ # The standard List next-page token.
614
+ # Corresponds to the JSON property `nextPageToken`
615
+ # @return [String]
616
+ attr_accessor :next_page_token
617
+
618
+ # A list of operations that matches the specified filter in the request.
619
+ # Corresponds to the JSON property `operations`
620
+ # @return [Array<Google::Apis::CertificatemanagerV1::Operation>]
621
+ attr_accessor :operations
622
+
623
+ def initialize(**args)
624
+ update!(**args)
625
+ end
626
+
627
+ # Update properties of this object
628
+ def update!(**args)
629
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
630
+ @operations = args[:operations] if args.key?(:operations)
631
+ end
632
+ end
633
+
634
+ # A resource that represents Google Cloud Platform location.
635
+ class Location
636
+ include Google::Apis::Core::Hashable
637
+
638
+ # The friendly name for this location, typically a nearby city name. For example,
639
+ # "Tokyo".
640
+ # Corresponds to the JSON property `displayName`
641
+ # @return [String]
642
+ attr_accessor :display_name
643
+
644
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
645
+ # region": "us-east1"`
646
+ # Corresponds to the JSON property `labels`
647
+ # @return [Hash<String,String>]
648
+ attr_accessor :labels
649
+
650
+ # The canonical id for this location. For example: `"us-east1"`.
651
+ # Corresponds to the JSON property `locationId`
652
+ # @return [String]
653
+ attr_accessor :location_id
654
+
655
+ # Service-specific metadata. For example the available capacity at the given
656
+ # location.
657
+ # Corresponds to the JSON property `metadata`
658
+ # @return [Hash<String,Object>]
659
+ attr_accessor :metadata
660
+
661
+ # Resource name for the location, which may vary between implementations. For
662
+ # example: `"projects/example-project/locations/us-east1"`
663
+ # Corresponds to the JSON property `name`
664
+ # @return [String]
665
+ attr_accessor :name
666
+
667
+ def initialize(**args)
668
+ update!(**args)
669
+ end
670
+
671
+ # Update properties of this object
672
+ def update!(**args)
673
+ @display_name = args[:display_name] if args.key?(:display_name)
674
+ @labels = args[:labels] if args.key?(:labels)
675
+ @location_id = args[:location_id] if args.key?(:location_id)
676
+ @metadata = args[:metadata] if args.key?(:metadata)
677
+ @name = args[:name] if args.key?(:name)
678
+ end
679
+ end
680
+
681
+ # Configuration and state of a Managed Certificate. Certificate Manager
682
+ # provisions and renews Managed Certificates automatically, for as long as it's
683
+ # authorized to do so.
684
+ class ManagedCertificate
685
+ include Google::Apis::Core::Hashable
686
+
687
+ # Output only. Detailed state of the latest authorization attempt for each
688
+ # domain specified for managed certificate resource.
689
+ # Corresponds to the JSON property `authorizationAttemptInfo`
690
+ # @return [Array<Google::Apis::CertificatemanagerV1::AuthorizationAttemptInfo>]
691
+ attr_accessor :authorization_attempt_info
692
+
693
+ # Immutable. Authorizations that will be used for performing domain
694
+ # authorization.
695
+ # Corresponds to the JSON property `dnsAuthorizations`
696
+ # @return [Array<String>]
697
+ attr_accessor :dns_authorizations
698
+
699
+ # Immutable. The domains for which a managed SSL certificate will be generated.
700
+ # Wildcard domains are only supported with DNS challenge resolution.
701
+ # Corresponds to the JSON property `domains`
702
+ # @return [Array<String>]
703
+ attr_accessor :domains
704
+
705
+ # Information about issues with provisioning a Managed Certificate.
706
+ # Corresponds to the JSON property `provisioningIssue`
707
+ # @return [Google::Apis::CertificatemanagerV1::ProvisioningIssue]
708
+ attr_accessor :provisioning_issue
709
+
710
+ # Output only. State of the managed certificate resource.
711
+ # Corresponds to the JSON property `state`
712
+ # @return [String]
713
+ attr_accessor :state
714
+
715
+ def initialize(**args)
716
+ update!(**args)
717
+ end
718
+
719
+ # Update properties of this object
720
+ def update!(**args)
721
+ @authorization_attempt_info = args[:authorization_attempt_info] if args.key?(:authorization_attempt_info)
722
+ @dns_authorizations = args[:dns_authorizations] if args.key?(:dns_authorizations)
723
+ @domains = args[:domains] if args.key?(:domains)
724
+ @provisioning_issue = args[:provisioning_issue] if args.key?(:provisioning_issue)
725
+ @state = args[:state] if args.key?(:state)
726
+ end
727
+ end
728
+
729
+ # This resource represents a long-running operation that is the result of a
730
+ # network API call.
731
+ class Operation
732
+ include Google::Apis::Core::Hashable
733
+
734
+ # If the value is `false`, it means the operation is still in progress. If `true`
735
+ # , the operation is completed, and either `error` or `response` is available.
736
+ # Corresponds to the JSON property `done`
737
+ # @return [Boolean]
738
+ attr_accessor :done
739
+ alias_method :done?, :done
740
+
741
+ # The `Status` type defines a logical error model that is suitable for different
742
+ # programming environments, including REST APIs and RPC APIs. It is used by [
743
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
744
+ # data: error code, error message, and error details. You can find out more
745
+ # about this error model and how to work with it in the [API Design Guide](https:
746
+ # //cloud.google.com/apis/design/errors).
747
+ # Corresponds to the JSON property `error`
748
+ # @return [Google::Apis::CertificatemanagerV1::Status]
749
+ attr_accessor :error
750
+
751
+ # Service-specific metadata associated with the operation. It typically contains
752
+ # progress information and common metadata such as create time. Some services
753
+ # might not provide such metadata. Any method that returns a long-running
754
+ # operation should document the metadata type, if any.
755
+ # Corresponds to the JSON property `metadata`
756
+ # @return [Hash<String,Object>]
757
+ attr_accessor :metadata
758
+
759
+ # The server-assigned name, which is only unique within the same service that
760
+ # originally returns it. If you use the default HTTP mapping, the `name` should
761
+ # be a resource name ending with `operations/`unique_id``.
762
+ # Corresponds to the JSON property `name`
763
+ # @return [String]
764
+ attr_accessor :name
765
+
766
+ # The normal response of the operation in case of success. If the original
767
+ # method returns no data on success, such as `Delete`, the response is `google.
768
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
769
+ # the response should be the resource. For other methods, the response should
770
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
771
+ # example, if the original method name is `TakeSnapshot()`, the inferred
772
+ # response type is `TakeSnapshotResponse`.
773
+ # Corresponds to the JSON property `response`
774
+ # @return [Hash<String,Object>]
775
+ attr_accessor :response
776
+
777
+ def initialize(**args)
778
+ update!(**args)
779
+ end
780
+
781
+ # Update properties of this object
782
+ def update!(**args)
783
+ @done = args[:done] if args.key?(:done)
784
+ @error = args[:error] if args.key?(:error)
785
+ @metadata = args[:metadata] if args.key?(:metadata)
786
+ @name = args[:name] if args.key?(:name)
787
+ @response = args[:response] if args.key?(:response)
788
+ end
789
+ end
790
+
791
+ # Represents the metadata of the long-running operation. Output only.
792
+ class OperationMetadata
793
+ include Google::Apis::Core::Hashable
794
+
795
+ # API version used to start the operation.
796
+ # Corresponds to the JSON property `apiVersion`
797
+ # @return [String]
798
+ attr_accessor :api_version
799
+
800
+ # The time the operation was created.
801
+ # Corresponds to the JSON property `createTime`
802
+ # @return [String]
803
+ attr_accessor :create_time
804
+
805
+ # The time the operation finished running.
806
+ # Corresponds to the JSON property `endTime`
807
+ # @return [String]
808
+ attr_accessor :end_time
809
+
810
+ # Identifies whether the user has requested cancellation of the operation.
811
+ # Operations that have successfully been cancelled have Operation.error value
812
+ # with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.
813
+ # Corresponds to the JSON property `requestedCancellation`
814
+ # @return [Boolean]
815
+ attr_accessor :requested_cancellation
816
+ alias_method :requested_cancellation?, :requested_cancellation
817
+
818
+ # Human-readable status of the operation, if any.
819
+ # Corresponds to the JSON property `statusMessage`
820
+ # @return [String]
821
+ attr_accessor :status_message
822
+
823
+ # Server-defined resource path for the target of the operation.
824
+ # Corresponds to the JSON property `target`
825
+ # @return [String]
826
+ attr_accessor :target
827
+
828
+ # Name of the verb executed by the operation.
829
+ # Corresponds to the JSON property `verb`
830
+ # @return [String]
831
+ attr_accessor :verb
832
+
833
+ def initialize(**args)
834
+ update!(**args)
835
+ end
836
+
837
+ # Update properties of this object
838
+ def update!(**args)
839
+ @api_version = args[:api_version] if args.key?(:api_version)
840
+ @create_time = args[:create_time] if args.key?(:create_time)
841
+ @end_time = args[:end_time] if args.key?(:end_time)
842
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
843
+ @status_message = args[:status_message] if args.key?(:status_message)
844
+ @target = args[:target] if args.key?(:target)
845
+ @verb = args[:verb] if args.key?(:verb)
846
+ end
847
+ end
848
+
849
+ # Information about issues with provisioning a Managed Certificate.
850
+ class ProvisioningIssue
851
+ include Google::Apis::Core::Hashable
852
+
853
+ # Human readable explanation about the issue. Provided to help address the
854
+ # configuration issues. Not guaranteed to be stable. For programmatic access use
855
+ # Reason enum.
856
+ # Corresponds to the JSON property `details`
857
+ # @return [String]
858
+ attr_accessor :details
859
+
860
+ # Reason for provisioning failures.
861
+ # Corresponds to the JSON property `reason`
862
+ # @return [String]
863
+ attr_accessor :reason
864
+
865
+ def initialize(**args)
866
+ update!(**args)
867
+ end
868
+
869
+ # Update properties of this object
870
+ def update!(**args)
871
+ @details = args[:details] if args.key?(:details)
872
+ @reason = args[:reason] if args.key?(:reason)
873
+ end
874
+ end
875
+
876
+ # Certificate data for a SelfManaged Certificate. SelfManaged Certificates are
877
+ # uploaded by the user. Updating such certificates before they expire remains
878
+ # the user's responsibility.
879
+ class SelfManagedCertificate
880
+ include Google::Apis::Core::Hashable
881
+
882
+ # Input only. The PEM-encoded certificate chain. Leaf certificate comes first,
883
+ # followed by intermediate ones if any.
884
+ # Corresponds to the JSON property `pemCertificate`
885
+ # @return [String]
886
+ attr_accessor :pem_certificate
887
+
888
+ # Input only. The PEM-encoded private key of the leaf certificate.
889
+ # Corresponds to the JSON property `pemPrivateKey`
890
+ # @return [String]
891
+ attr_accessor :pem_private_key
892
+
893
+ def initialize(**args)
894
+ update!(**args)
895
+ end
896
+
897
+ # Update properties of this object
898
+ def update!(**args)
899
+ @pem_certificate = args[:pem_certificate] if args.key?(:pem_certificate)
900
+ @pem_private_key = args[:pem_private_key] if args.key?(:pem_private_key)
901
+ end
902
+ end
903
+
904
+ # The `Status` type defines a logical error model that is suitable for different
905
+ # programming environments, including REST APIs and RPC APIs. It is used by [
906
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
907
+ # data: error code, error message, and error details. You can find out more
908
+ # about this error model and how to work with it in the [API Design Guide](https:
909
+ # //cloud.google.com/apis/design/errors).
910
+ class Status
911
+ include Google::Apis::Core::Hashable
912
+
913
+ # The status code, which should be an enum value of google.rpc.Code.
914
+ # Corresponds to the JSON property `code`
915
+ # @return [Fixnum]
916
+ attr_accessor :code
917
+
918
+ # A list of messages that carry the error details. There is a common set of
919
+ # message types for APIs to use.
920
+ # Corresponds to the JSON property `details`
921
+ # @return [Array<Hash<String,Object>>]
922
+ attr_accessor :details
923
+
924
+ # A developer-facing error message, which should be in English. Any user-facing
925
+ # error message should be localized and sent in the google.rpc.Status.details
926
+ # field, or localized by the client.
927
+ # Corresponds to the JSON property `message`
928
+ # @return [String]
929
+ attr_accessor :message
930
+
931
+ def initialize(**args)
932
+ update!(**args)
933
+ end
934
+
935
+ # Update properties of this object
936
+ def update!(**args)
937
+ @code = args[:code] if args.key?(:code)
938
+ @details = args[:details] if args.key?(:details)
939
+ @message = args[:message] if args.key?(:message)
940
+ end
941
+ end
942
+ end
943
+ end
944
+ end