google-api-client 0.47.0 → 0.48.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release-please.yml +77 -0
  3. data/CHANGELOG.md +64 -0
  4. data/generated/google/apis/bigquery_v2.rb +1 -1
  5. data/generated/google/apis/bigquery_v2/service.rb +1 -1
  6. data/generated/google/apis/billingbudgets_v1.rb +1 -1
  7. data/generated/google/apis/billingbudgets_v1/classes.rb +11 -0
  8. data/generated/google/apis/billingbudgets_v1/representations.rb +1 -0
  9. data/generated/google/apis/billingbudgets_v1beta1.rb +1 -1
  10. data/generated/google/apis/billingbudgets_v1beta1/classes.rb +11 -0
  11. data/generated/google/apis/billingbudgets_v1beta1/representations.rb +1 -0
  12. data/generated/google/apis/cloudasset_v1.rb +1 -1
  13. data/generated/google/apis/cloudasset_v1/classes.rb +697 -0
  14. data/generated/google/apis/cloudasset_v1/representations.rb +304 -0
  15. data/generated/google/apis/cloudasset_v1/service.rb +171 -0
  16. data/generated/google/apis/compute_v1.rb +1 -1
  17. data/generated/google/apis/compute_v1/classes.rb +238 -14
  18. data/generated/google/apis/compute_v1/representations.rb +41 -0
  19. data/generated/google/apis/compute_v1/service.rb +2 -0
  20. data/generated/google/apis/content_v2.rb +1 -1
  21. data/generated/google/apis/content_v2/service.rb +7 -7
  22. data/generated/google/apis/content_v2_1.rb +3 -4
  23. data/generated/google/apis/content_v2_1/classes.rb +899 -1054
  24. data/generated/google/apis/content_v2_1/representations.rb +206 -0
  25. data/generated/google/apis/content_v2_1/service.rb +912 -808
  26. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  27. data/generated/google/apis/datacatalog_v1beta1/classes.rb +24 -0
  28. data/generated/google/apis/datacatalog_v1beta1/representations.rb +5 -0
  29. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  30. data/generated/google/apis/dataflow_v1b3/classes.rb +12 -0
  31. data/generated/google/apis/dataflow_v1b3/representations.rb +3 -0
  32. data/generated/google/apis/datalabeling_v1beta1.rb +34 -0
  33. data/generated/google/apis/datalabeling_v1beta1/classes.rb +6207 -0
  34. data/generated/google/apis/datalabeling_v1beta1/representations.rb +3156 -0
  35. data/generated/google/apis/datalabeling_v1beta1/service.rb +1762 -0
  36. data/generated/google/apis/datastore_v1.rb +1 -1
  37. data/generated/google/apis/datastore_v1/classes.rb +4 -4
  38. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  39. data/generated/google/apis/datastore_v1beta3/classes.rb +4 -4
  40. data/generated/google/apis/deploymentmanager_v2.rb +6 -4
  41. data/generated/google/apis/deploymentmanager_v2/classes.rb +203 -558
  42. data/generated/google/apis/deploymentmanager_v2/representations.rb +0 -132
  43. data/generated/google/apis/deploymentmanager_v2/service.rb +169 -213
  44. data/generated/google/apis/deploymentmanager_v2beta.rb +6 -5
  45. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +247 -609
  46. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +0 -132
  47. data/generated/google/apis/deploymentmanager_v2beta/service.rb +278 -359
  48. data/generated/google/apis/dialogflow_v2.rb +1 -1
  49. data/generated/google/apis/dialogflow_v2/classes.rb +20 -2
  50. data/generated/google/apis/dialogflow_v2/representations.rb +5 -2
  51. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  52. data/generated/google/apis/dialogflow_v2beta1/classes.rb +20 -2
  53. data/generated/google/apis/dialogflow_v2beta1/representations.rb +5 -2
  54. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  55. data/generated/google/apis/dialogflow_v3beta1/classes.rb +40 -2
  56. data/generated/google/apis/dialogflow_v3beta1/representations.rb +7 -2
  57. data/generated/google/apis/displayvideo_v1.rb +1 -1
  58. data/generated/google/apis/displayvideo_v1/classes.rb +178 -0
  59. data/generated/google/apis/displayvideo_v1/representations.rb +77 -0
  60. data/generated/google/apis/displayvideo_v1/service.rb +249 -9
  61. data/generated/google/apis/domains_v1alpha2.rb +1 -1
  62. data/generated/google/apis/domains_v1alpha2/classes.rb +6 -0
  63. data/generated/google/apis/domains_v1alpha2/representations.rb +1 -0
  64. data/generated/google/apis/domains_v1beta1.rb +1 -1
  65. data/generated/google/apis/domains_v1beta1/classes.rb +6 -0
  66. data/generated/google/apis/domains_v1beta1/representations.rb +1 -0
  67. data/generated/google/apis/eventarc_v1beta1.rb +1 -1
  68. data/generated/google/apis/eventarc_v1beta1/classes.rb +1 -3
  69. data/generated/google/apis/firebase_v1beta1.rb +1 -1
  70. data/generated/google/apis/firebase_v1beta1/service.rb +17 -4
  71. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  72. data/generated/google/apis/firebasehosting_v1beta1/classes.rb +2 -0
  73. data/generated/google/apis/firestore_v1.rb +1 -1
  74. data/generated/google/apis/firestore_v1/classes.rb +4 -4
  75. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  76. data/generated/google/apis/firestore_v1beta1/classes.rb +4 -4
  77. data/generated/google/apis/games_v1.rb +1 -1
  78. data/generated/google/apis/games_v1/classes.rb +300 -0
  79. data/generated/google/apis/games_v1/representations.rb +116 -0
  80. data/generated/google/apis/games_v1/service.rb +34 -0
  81. data/generated/google/apis/gameservices_v1.rb +1 -1
  82. data/generated/google/apis/gameservices_v1beta.rb +1 -1
  83. data/generated/google/apis/iam_v1.rb +2 -5
  84. data/generated/google/apis/iam_v1/service.rb +1 -4
  85. data/generated/google/apis/iamcredentials_v1.rb +3 -4
  86. data/generated/google/apis/iamcredentials_v1/service.rb +2 -3
  87. data/generated/google/apis/logging_v2.rb +1 -1
  88. data/generated/google/apis/logging_v2/classes.rb +72 -0
  89. data/generated/google/apis/logging_v2/representations.rb +32 -0
  90. data/generated/google/apis/logging_v2/service.rb +345 -0
  91. data/generated/google/apis/people_v1.rb +1 -1
  92. data/generated/google/apis/people_v1/classes.rb +4 -4
  93. data/generated/google/apis/people_v1/service.rb +12 -12
  94. data/generated/google/apis/privateca_v1beta1.rb +34 -0
  95. data/generated/google/apis/privateca_v1beta1/classes.rb +2466 -0
  96. data/generated/google/apis/privateca_v1beta1/representations.rb +996 -0
  97. data/generated/google/apis/privateca_v1beta1/service.rb +1487 -0
  98. data/generated/google/apis/recommendationengine_v1beta1.rb +1 -1
  99. data/generated/google/apis/recommendationengine_v1beta1/classes.rb +32 -0
  100. data/generated/google/apis/recommendationengine_v1beta1/representations.rb +25 -0
  101. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  102. data/generated/google/apis/runtimeconfig_v1beta1/classes.rb +1 -2
  103. data/generated/google/apis/safebrowsing_v4.rb +35 -0
  104. data/generated/google/apis/safebrowsing_v4/classes.rb +909 -0
  105. data/generated/google/apis/safebrowsing_v4/representations.rb +445 -0
  106. data/generated/google/apis/safebrowsing_v4/service.rb +286 -0
  107. data/generated/google/apis/secretmanager_v1.rb +1 -1
  108. data/generated/google/apis/secretmanager_v1/classes.rb +1 -2
  109. data/generated/google/apis/secretmanager_v1beta1.rb +1 -1
  110. data/generated/google/apis/secretmanager_v1beta1/classes.rb +1 -2
  111. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  112. data/generated/google/apis/servicecontrol_v1/classes.rb +45 -0
  113. data/generated/google/apis/servicecontrol_v1/representations.rb +6 -0
  114. data/generated/google/apis/servicecontrol_v2.rb +1 -1
  115. data/generated/google/apis/servicecontrol_v2/classes.rb +45 -0
  116. data/generated/google/apis/servicecontrol_v2/representations.rb +6 -0
  117. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  118. data/generated/google/apis/servicemanagement_v1/classes.rb +1 -60
  119. data/generated/google/apis/servicemanagement_v1/representations.rb +0 -18
  120. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  121. data/generated/google/apis/serviceusage_v1beta1/classes.rb +30 -0
  122. data/generated/google/apis/serviceusage_v1beta1/representations.rb +15 -0
  123. data/generated/google/apis/serviceusage_v1beta1/service.rb +36 -0
  124. data/generated/google/apis/smartdevicemanagement_v1.rb +1 -1
  125. data/generated/google/apis/smartdevicemanagement_v1/classes.rb +0 -34
  126. data/generated/google/apis/smartdevicemanagement_v1/representations.rb +0 -16
  127. data/generated/google/apis/smartdevicemanagement_v1/service.rb +3 -8
  128. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  129. data/generated/google/apis/sqladmin_v1beta4/classes.rb +28 -4
  130. data/generated/google/apis/sqladmin_v1beta4/representations.rb +3 -0
  131. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  132. data/generated/google/apis/storagetransfer_v1/classes.rb +14 -5
  133. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  134. data/generated/google/apis/toolresults_v1beta3/classes.rb +13 -0
  135. data/generated/google/apis/toolresults_v1beta3/representations.rb +12 -0
  136. data/generated/google/apis/translate_v3.rb +1 -1
  137. data/generated/google/apis/translate_v3/classes.rb +2 -1
  138. data/generated/google/apis/translate_v3beta1.rb +1 -1
  139. data/generated/google/apis/translate_v3beta1/classes.rb +2 -1
  140. data/generated/google/apis/vision_v1.rb +1 -1
  141. data/generated/google/apis/vision_v1/classes.rb +16 -16
  142. data/generated/google/apis/vision_v1p1beta1.rb +1 -1
  143. data/generated/google/apis/vision_v1p1beta1/classes.rb +16 -16
  144. data/generated/google/apis/vision_v1p2beta1.rb +1 -1
  145. data/generated/google/apis/vision_v1p2beta1/classes.rb +16 -16
  146. data/generated/google/apis/youtube_v3.rb +1 -1
  147. data/generated/google/apis/youtube_v3/service.rb +2 -2
  148. data/lib/google/apis/version.rb +1 -1
  149. metadata +16 -3
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://developers.google.com/people/
26
26
  module PeopleV1
27
27
  VERSION = 'V1'
28
- REVISION = '20201013'
28
+ REVISION = '20201026'
29
29
 
30
30
  # See, edit, download, and permanently delete your contacts
31
31
  AUTH_CONTACTS = 'https://www.googleapis.com/auth/contacts'
@@ -509,8 +509,8 @@ module Google
509
509
  # @return [String]
510
510
  attr_accessor :read_mask
511
511
 
512
- # Optional. A mask of what source types to return. Defaults to ReadSourceType.
513
- # CONTACT and ReadSourceType.PROFILE if not set.
512
+ # Optional. A mask of what source types to return. Defaults to
513
+ # READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set.
514
514
  # Corresponds to the JSON property `sources`
515
515
  # @return [Array<String>]
516
516
  attr_accessor :sources
@@ -2511,8 +2511,8 @@ module Google
2511
2511
  # @return [String]
2512
2512
  attr_accessor :photo_bytes
2513
2513
 
2514
- # Optional. A mask of what source types to return. Defaults to ReadSourceType.
2515
- # CONTACT and ReadSourceType.PROFILE if not set.
2514
+ # Optional. A mask of what source types to return. Defaults to
2515
+ # READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set.
2516
2516
  # Corresponds to the JSON property `sources`
2517
2517
  # @return [Array<String>]
2518
2518
  attr_accessor :sources
@@ -397,8 +397,8 @@ module Google
397
397
  # organizations * phoneNumbers * photos * relations * sipAddresses * skills *
398
398
  # urls * userDefined
399
399
  # @param [Array<String>, String] sources
400
- # Optional. A mask of what source types to return. Defaults to ReadSourceType.
401
- # CONTACT and ReadSourceType.PROFILE if not set.
400
+ # Optional. A mask of what source types to return. Defaults to
401
+ # READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set.
402
402
  # @param [String] fields
403
403
  # Selector specifying which fields to include in a partial response.
404
404
  # @param [String] quota_user
@@ -472,8 +472,8 @@ module Google
472
472
  # names * nicknames * occupations * organizations * phoneNumbers * photos *
473
473
  # relations * sipAddresses * skills * urls * userDefined
474
474
  # @param [Array<String>, String] sources
475
- # Optional. A mask of what source types to return. Defaults to ReadSourceType.
476
- # CONTACT and ReadSourceType.PROFILE if not set.
475
+ # Optional. A mask of what source types to return. Defaults to
476
+ # READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set.
477
477
  # @param [String] fields
478
478
  # Selector specifying which fields to include in a partial response.
479
479
  # @param [String] quota_user
@@ -526,8 +526,8 @@ module Google
526
526
  # Each path should start with `person.`: for example, `person.names` or `person.
527
527
  # photos`.
528
528
  # @param [Array<String>, String] sources
529
- # Optional. A mask of what source types to return. Defaults to ReadSourceType.
530
- # PROFILE and ReadSourceType.CONTACT if not set.
529
+ # Optional. A mask of what source types to return. Defaults to
530
+ # READ_SOURCE_TYPE_PROFILE and READ_SOURCE_TYPE_CONTACT if not set.
531
531
  # @param [String] fields
532
532
  # Selector specifying which fields to include in a partial response.
533
533
  # @param [String] quota_user
@@ -583,8 +583,8 @@ module Google
583
583
  # list`](/people/api/rest/v1/people.connections/list). You can include up to 50
584
584
  # resource names in one request.
585
585
  # @param [Array<String>, String] sources
586
- # Optional. A mask of what source types to return. Defaults to ReadSourceType.
587
- # CONTACT and ReadSourceType.PROFILE if not set.
586
+ # Optional. A mask of what source types to return. Defaults to
587
+ # READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set.
588
588
  # @param [String] fields
589
589
  # Selector specifying which fields to include in a partial response.
590
590
  # @param [String] quota_user
@@ -765,8 +765,8 @@ module Google
765
765
  # organizations * phoneNumbers * photos * relations * sipAddresses * skills *
766
766
  # urls * userDefined
767
767
  # @param [Array<String>, String] sources
768
- # Optional. A mask of what source types to return. Defaults to ReadSourceType.
769
- # CONTACT and ReadSourceType.PROFILE if not set.
768
+ # Optional. A mask of what source types to return. Defaults to
769
+ # READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set.
770
770
  # @param [String] update_person_fields
771
771
  # Required. A field mask to restrict which fields on the person are updated.
772
772
  # Multiple fields can be specified by separating them with commas. All updated
@@ -874,8 +874,8 @@ module Google
874
874
  # Optional. The order in which the connections should be sorted. Defaults to `
875
875
  # LAST_MODIFIED_ASCENDING`.
876
876
  # @param [Array<String>, String] sources
877
- # Optional. A mask of what source types to return. Defaults to ReadSourceType.
878
- # CONTACT and ReadSourceType.PROFILE if not set.
877
+ # Optional. A mask of what source types to return. Defaults to
878
+ # READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set.
879
879
  # @param [String] sync_token
880
880
  # Optional. A sync token, received from a previous `ListConnections` call.
881
881
  # Provide this to retrieve only the resources changed since the last request.
@@ -0,0 +1,34 @@
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/privateca_v1beta1/service.rb'
16
+ require 'google/apis/privateca_v1beta1/classes.rb'
17
+ require 'google/apis/privateca_v1beta1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Certificate Authority API
22
+ #
23
+ #
24
+ #
25
+ # @see https://cloud.google.com/
26
+ module PrivatecaV1beta1
27
+ VERSION = 'V1beta1'
28
+ REVISION = '20201022'
29
+
30
+ # View and manage your data across Google Cloud Platform services
31
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,2466 @@
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 PrivatecaV1beta1
24
+
25
+ # URLs where a CertificateAuthority will publish content.
26
+ class AccessUrls
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The URL where this CertificateAuthority's CA certificate is published. This
30
+ # will only be set for CAs that have been activated.
31
+ # Corresponds to the JSON property `caCertificateAccessUrl`
32
+ # @return [String]
33
+ attr_accessor :ca_certificate_access_url
34
+
35
+ # The URL where this CertificateAuthority's CRLs are published. This will only
36
+ # be set for CAs that have been activated.
37
+ # Corresponds to the JSON property `crlAccessUrl`
38
+ # @return [String]
39
+ attr_accessor :crl_access_url
40
+
41
+ def initialize(**args)
42
+ update!(**args)
43
+ end
44
+
45
+ # Update properties of this object
46
+ def update!(**args)
47
+ @ca_certificate_access_url = args[:ca_certificate_access_url] if args.key?(:ca_certificate_access_url)
48
+ @crl_access_url = args[:crl_access_url] if args.key?(:crl_access_url)
49
+ end
50
+ end
51
+
52
+ # Request message for CertificateAuthorityService.ActivateCertificateAuthority.
53
+ class ActivateCertificateAuthorityRequest
54
+ include Google::Apis::Core::Hashable
55
+
56
+ # Required. The signed CA certificate issued from
57
+ # FetchCertificateAuthorityCsrResponse.pem_csr.
58
+ # Corresponds to the JSON property `pemCaCertificate`
59
+ # @return [String]
60
+ attr_accessor :pem_ca_certificate
61
+
62
+ # Optional. An ID to identify requests. Specify a unique request ID so that if
63
+ # you must retry your request, the server will know to ignore the request if it
64
+ # has already been completed. The server will guarantee that for at least 60
65
+ # minutes since the first request. For example, consider a situation where you
66
+ # make an initial request and t he request times out. If you make the request
67
+ # again with the same request ID, the server can check if original operation
68
+ # with the same request ID was received, and if so, will ignore the second
69
+ # request. This prevents clients from accidentally creating duplicate
70
+ # commitments. The request ID must be a valid UUID with the exception that zero
71
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
72
+ # Corresponds to the JSON property `requestId`
73
+ # @return [String]
74
+ attr_accessor :request_id
75
+
76
+ # Describes a subordinate CA's issuers. This is either a resource path to a
77
+ # known issuing CertificateAuthority, or a PEM issuer certificate chain.
78
+ # Corresponds to the JSON property `subordinateConfig`
79
+ # @return [Google::Apis::PrivatecaV1beta1::SubordinateConfig]
80
+ attr_accessor :subordinate_config
81
+
82
+ def initialize(**args)
83
+ update!(**args)
84
+ end
85
+
86
+ # Update properties of this object
87
+ def update!(**args)
88
+ @pem_ca_certificate = args[:pem_ca_certificate] if args.key?(:pem_ca_certificate)
89
+ @request_id = args[:request_id] if args.key?(:request_id)
90
+ @subordinate_config = args[:subordinate_config] if args.key?(:subordinate_config)
91
+ end
92
+ end
93
+
94
+ #
95
+ class AllowedConfigList
96
+ include Google::Apis::Core::Hashable
97
+
98
+ # Required. All Certificates issued by the CertificateAuthority must match at
99
+ # least one listed ReusableConfigWrapper. If a ReusableConfigWrapper has an
100
+ # empty field, any value will be allowed for that field.
101
+ # Corresponds to the JSON property `allowedConfigValues`
102
+ # @return [Array<Google::Apis::PrivatecaV1beta1::ReusableConfigWrapper>]
103
+ attr_accessor :allowed_config_values
104
+
105
+ def initialize(**args)
106
+ update!(**args)
107
+ end
108
+
109
+ # Update properties of this object
110
+ def update!(**args)
111
+ @allowed_config_values = args[:allowed_config_values] if args.key?(:allowed_config_values)
112
+ end
113
+ end
114
+
115
+ # AllowedSubjectAltNames specifies the allowed values for SubjectAltNames by the
116
+ # CertificateAuthority when issuing Certificates.
117
+ class AllowedSubjectAltNames
118
+ include Google::Apis::Core::Hashable
119
+
120
+ # Optional. Specifies if to allow custom X509Extension values.
121
+ # Corresponds to the JSON property `allowCustomSans`
122
+ # @return [Boolean]
123
+ attr_accessor :allow_custom_sans
124
+ alias_method :allow_custom_sans?, :allow_custom_sans
125
+
126
+ # Optional. Specifies if glob patterns used for allowed_dns_names allow wildcard
127
+ # certificates. If this is set, certificate requests with wildcard domains will
128
+ # be permitted to match a glob pattern specified in allowed_dns_names. Otherwise,
129
+ # certificate requests with wildcard domains will be permitted only if
130
+ # allowed_dns_names contains a literal wildcard.
131
+ # Corresponds to the JSON property `allowGlobbingDnsWildcards`
132
+ # @return [Boolean]
133
+ attr_accessor :allow_globbing_dns_wildcards
134
+ alias_method :allow_globbing_dns_wildcards?, :allow_globbing_dns_wildcards
135
+
136
+ # Optional. Contains valid, fully-qualified host names. Glob patterns are also
137
+ # supported. To allow an explicit wildcard certificate, escape with backlash (i.
138
+ # e. "\*"). E.g. for globbed entries: '*bar.com' will allow 'foo.bar.com', but
139
+ # not '*.bar.com', unless the allow_globbing_dns_wildcards field is set. E.g.
140
+ # for wildcard entries: '\*.bar.com' will allow '*.bar.com', but not 'foo.bar.
141
+ # com'.
142
+ # Corresponds to the JSON property `allowedDnsNames`
143
+ # @return [Array<String>]
144
+ attr_accessor :allowed_dns_names
145
+
146
+ # Optional. Contains valid RFC 2822 E-mail addresses. Glob patterns are also
147
+ # supported.
148
+ # Corresponds to the JSON property `allowedEmailAddresses`
149
+ # @return [Array<String>]
150
+ attr_accessor :allowed_email_addresses
151
+
152
+ # Optional. Contains valid 32-bit IPv4 addresses and subnet ranges or RFC 4291
153
+ # IPv6 addresses and subnet ranges. Subnet ranges are specified using the '/'
154
+ # notation (e.g. 10.0.0.0/8, 2001:700:300:1800::/64). Glob patterns are
155
+ # supported only for ip address entries (i.e. not for subnet ranges).
156
+ # Corresponds to the JSON property `allowedIps`
157
+ # @return [Array<String>]
158
+ attr_accessor :allowed_ips
159
+
160
+ # Optional. Contains valid RFC 3986 URIs. Glob patterns are also supported. To
161
+ # match across path seperators (i.e. '/') use the double star glob pattern (i.e.
162
+ # '**').
163
+ # Corresponds to the JSON property `allowedUris`
164
+ # @return [Array<String>]
165
+ attr_accessor :allowed_uris
166
+
167
+ def initialize(**args)
168
+ update!(**args)
169
+ end
170
+
171
+ # Update properties of this object
172
+ def update!(**args)
173
+ @allow_custom_sans = args[:allow_custom_sans] if args.key?(:allow_custom_sans)
174
+ @allow_globbing_dns_wildcards = args[:allow_globbing_dns_wildcards] if args.key?(:allow_globbing_dns_wildcards)
175
+ @allowed_dns_names = args[:allowed_dns_names] if args.key?(:allowed_dns_names)
176
+ @allowed_email_addresses = args[:allowed_email_addresses] if args.key?(:allowed_email_addresses)
177
+ @allowed_ips = args[:allowed_ips] if args.key?(:allowed_ips)
178
+ @allowed_uris = args[:allowed_uris] if args.key?(:allowed_uris)
179
+ end
180
+ end
181
+
182
+ # Specifies the audit configuration for a service. The configuration determines
183
+ # which permission types are logged, and what identities, if any, are exempted
184
+ # from logging. An AuditConfig must have one or more AuditLogConfigs. If there
185
+ # are AuditConfigs for both `allServices` and a specific service, the union of
186
+ # the two AuditConfigs is used for that service: the log_types specified in each
187
+ # AuditConfig are enabled, and the exempted_members in each AuditLogConfig are
188
+ # exempted. Example Policy with multiple AuditConfigs: ` "audit_configs": [ ` "
189
+ # service": "allServices", "audit_log_configs": [ ` "log_type": "DATA_READ", "
190
+ # exempted_members": [ "user:jose@example.com" ] `, ` "log_type": "DATA_WRITE" `,
191
+ # ` "log_type": "ADMIN_READ" ` ] `, ` "service": "sampleservice.googleapis.com",
192
+ # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
193
+ # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
194
+ # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
195
+ # exempts jose@example.com from DATA_READ logging, and aliya@example.com from
196
+ # DATA_WRITE logging.
197
+ class AuditConfig
198
+ include Google::Apis::Core::Hashable
199
+
200
+ # The configuration for logging of each type of permission.
201
+ # Corresponds to the JSON property `auditLogConfigs`
202
+ # @return [Array<Google::Apis::PrivatecaV1beta1::AuditLogConfig>]
203
+ attr_accessor :audit_log_configs
204
+
205
+ # Specifies a service that will be enabled for audit logging. For example, `
206
+ # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special
207
+ # value that covers all services.
208
+ # Corresponds to the JSON property `service`
209
+ # @return [String]
210
+ attr_accessor :service
211
+
212
+ def initialize(**args)
213
+ update!(**args)
214
+ end
215
+
216
+ # Update properties of this object
217
+ def update!(**args)
218
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
219
+ @service = args[:service] if args.key?(:service)
220
+ end
221
+ end
222
+
223
+ # Provides the configuration for logging a type of permissions. Example: ` "
224
+ # audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ "user:
225
+ # jose@example.com" ] `, ` "log_type": "DATA_WRITE" ` ] ` This enables '
226
+ # DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from
227
+ # DATA_READ logging.
228
+ class AuditLogConfig
229
+ include Google::Apis::Core::Hashable
230
+
231
+ # Specifies the identities that do not cause logging for this type of permission.
232
+ # Follows the same format of Binding.members.
233
+ # Corresponds to the JSON property `exemptedMembers`
234
+ # @return [Array<String>]
235
+ attr_accessor :exempted_members
236
+
237
+ # The log type that this config enables.
238
+ # Corresponds to the JSON property `logType`
239
+ # @return [String]
240
+ attr_accessor :log_type
241
+
242
+ def initialize(**args)
243
+ update!(**args)
244
+ end
245
+
246
+ # Update properties of this object
247
+ def update!(**args)
248
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
249
+ @log_type = args[:log_type] if args.key?(:log_type)
250
+ end
251
+ end
252
+
253
+ # Associates `members` with a `role`.
254
+ class Binding
255
+ include Google::Apis::Core::Hashable
256
+
257
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
258
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
259
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
260
+ # "Summary size limit" description: "Determines if a summary is less than 100
261
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
262
+ # Requestor is owner" description: "Determines if requestor is the document
263
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
264
+ # Logic): title: "Public documents" description: "Determine whether the document
265
+ # should be publicly visible" expression: "document.type != 'private' &&
266
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
267
+ # string" description: "Create a notification string with a timestamp."
268
+ # expression: "'New message received at ' + string(document.create_time)" The
269
+ # exact variables and functions that may be referenced within an expression are
270
+ # determined by the service that evaluates it. See the service documentation for
271
+ # additional information.
272
+ # Corresponds to the JSON property `condition`
273
+ # @return [Google::Apis::PrivatecaV1beta1::Expr]
274
+ attr_accessor :condition
275
+
276
+ # Specifies the identities requesting access for a Cloud Platform resource. `
277
+ # members` can have the following values: * `allUsers`: A special identifier
278
+ # that represents anyone who is on the internet; with or without a Google
279
+ # account. * `allAuthenticatedUsers`: A special identifier that represents
280
+ # anyone who is authenticated with a Google account or a service account. * `
281
+ # user:`emailid``: An email address that represents a specific Google account.
282
+ # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
283
+ # address that represents a service account. For example, `my-other-app@appspot.
284
+ # gserviceaccount.com`. * `group:`emailid``: An email address that represents a
285
+ # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
286
+ # `uniqueid``: An email address (plus unique identifier) representing a user
287
+ # that has been recently deleted. For example, `alice@example.com?uid=
288
+ # 123456789012345678901`. If the user is recovered, this value reverts to `user:`
289
+ # emailid`` and the recovered user retains the role in the binding. * `deleted:
290
+ # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
291
+ # identifier) representing a service account that has been recently deleted. For
292
+ # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
293
+ # If the service account is undeleted, this value reverts to `serviceAccount:`
294
+ # emailid`` and the undeleted service account retains the role in the binding. *
295
+ # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
296
+ # identifier) representing a Google group that has been recently deleted. For
297
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
298
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
299
+ # retains the role in the binding. * `domain:`domain``: The G Suite domain (
300
+ # primary) that represents all the users of that domain. For example, `google.
301
+ # com` or `example.com`.
302
+ # Corresponds to the JSON property `members`
303
+ # @return [Array<String>]
304
+ attr_accessor :members
305
+
306
+ # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
307
+ # , or `roles/owner`.
308
+ # Corresponds to the JSON property `role`
309
+ # @return [String]
310
+ attr_accessor :role
311
+
312
+ def initialize(**args)
313
+ update!(**args)
314
+ end
315
+
316
+ # Update properties of this object
317
+ def update!(**args)
318
+ @condition = args[:condition] if args.key?(:condition)
319
+ @members = args[:members] if args.key?(:members)
320
+ @role = args[:role] if args.key?(:role)
321
+ end
322
+ end
323
+
324
+ # Describes values that are relevant in a CA certificate.
325
+ class CaOptions
326
+ include Google::Apis::Core::Hashable
327
+
328
+ # Optional. Refers to the "CA" X.509 extension, which is a boolean value. When
329
+ # this value is missing, the extension will be omitted from the CA certificate.
330
+ # Corresponds to the JSON property `isCa`
331
+ # @return [Boolean]
332
+ attr_accessor :is_ca
333
+ alias_method :is_ca?, :is_ca
334
+
335
+ # Optional. Refers to the path length restriction X.509 extension. For a CA
336
+ # certificate, this value describes the depth of subordinate CA certificates
337
+ # that are allowed. If this value is less than 0, the request will fail. If this
338
+ # value is missing, the max path length will be omitted from the CA certificate.
339
+ # Corresponds to the JSON property `maxIssuerPathLength`
340
+ # @return [Fixnum]
341
+ attr_accessor :max_issuer_path_length
342
+
343
+ def initialize(**args)
344
+ update!(**args)
345
+ end
346
+
347
+ # Update properties of this object
348
+ def update!(**args)
349
+ @is_ca = args[:is_ca] if args.key?(:is_ca)
350
+ @max_issuer_path_length = args[:max_issuer_path_length] if args.key?(:max_issuer_path_length)
351
+ end
352
+ end
353
+
354
+ # The request message for Operations.CancelOperation.
355
+ class CancelOperationRequest
356
+ include Google::Apis::Core::Hashable
357
+
358
+ def initialize(**args)
359
+ update!(**args)
360
+ end
361
+
362
+ # Update properties of this object
363
+ def update!(**args)
364
+ end
365
+ end
366
+
367
+ # A Certificate corresponds to a signed X.509 certificate issued by a
368
+ # CertificateAuthority.
369
+ class Certificate
370
+ include Google::Apis::Core::Hashable
371
+
372
+ # A CertificateDescription describes an X.509 certificate or CSR that has been
373
+ # issued, as an alternative to using ASN.1 / X.509.
374
+ # Corresponds to the JSON property `certificateDescription`
375
+ # @return [Google::Apis::PrivatecaV1beta1::CertificateDescription]
376
+ attr_accessor :certificate_description
377
+
378
+ # A CertificateConfig describes an X.509 certificate or CSR that is to be
379
+ # created, as an alternative to using ASN.1.
380
+ # Corresponds to the JSON property `config`
381
+ # @return [Google::Apis::PrivatecaV1beta1::CertificateConfig]
382
+ attr_accessor :config
383
+
384
+ # Output only. The time at which this Certificate was created.
385
+ # Corresponds to the JSON property `createTime`
386
+ # @return [String]
387
+ attr_accessor :create_time
388
+
389
+ # Optional. Labels with user-defined metadata.
390
+ # Corresponds to the JSON property `labels`
391
+ # @return [Hash<String,String>]
392
+ attr_accessor :labels
393
+
394
+ # Required. Immutable. The desired lifetime of a certificate. Used to create the
395
+ # "not_before_time" and "not_after_time" fields inside an X.509 certificate.
396
+ # Note that the lifetime may be truncated if it would extend past the life of
397
+ # any certificate authority in the issuing chain.
398
+ # Corresponds to the JSON property `lifetime`
399
+ # @return [String]
400
+ attr_accessor :lifetime
401
+
402
+ # Output only. The resource path for this Certificate in the format `projects/*/
403
+ # locations/*/certificateAuthorities/*/certificates/*`.
404
+ # Corresponds to the JSON property `name`
405
+ # @return [String]
406
+ attr_accessor :name
407
+
408
+ # Output only. The pem-encoded, signed X.509 certificate.
409
+ # Corresponds to the JSON property `pemCertificate`
410
+ # @return [String]
411
+ attr_accessor :pem_certificate
412
+
413
+ # Output only. The chain that may be used to verify the X.509 certificate.
414
+ # Expected to be in issuer-to-root order according to RFC 5246.
415
+ # Corresponds to the JSON property `pemCertificateChain`
416
+ # @return [Array<String>]
417
+ attr_accessor :pem_certificate_chain
418
+
419
+ # Immutable. A pem-encoded X.509 certificate signing request (CSR).
420
+ # Corresponds to the JSON property `pemCsr`
421
+ # @return [String]
422
+ attr_accessor :pem_csr
423
+
424
+ # Describes fields that are relavent to the revocation of a Certificate.
425
+ # Corresponds to the JSON property `revocationDetails`
426
+ # @return [Google::Apis::PrivatecaV1beta1::RevocationDetails]
427
+ attr_accessor :revocation_details
428
+
429
+ # Output only. The time at which this Certificate was updated.
430
+ # Corresponds to the JSON property `updateTime`
431
+ # @return [String]
432
+ attr_accessor :update_time
433
+
434
+ def initialize(**args)
435
+ update!(**args)
436
+ end
437
+
438
+ # Update properties of this object
439
+ def update!(**args)
440
+ @certificate_description = args[:certificate_description] if args.key?(:certificate_description)
441
+ @config = args[:config] if args.key?(:config)
442
+ @create_time = args[:create_time] if args.key?(:create_time)
443
+ @labels = args[:labels] if args.key?(:labels)
444
+ @lifetime = args[:lifetime] if args.key?(:lifetime)
445
+ @name = args[:name] if args.key?(:name)
446
+ @pem_certificate = args[:pem_certificate] if args.key?(:pem_certificate)
447
+ @pem_certificate_chain = args[:pem_certificate_chain] if args.key?(:pem_certificate_chain)
448
+ @pem_csr = args[:pem_csr] if args.key?(:pem_csr)
449
+ @revocation_details = args[:revocation_details] if args.key?(:revocation_details)
450
+ @update_time = args[:update_time] if args.key?(:update_time)
451
+ end
452
+ end
453
+
454
+ # A CertificateAuthority represents an individual Certificate Authority. A
455
+ # CertificateAuthority can be used to create Certificates.
456
+ class CertificateAuthority
457
+ include Google::Apis::Core::Hashable
458
+
459
+ # URLs where a CertificateAuthority will publish content.
460
+ # Corresponds to the JSON property `accessUrls`
461
+ # @return [Google::Apis::PrivatecaV1beta1::AccessUrls]
462
+ attr_accessor :access_urls
463
+
464
+ # Output only. A structured description of this CertificateAuthority's CA
465
+ # certificate and its issuers. Ordered as self-to-root.
466
+ # Corresponds to the JSON property `caCertificateDescriptions`
467
+ # @return [Array<Google::Apis::PrivatecaV1beta1::CertificateDescription>]
468
+ attr_accessor :ca_certificate_descriptions
469
+
470
+ # The issuing policy for a CertificateAuthority. Certificates will not be
471
+ # successfully issued from this CertificateAuthority if they violate the policy.
472
+ # Corresponds to the JSON property `certificatePolicy`
473
+ # @return [Google::Apis::PrivatecaV1beta1::CertificateAuthorityPolicy]
474
+ attr_accessor :certificate_policy
475
+
476
+ # A CertificateConfig describes an X.509 certificate or CSR that is to be
477
+ # created, as an alternative to using ASN.1.
478
+ # Corresponds to the JSON property `config`
479
+ # @return [Google::Apis::PrivatecaV1beta1::CertificateConfig]
480
+ attr_accessor :config
481
+
482
+ # Output only. The time at which this CertificateAuthority was created.
483
+ # Corresponds to the JSON property `createTime`
484
+ # @return [String]
485
+ attr_accessor :create_time
486
+
487
+ # Output only. The time at which this CertificateAuthority will be deleted, if
488
+ # scheduled for deletion.
489
+ # Corresponds to the JSON property `deleteTime`
490
+ # @return [String]
491
+ attr_accessor :delete_time
492
+
493
+ # Immutable. The name of a Cloud Storage bucket where this CertificateAuthority
494
+ # will publish content, such as the CA certificate and CRLs. This must be a
495
+ # bucket name, without any prefixes (such as `gs://`) or suffixes (such as `.
496
+ # googleapis.com`). For example, to use a bucket named `my-bucket`, you would
497
+ # simply specify `my-bucket`. If not specified, a managed bucket will be created.
498
+ # Corresponds to the JSON property `gcsBucket`
499
+ # @return [String]
500
+ attr_accessor :gcs_bucket
501
+
502
+ # Options that affect all certificates issued by a CertificateAuthority.
503
+ # Corresponds to the JSON property `issuingOptions`
504
+ # @return [Google::Apis::PrivatecaV1beta1::IssuingOptions]
505
+ attr_accessor :issuing_options
506
+
507
+ # A Cloud KMS key configuration that a CertificateAuthority will use.
508
+ # Corresponds to the JSON property `keySpec`
509
+ # @return [Google::Apis::PrivatecaV1beta1::KeyVersionSpec]
510
+ attr_accessor :key_spec
511
+
512
+ # Optional. Labels with user-defined metadata.
513
+ # Corresponds to the JSON property `labels`
514
+ # @return [Hash<String,String>]
515
+ attr_accessor :labels
516
+
517
+ # Required. The desired lifetime of the CA certificate. Used to create the "
518
+ # not_before_time" and "not_after_time" fields inside an X.509 certificate.
519
+ # Corresponds to the JSON property `lifetime`
520
+ # @return [String]
521
+ attr_accessor :lifetime
522
+
523
+ # Output only. The resource name for this CertificateAuthority in the format `
524
+ # projects/*/locations/*/certificateAuthorities/*`.
525
+ # Corresponds to the JSON property `name`
526
+ # @return [String]
527
+ attr_accessor :name
528
+
529
+ # Output only. This CertificateAuthority's certificate chain, including the
530
+ # current CertificateAuthority's certificate. Ordered such that the root issuer
531
+ # is the final element (consistent with RFC 5246). For a self-signed CA, this
532
+ # will only list the current CertificateAuthority's certificate.
533
+ # Corresponds to the JSON property `pemCaCertificates`
534
+ # @return [Array<String>]
535
+ attr_accessor :pem_ca_certificates
536
+
537
+ # Output only. The State for this CertificateAuthority.
538
+ # Corresponds to the JSON property `state`
539
+ # @return [String]
540
+ attr_accessor :state
541
+
542
+ # Describes a subordinate CA's issuers. This is either a resource path to a
543
+ # known issuing CertificateAuthority, or a PEM issuer certificate chain.
544
+ # Corresponds to the JSON property `subordinateConfig`
545
+ # @return [Google::Apis::PrivatecaV1beta1::SubordinateConfig]
546
+ attr_accessor :subordinate_config
547
+
548
+ # Required. Immutable. The Tier of this CertificateAuthority.
549
+ # Corresponds to the JSON property `tier`
550
+ # @return [String]
551
+ attr_accessor :tier
552
+
553
+ # Required. Immutable. The Type of this CertificateAuthority.
554
+ # Corresponds to the JSON property `type`
555
+ # @return [String]
556
+ attr_accessor :type
557
+
558
+ # Output only. The time at which this CertificateAuthority was updated.
559
+ # Corresponds to the JSON property `updateTime`
560
+ # @return [String]
561
+ attr_accessor :update_time
562
+
563
+ def initialize(**args)
564
+ update!(**args)
565
+ end
566
+
567
+ # Update properties of this object
568
+ def update!(**args)
569
+ @access_urls = args[:access_urls] if args.key?(:access_urls)
570
+ @ca_certificate_descriptions = args[:ca_certificate_descriptions] if args.key?(:ca_certificate_descriptions)
571
+ @certificate_policy = args[:certificate_policy] if args.key?(:certificate_policy)
572
+ @config = args[:config] if args.key?(:config)
573
+ @create_time = args[:create_time] if args.key?(:create_time)
574
+ @delete_time = args[:delete_time] if args.key?(:delete_time)
575
+ @gcs_bucket = args[:gcs_bucket] if args.key?(:gcs_bucket)
576
+ @issuing_options = args[:issuing_options] if args.key?(:issuing_options)
577
+ @key_spec = args[:key_spec] if args.key?(:key_spec)
578
+ @labels = args[:labels] if args.key?(:labels)
579
+ @lifetime = args[:lifetime] if args.key?(:lifetime)
580
+ @name = args[:name] if args.key?(:name)
581
+ @pem_ca_certificates = args[:pem_ca_certificates] if args.key?(:pem_ca_certificates)
582
+ @state = args[:state] if args.key?(:state)
583
+ @subordinate_config = args[:subordinate_config] if args.key?(:subordinate_config)
584
+ @tier = args[:tier] if args.key?(:tier)
585
+ @type = args[:type] if args.key?(:type)
586
+ @update_time = args[:update_time] if args.key?(:update_time)
587
+ end
588
+ end
589
+
590
+ # The issuing policy for a CertificateAuthority. Certificates will not be
591
+ # successfully issued from this CertificateAuthority if they violate the policy.
592
+ class CertificateAuthorityPolicy
593
+ include Google::Apis::Core::Hashable
594
+
595
+ # Optional. If any value is specified here, then all Certificates issued by the
596
+ # CertificateAuthority must match at least one listed value. If no value is
597
+ # specified, all values will be allowed for this fied. Glob patterns are also
598
+ # supported.
599
+ # Corresponds to the JSON property `allowedCommonNames`
600
+ # @return [Array<String>]
601
+ attr_accessor :allowed_common_names
602
+
603
+ # Optional. All Certificates issued by the CertificateAuthority must match at
604
+ # least one listed ReusableConfigWrapper in the list.
605
+ # Corresponds to the JSON property `allowedConfigList`
606
+ # @return [Google::Apis::PrivatecaV1beta1::AllowedConfigList]
607
+ attr_accessor :allowed_config_list
608
+
609
+ # IssuanceModes specifies the allowed ways in which Certificates may be
610
+ # requested from this CertificateAuthority.
611
+ # Corresponds to the JSON property `allowedIssuanceModes`
612
+ # @return [Google::Apis::PrivatecaV1beta1::IssuanceModes]
613
+ attr_accessor :allowed_issuance_modes
614
+
615
+ # Optional. If any Subject is specified here, then all Certificates issued by
616
+ # the CertificateAuthority must match at least one listed Subject. If a Subject
617
+ # has an empty field, any value will be allowed for that field.
618
+ # Corresponds to the JSON property `allowedLocationsAndOrganizations`
619
+ # @return [Array<Google::Apis::PrivatecaV1beta1::Subject>]
620
+ attr_accessor :allowed_locations_and_organizations
621
+
622
+ # AllowedSubjectAltNames specifies the allowed values for SubjectAltNames by the
623
+ # CertificateAuthority when issuing Certificates.
624
+ # Corresponds to the JSON property `allowedSans`
625
+ # @return [Google::Apis::PrivatecaV1beta1::AllowedSubjectAltNames]
626
+ attr_accessor :allowed_sans
627
+
628
+ # Optional. The maximum lifetime allowed by the CertificateAuthority. Note that
629
+ # if the any part if the issuing chain expires before a Certificate's requested
630
+ # maximum_lifetime, the effective lifetime will be explicitly truncated.
631
+ # Corresponds to the JSON property `maximumLifetime`
632
+ # @return [String]
633
+ attr_accessor :maximum_lifetime
634
+
635
+ # A ReusableConfigWrapper describes values that may assist in creating an X.509
636
+ # certificate, or a reference to a pre-defined set of values.
637
+ # Corresponds to the JSON property `overwriteConfigValues`
638
+ # @return [Google::Apis::PrivatecaV1beta1::ReusableConfigWrapper]
639
+ attr_accessor :overwrite_config_values
640
+
641
+ def initialize(**args)
642
+ update!(**args)
643
+ end
644
+
645
+ # Update properties of this object
646
+ def update!(**args)
647
+ @allowed_common_names = args[:allowed_common_names] if args.key?(:allowed_common_names)
648
+ @allowed_config_list = args[:allowed_config_list] if args.key?(:allowed_config_list)
649
+ @allowed_issuance_modes = args[:allowed_issuance_modes] if args.key?(:allowed_issuance_modes)
650
+ @allowed_locations_and_organizations = args[:allowed_locations_and_organizations] if args.key?(:allowed_locations_and_organizations)
651
+ @allowed_sans = args[:allowed_sans] if args.key?(:allowed_sans)
652
+ @maximum_lifetime = args[:maximum_lifetime] if args.key?(:maximum_lifetime)
653
+ @overwrite_config_values = args[:overwrite_config_values] if args.key?(:overwrite_config_values)
654
+ end
655
+ end
656
+
657
+ # A CertificateConfig describes an X.509 certificate or CSR that is to be
658
+ # created, as an alternative to using ASN.1.
659
+ class CertificateConfig
660
+ include Google::Apis::Core::Hashable
661
+
662
+ # A PublicKey describes a public key.
663
+ # Corresponds to the JSON property `publicKey`
664
+ # @return [Google::Apis::PrivatecaV1beta1::PublicKey]
665
+ attr_accessor :public_key
666
+
667
+ # A ReusableConfigWrapper describes values that may assist in creating an X.509
668
+ # certificate, or a reference to a pre-defined set of values.
669
+ # Corresponds to the JSON property `reusableConfig`
670
+ # @return [Google::Apis::PrivatecaV1beta1::ReusableConfigWrapper]
671
+ attr_accessor :reusable_config
672
+
673
+ # These values are used to create the distinguished name and subject alternative
674
+ # name fields in an X.509 certificate.
675
+ # Corresponds to the JSON property `subjectConfig`
676
+ # @return [Google::Apis::PrivatecaV1beta1::SubjectConfig]
677
+ attr_accessor :subject_config
678
+
679
+ def initialize(**args)
680
+ update!(**args)
681
+ end
682
+
683
+ # Update properties of this object
684
+ def update!(**args)
685
+ @public_key = args[:public_key] if args.key?(:public_key)
686
+ @reusable_config = args[:reusable_config] if args.key?(:reusable_config)
687
+ @subject_config = args[:subject_config] if args.key?(:subject_config)
688
+ end
689
+ end
690
+
691
+ # A CertificateDescription describes an X.509 certificate or CSR that has been
692
+ # issued, as an alternative to using ASN.1 / X.509.
693
+ class CertificateDescription
694
+ include Google::Apis::Core::Hashable
695
+
696
+ # Describes lists of issuer CA certificate URLs that appear in the "Authority
697
+ # Information Access" extension in the certificate.
698
+ # Corresponds to the JSON property `aiaIssuingCertificateUrls`
699
+ # @return [Array<String>]
700
+ attr_accessor :aia_issuing_certificate_urls
701
+
702
+ # A KeyId identifies a specific public key, usually by hashing the public key.
703
+ # Corresponds to the JSON property `authorityKeyId`
704
+ # @return [Google::Apis::PrivatecaV1beta1::KeyId]
705
+ attr_accessor :authority_key_id
706
+
707
+ # A group of fingerprints for the x509 certificate.
708
+ # Corresponds to the JSON property `certFingerprint`
709
+ # @return [Google::Apis::PrivatecaV1beta1::CertificateFingerprint]
710
+ attr_accessor :cert_fingerprint
711
+
712
+ # A ReusableConfigValues is used to describe certain fields of an X.509
713
+ # certificate, such as the key usage fields, fields specific to CA certificates,
714
+ # certificate policy extensions and custom extensions.
715
+ # Corresponds to the JSON property `configValues`
716
+ # @return [Google::Apis::PrivatecaV1beta1::ReusableConfigValues]
717
+ attr_accessor :config_values
718
+
719
+ # Describes a list of locations to obtain CRL information, i.e. the
720
+ # DistributionPoint.fullName described by https://tools.ietf.org/html/rfc5280#
721
+ # section-4.2.1.13
722
+ # Corresponds to the JSON property `crlDistributionPoints`
723
+ # @return [Array<String>]
724
+ attr_accessor :crl_distribution_points
725
+
726
+ # A PublicKey describes a public key.
727
+ # Corresponds to the JSON property `publicKey`
728
+ # @return [Google::Apis::PrivatecaV1beta1::PublicKey]
729
+ attr_accessor :public_key
730
+
731
+ # These values describe fields in an issued X.509 certificate such as the
732
+ # distinguished name, subject alternative names, serial number, and lifetime.
733
+ # Corresponds to the JSON property `subjectDescription`
734
+ # @return [Google::Apis::PrivatecaV1beta1::SubjectDescription]
735
+ attr_accessor :subject_description
736
+
737
+ # A KeyId identifies a specific public key, usually by hashing the public key.
738
+ # Corresponds to the JSON property `subjectKeyId`
739
+ # @return [Google::Apis::PrivatecaV1beta1::KeyId]
740
+ attr_accessor :subject_key_id
741
+
742
+ def initialize(**args)
743
+ update!(**args)
744
+ end
745
+
746
+ # Update properties of this object
747
+ def update!(**args)
748
+ @aia_issuing_certificate_urls = args[:aia_issuing_certificate_urls] if args.key?(:aia_issuing_certificate_urls)
749
+ @authority_key_id = args[:authority_key_id] if args.key?(:authority_key_id)
750
+ @cert_fingerprint = args[:cert_fingerprint] if args.key?(:cert_fingerprint)
751
+ @config_values = args[:config_values] if args.key?(:config_values)
752
+ @crl_distribution_points = args[:crl_distribution_points] if args.key?(:crl_distribution_points)
753
+ @public_key = args[:public_key] if args.key?(:public_key)
754
+ @subject_description = args[:subject_description] if args.key?(:subject_description)
755
+ @subject_key_id = args[:subject_key_id] if args.key?(:subject_key_id)
756
+ end
757
+ end
758
+
759
+ # A group of fingerprints for the x509 certificate.
760
+ class CertificateFingerprint
761
+ include Google::Apis::Core::Hashable
762
+
763
+ # The SHA 256 hash, encoded in hexadecimal, of the DER x509 certificate.
764
+ # Corresponds to the JSON property `sha256Hash`
765
+ # @return [String]
766
+ attr_accessor :sha256_hash
767
+
768
+ def initialize(**args)
769
+ update!(**args)
770
+ end
771
+
772
+ # Update properties of this object
773
+ def update!(**args)
774
+ @sha256_hash = args[:sha256_hash] if args.key?(:sha256_hash)
775
+ end
776
+ end
777
+
778
+ # A CertificateRevocationList corresponds to a signed X.509 certificate
779
+ # Revocation List (CRL). A CRL contains the serial numbers of certificates that
780
+ # should no longer be trusted.
781
+ class CertificateRevocationList
782
+ include Google::Apis::Core::Hashable
783
+
784
+ # Output only. The location where 'pem_crl' can be accessed.
785
+ # Corresponds to the JSON property `accessUrl`
786
+ # @return [String]
787
+ attr_accessor :access_url
788
+
789
+ # Output only. The time at which this CertificateRevocationList was created.
790
+ # Corresponds to the JSON property `createTime`
791
+ # @return [String]
792
+ attr_accessor :create_time
793
+
794
+ # Optional. Labels with user-defined metadata.
795
+ # Corresponds to the JSON property `labels`
796
+ # @return [Hash<String,String>]
797
+ attr_accessor :labels
798
+
799
+ # Output only. The resource path for this CertificateRevocationList in the
800
+ # format `projects/*/locations/*/certificateAuthorities/*/
801
+ # certificateRevocationLists/*`.
802
+ # Corresponds to the JSON property `name`
803
+ # @return [String]
804
+ attr_accessor :name
805
+
806
+ # Output only. The PEM-encoded X.509 CRL.
807
+ # Corresponds to the JSON property `pemCrl`
808
+ # @return [String]
809
+ attr_accessor :pem_crl
810
+
811
+ # Output only. The revoked serial numbers that appear in pem_crl.
812
+ # Corresponds to the JSON property `revokedCertificates`
813
+ # @return [Array<Google::Apis::PrivatecaV1beta1::RevokedCertificate>]
814
+ attr_accessor :revoked_certificates
815
+
816
+ # Output only. The CRL sequence number that appears in pem_crl.
817
+ # Corresponds to the JSON property `sequenceNumber`
818
+ # @return [Fixnum]
819
+ attr_accessor :sequence_number
820
+
821
+ # Output only. The State for this CertificateRevocationList.
822
+ # Corresponds to the JSON property `state`
823
+ # @return [String]
824
+ attr_accessor :state
825
+
826
+ # Output only. The time at which this CertificateRevocationList was updated.
827
+ # Corresponds to the JSON property `updateTime`
828
+ # @return [String]
829
+ attr_accessor :update_time
830
+
831
+ def initialize(**args)
832
+ update!(**args)
833
+ end
834
+
835
+ # Update properties of this object
836
+ def update!(**args)
837
+ @access_url = args[:access_url] if args.key?(:access_url)
838
+ @create_time = args[:create_time] if args.key?(:create_time)
839
+ @labels = args[:labels] if args.key?(:labels)
840
+ @name = args[:name] if args.key?(:name)
841
+ @pem_crl = args[:pem_crl] if args.key?(:pem_crl)
842
+ @revoked_certificates = args[:revoked_certificates] if args.key?(:revoked_certificates)
843
+ @sequence_number = args[:sequence_number] if args.key?(:sequence_number)
844
+ @state = args[:state] if args.key?(:state)
845
+ @update_time = args[:update_time] if args.key?(:update_time)
846
+ end
847
+ end
848
+
849
+ # Request message for CertificateAuthorityService.DisableCertificateAuthority.
850
+ class DisableCertificateAuthorityRequest
851
+ include Google::Apis::Core::Hashable
852
+
853
+ # Optional. An ID to identify requests. Specify a unique request ID so that if
854
+ # you must retry your request, the server will know to ignore the request if it
855
+ # has already been completed. The server will guarantee that for at least 60
856
+ # minutes since the first request. For example, consider a situation where you
857
+ # make an initial request and t he request times out. If you make the request
858
+ # again with the same request ID, the server can check if original operation
859
+ # with the same request ID was received, and if so, will ignore the second
860
+ # request. This prevents clients from accidentally creating duplicate
861
+ # commitments. The request ID must be a valid UUID with the exception that zero
862
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
863
+ # Corresponds to the JSON property `requestId`
864
+ # @return [String]
865
+ attr_accessor :request_id
866
+
867
+ def initialize(**args)
868
+ update!(**args)
869
+ end
870
+
871
+ # Update properties of this object
872
+ def update!(**args)
873
+ @request_id = args[:request_id] if args.key?(:request_id)
874
+ end
875
+ end
876
+
877
+ # A generic empty message that you can re-use to avoid defining duplicated empty
878
+ # messages in your APIs. A typical example is to use it as the request or the
879
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
880
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
881
+ # `Empty` is empty JSON object ````.
882
+ class Empty
883
+ include Google::Apis::Core::Hashable
884
+
885
+ def initialize(**args)
886
+ update!(**args)
887
+ end
888
+
889
+ # Update properties of this object
890
+ def update!(**args)
891
+ end
892
+ end
893
+
894
+ # Request message for CertificateAuthorityService.EnableCertificateAuthority.
895
+ class EnableCertificateAuthorityRequest
896
+ include Google::Apis::Core::Hashable
897
+
898
+ # Optional. An ID to identify requests. Specify a unique request ID so that if
899
+ # you must retry your request, the server will know to ignore the request if it
900
+ # has already been completed. The server will guarantee that for at least 60
901
+ # minutes since the first request. For example, consider a situation where you
902
+ # make an initial request and t he request times out. If you make the request
903
+ # again with the same request ID, the server can check if original operation
904
+ # with the same request ID was received, and if so, will ignore the second
905
+ # request. This prevents clients from accidentally creating duplicate
906
+ # commitments. The request ID must be a valid UUID with the exception that zero
907
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
908
+ # Corresponds to the JSON property `requestId`
909
+ # @return [String]
910
+ attr_accessor :request_id
911
+
912
+ def initialize(**args)
913
+ update!(**args)
914
+ end
915
+
916
+ # Update properties of this object
917
+ def update!(**args)
918
+ @request_id = args[:request_id] if args.key?(:request_id)
919
+ end
920
+ end
921
+
922
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
923
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
924
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
925
+ # "Summary size limit" description: "Determines if a summary is less than 100
926
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
927
+ # Requestor is owner" description: "Determines if requestor is the document
928
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
929
+ # Logic): title: "Public documents" description: "Determine whether the document
930
+ # should be publicly visible" expression: "document.type != 'private' &&
931
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
932
+ # string" description: "Create a notification string with a timestamp."
933
+ # expression: "'New message received at ' + string(document.create_time)" The
934
+ # exact variables and functions that may be referenced within an expression are
935
+ # determined by the service that evaluates it. See the service documentation for
936
+ # additional information.
937
+ class Expr
938
+ include Google::Apis::Core::Hashable
939
+
940
+ # Optional. Description of the expression. This is a longer text which describes
941
+ # the expression, e.g. when hovered over it in a UI.
942
+ # Corresponds to the JSON property `description`
943
+ # @return [String]
944
+ attr_accessor :description
945
+
946
+ # Textual representation of an expression in Common Expression Language syntax.
947
+ # Corresponds to the JSON property `expression`
948
+ # @return [String]
949
+ attr_accessor :expression
950
+
951
+ # Optional. String indicating the location of the expression for error reporting,
952
+ # e.g. a file name and a position in the file.
953
+ # Corresponds to the JSON property `location`
954
+ # @return [String]
955
+ attr_accessor :location
956
+
957
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
958
+ # This can be used e.g. in UIs which allow to enter the expression.
959
+ # Corresponds to the JSON property `title`
960
+ # @return [String]
961
+ attr_accessor :title
962
+
963
+ def initialize(**args)
964
+ update!(**args)
965
+ end
966
+
967
+ # Update properties of this object
968
+ def update!(**args)
969
+ @description = args[:description] if args.key?(:description)
970
+ @expression = args[:expression] if args.key?(:expression)
971
+ @location = args[:location] if args.key?(:location)
972
+ @title = args[:title] if args.key?(:title)
973
+ end
974
+ end
975
+
976
+ # KeyUsage.ExtendedKeyUsageOptions has fields that correspond to certain common
977
+ # OIDs that could be specified as an extended key usage value.
978
+ class ExtendedKeyUsageOptions
979
+ include Google::Apis::Core::Hashable
980
+
981
+ # Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW client
982
+ # authentication", though regularly used for non-WWW TLS.
983
+ # Corresponds to the JSON property `clientAuth`
984
+ # @return [Boolean]
985
+ attr_accessor :client_auth
986
+ alias_method :client_auth?, :client_auth
987
+
988
+ # Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of
989
+ # downloadable executable code client authentication".
990
+ # Corresponds to the JSON property `codeSigning`
991
+ # @return [Boolean]
992
+ attr_accessor :code_signing
993
+ alias_method :code_signing?, :code_signing
994
+
995
+ # Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email
996
+ # protection".
997
+ # Corresponds to the JSON property `emailProtection`
998
+ # @return [Boolean]
999
+ attr_accessor :email_protection
1000
+ alias_method :email_protection?, :email_protection
1001
+
1002
+ # Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing OCSP
1003
+ # responses".
1004
+ # Corresponds to the JSON property `ocspSigning`
1005
+ # @return [Boolean]
1006
+ attr_accessor :ocsp_signing
1007
+ alias_method :ocsp_signing?, :ocsp_signing
1008
+
1009
+ # Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW server
1010
+ # authentication", though regularly used for non-WWW TLS.
1011
+ # Corresponds to the JSON property `serverAuth`
1012
+ # @return [Boolean]
1013
+ attr_accessor :server_auth
1014
+ alias_method :server_auth?, :server_auth
1015
+
1016
+ # Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding the
1017
+ # hash of an object to a time".
1018
+ # Corresponds to the JSON property `timeStamping`
1019
+ # @return [Boolean]
1020
+ attr_accessor :time_stamping
1021
+ alias_method :time_stamping?, :time_stamping
1022
+
1023
+ def initialize(**args)
1024
+ update!(**args)
1025
+ end
1026
+
1027
+ # Update properties of this object
1028
+ def update!(**args)
1029
+ @client_auth = args[:client_auth] if args.key?(:client_auth)
1030
+ @code_signing = args[:code_signing] if args.key?(:code_signing)
1031
+ @email_protection = args[:email_protection] if args.key?(:email_protection)
1032
+ @ocsp_signing = args[:ocsp_signing] if args.key?(:ocsp_signing)
1033
+ @server_auth = args[:server_auth] if args.key?(:server_auth)
1034
+ @time_stamping = args[:time_stamping] if args.key?(:time_stamping)
1035
+ end
1036
+ end
1037
+
1038
+ # Response message for CertificateAuthorityService.FetchCertificateAuthorityCsr.
1039
+ class FetchCertificateAuthorityCsrResponse
1040
+ include Google::Apis::Core::Hashable
1041
+
1042
+ # Output only. The PEM-encoded signed certificate signing request (CSR).
1043
+ # Corresponds to the JSON property `pemCsr`
1044
+ # @return [String]
1045
+ attr_accessor :pem_csr
1046
+
1047
+ def initialize(**args)
1048
+ update!(**args)
1049
+ end
1050
+
1051
+ # Update properties of this object
1052
+ def update!(**args)
1053
+ @pem_csr = args[:pem_csr] if args.key?(:pem_csr)
1054
+ end
1055
+ end
1056
+
1057
+ # IssuanceModes specifies the allowed ways in which Certificates may be
1058
+ # requested from this CertificateAuthority.
1059
+ class IssuanceModes
1060
+ include Google::Apis::Core::Hashable
1061
+
1062
+ # Required. When true, allows callers to create Certificates by specifying a
1063
+ # CertificateConfig.
1064
+ # Corresponds to the JSON property `allowConfigBasedIssuance`
1065
+ # @return [Boolean]
1066
+ attr_accessor :allow_config_based_issuance
1067
+ alias_method :allow_config_based_issuance?, :allow_config_based_issuance
1068
+
1069
+ # Required. When true, allows callers to create Certificates by specifying a CSR.
1070
+ # Corresponds to the JSON property `allowCsrBasedIssuance`
1071
+ # @return [Boolean]
1072
+ attr_accessor :allow_csr_based_issuance
1073
+ alias_method :allow_csr_based_issuance?, :allow_csr_based_issuance
1074
+
1075
+ def initialize(**args)
1076
+ update!(**args)
1077
+ end
1078
+
1079
+ # Update properties of this object
1080
+ def update!(**args)
1081
+ @allow_config_based_issuance = args[:allow_config_based_issuance] if args.key?(:allow_config_based_issuance)
1082
+ @allow_csr_based_issuance = args[:allow_csr_based_issuance] if args.key?(:allow_csr_based_issuance)
1083
+ end
1084
+ end
1085
+
1086
+ # Options that affect all certificates issued by a CertificateAuthority.
1087
+ class IssuingOptions
1088
+ include Google::Apis::Core::Hashable
1089
+
1090
+ # Required. When true, includes a URL to the issuing CA certificate in the "
1091
+ # authority information access" X.509 extension.
1092
+ # Corresponds to the JSON property `includeCaCertUrl`
1093
+ # @return [Boolean]
1094
+ attr_accessor :include_ca_cert_url
1095
+ alias_method :include_ca_cert_url?, :include_ca_cert_url
1096
+
1097
+ # Required. When true, includes a URL to the CRL corresponding to certificates
1098
+ # issued from a CertificateAuthority. CRLs will expire 7 days from their
1099
+ # creation. However, we will rebuild daily. CRLs are also rebuilt shortly after
1100
+ # a certificate is revoked.
1101
+ # Corresponds to the JSON property `includeCrlAccessUrl`
1102
+ # @return [Boolean]
1103
+ attr_accessor :include_crl_access_url
1104
+ alias_method :include_crl_access_url?, :include_crl_access_url
1105
+
1106
+ def initialize(**args)
1107
+ update!(**args)
1108
+ end
1109
+
1110
+ # Update properties of this object
1111
+ def update!(**args)
1112
+ @include_ca_cert_url = args[:include_ca_cert_url] if args.key?(:include_ca_cert_url)
1113
+ @include_crl_access_url = args[:include_crl_access_url] if args.key?(:include_crl_access_url)
1114
+ end
1115
+ end
1116
+
1117
+ # A KeyId identifies a specific public key, usually by hashing the public key.
1118
+ class KeyId
1119
+ include Google::Apis::Core::Hashable
1120
+
1121
+ # Optional. The value of this KeyId encoded in lowercase hexadecimal. This is
1122
+ # most likely the 160 bit SHA-1 hash of the public key.
1123
+ # Corresponds to the JSON property `keyId`
1124
+ # @return [String]
1125
+ attr_accessor :key_id
1126
+
1127
+ def initialize(**args)
1128
+ update!(**args)
1129
+ end
1130
+
1131
+ # Update properties of this object
1132
+ def update!(**args)
1133
+ @key_id = args[:key_id] if args.key?(:key_id)
1134
+ end
1135
+ end
1136
+
1137
+ # A KeyUsage describes key usage values that may appear in an X.509 certificate.
1138
+ class KeyUsage
1139
+ include Google::Apis::Core::Hashable
1140
+
1141
+ # KeyUsage.KeyUsageOptions corresponds to the key usage values described in
1142
+ # https://tools.ietf.org/html/rfc5280#section-4.2.1.3.
1143
+ # Corresponds to the JSON property `baseKeyUsage`
1144
+ # @return [Google::Apis::PrivatecaV1beta1::KeyUsageOptions]
1145
+ attr_accessor :base_key_usage
1146
+
1147
+ # KeyUsage.ExtendedKeyUsageOptions has fields that correspond to certain common
1148
+ # OIDs that could be specified as an extended key usage value.
1149
+ # Corresponds to the JSON property `extendedKeyUsage`
1150
+ # @return [Google::Apis::PrivatecaV1beta1::ExtendedKeyUsageOptions]
1151
+ attr_accessor :extended_key_usage
1152
+
1153
+ # Used to describe extended key usages that are not listed in the KeyUsage.
1154
+ # ExtendedKeyUsageOptions message.
1155
+ # Corresponds to the JSON property `unknownExtendedKeyUsages`
1156
+ # @return [Array<Google::Apis::PrivatecaV1beta1::ObjectIdProp>]
1157
+ attr_accessor :unknown_extended_key_usages
1158
+
1159
+ def initialize(**args)
1160
+ update!(**args)
1161
+ end
1162
+
1163
+ # Update properties of this object
1164
+ def update!(**args)
1165
+ @base_key_usage = args[:base_key_usage] if args.key?(:base_key_usage)
1166
+ @extended_key_usage = args[:extended_key_usage] if args.key?(:extended_key_usage)
1167
+ @unknown_extended_key_usages = args[:unknown_extended_key_usages] if args.key?(:unknown_extended_key_usages)
1168
+ end
1169
+ end
1170
+
1171
+ # KeyUsage.KeyUsageOptions corresponds to the key usage values described in
1172
+ # https://tools.ietf.org/html/rfc5280#section-4.2.1.3.
1173
+ class KeyUsageOptions
1174
+ include Google::Apis::Core::Hashable
1175
+
1176
+ # The key may be used to sign certificates.
1177
+ # Corresponds to the JSON property `certSign`
1178
+ # @return [Boolean]
1179
+ attr_accessor :cert_sign
1180
+ alias_method :cert_sign?, :cert_sign
1181
+
1182
+ # The key may be used for cryptographic commitments. Note that this may also be
1183
+ # referred to as "non-repudiation".
1184
+ # Corresponds to the JSON property `contentCommitment`
1185
+ # @return [Boolean]
1186
+ attr_accessor :content_commitment
1187
+ alias_method :content_commitment?, :content_commitment
1188
+
1189
+ # The key may be used sign certificate revocation lists.
1190
+ # Corresponds to the JSON property `crlSign`
1191
+ # @return [Boolean]
1192
+ attr_accessor :crl_sign
1193
+ alias_method :crl_sign?, :crl_sign
1194
+
1195
+ # The key may be used to encipher data.
1196
+ # Corresponds to the JSON property `dataEncipherment`
1197
+ # @return [Boolean]
1198
+ attr_accessor :data_encipherment
1199
+ alias_method :data_encipherment?, :data_encipherment
1200
+
1201
+ # The key may be used to decipher only.
1202
+ # Corresponds to the JSON property `decipherOnly`
1203
+ # @return [Boolean]
1204
+ attr_accessor :decipher_only
1205
+ alias_method :decipher_only?, :decipher_only
1206
+
1207
+ # The key may be used for digital signatures.
1208
+ # Corresponds to the JSON property `digitalSignature`
1209
+ # @return [Boolean]
1210
+ attr_accessor :digital_signature
1211
+ alias_method :digital_signature?, :digital_signature
1212
+
1213
+ # The key may be used to encipher only.
1214
+ # Corresponds to the JSON property `encipherOnly`
1215
+ # @return [Boolean]
1216
+ attr_accessor :encipher_only
1217
+ alias_method :encipher_only?, :encipher_only
1218
+
1219
+ # The key may be used in a key agreement protocol.
1220
+ # Corresponds to the JSON property `keyAgreement`
1221
+ # @return [Boolean]
1222
+ attr_accessor :key_agreement
1223
+ alias_method :key_agreement?, :key_agreement
1224
+
1225
+ # The key may be used to encipher other keys.
1226
+ # Corresponds to the JSON property `keyEncipherment`
1227
+ # @return [Boolean]
1228
+ attr_accessor :key_encipherment
1229
+ alias_method :key_encipherment?, :key_encipherment
1230
+
1231
+ def initialize(**args)
1232
+ update!(**args)
1233
+ end
1234
+
1235
+ # Update properties of this object
1236
+ def update!(**args)
1237
+ @cert_sign = args[:cert_sign] if args.key?(:cert_sign)
1238
+ @content_commitment = args[:content_commitment] if args.key?(:content_commitment)
1239
+ @crl_sign = args[:crl_sign] if args.key?(:crl_sign)
1240
+ @data_encipherment = args[:data_encipherment] if args.key?(:data_encipherment)
1241
+ @decipher_only = args[:decipher_only] if args.key?(:decipher_only)
1242
+ @digital_signature = args[:digital_signature] if args.key?(:digital_signature)
1243
+ @encipher_only = args[:encipher_only] if args.key?(:encipher_only)
1244
+ @key_agreement = args[:key_agreement] if args.key?(:key_agreement)
1245
+ @key_encipherment = args[:key_encipherment] if args.key?(:key_encipherment)
1246
+ end
1247
+ end
1248
+
1249
+ # A Cloud KMS key configuration that a CertificateAuthority will use.
1250
+ class KeyVersionSpec
1251
+ include Google::Apis::Core::Hashable
1252
+
1253
+ # Required. The algorithm to use for creating a managed Cloud KMS key for a for
1254
+ # a simplified experience. All managed keys will be have their ProtectionLevel
1255
+ # as `HSM`.
1256
+ # Corresponds to the JSON property `algorithm`
1257
+ # @return [String]
1258
+ attr_accessor :algorithm
1259
+
1260
+ # Required. The resource name for an existing Cloud KMS CryptoKeyVersion in the
1261
+ # format `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
1262
+ # This option enables full flexibility in the key's capabilities and properties.
1263
+ # Corresponds to the JSON property `cloudKmsKeyVersion`
1264
+ # @return [String]
1265
+ attr_accessor :cloud_kms_key_version
1266
+
1267
+ def initialize(**args)
1268
+ update!(**args)
1269
+ end
1270
+
1271
+ # Update properties of this object
1272
+ def update!(**args)
1273
+ @algorithm = args[:algorithm] if args.key?(:algorithm)
1274
+ @cloud_kms_key_version = args[:cloud_kms_key_version] if args.key?(:cloud_kms_key_version)
1275
+ end
1276
+ end
1277
+
1278
+ # Response message for CertificateAuthorityService.ListCertificateAuthorities.
1279
+ class ListCertificateAuthoritiesResponse
1280
+ include Google::Apis::Core::Hashable
1281
+
1282
+ # The list of CertificateAuthorities.
1283
+ # Corresponds to the JSON property `certificateAuthorities`
1284
+ # @return [Array<Google::Apis::PrivatecaV1beta1::CertificateAuthority>]
1285
+ attr_accessor :certificate_authorities
1286
+
1287
+ # A token to retrieve next page of results. Pass this value in
1288
+ # ListCertificateAuthoritiesRequest.next_page_token to retrieve the next page of
1289
+ # results.
1290
+ # Corresponds to the JSON property `nextPageToken`
1291
+ # @return [String]
1292
+ attr_accessor :next_page_token
1293
+
1294
+ # A list of locations (e.g. "us-west1") that could not be reached.
1295
+ # Corresponds to the JSON property `unreachable`
1296
+ # @return [Array<String>]
1297
+ attr_accessor :unreachable
1298
+
1299
+ def initialize(**args)
1300
+ update!(**args)
1301
+ end
1302
+
1303
+ # Update properties of this object
1304
+ def update!(**args)
1305
+ @certificate_authorities = args[:certificate_authorities] if args.key?(:certificate_authorities)
1306
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1307
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1308
+ end
1309
+ end
1310
+
1311
+ # Response message for CertificateAuthorityService.
1312
+ # ListCertificateRevocationLists.
1313
+ class ListCertificateRevocationListsResponse
1314
+ include Google::Apis::Core::Hashable
1315
+
1316
+ # The list of CertificateRevocationLists.
1317
+ # Corresponds to the JSON property `certificateRevocationLists`
1318
+ # @return [Array<Google::Apis::PrivatecaV1beta1::CertificateRevocationList>]
1319
+ attr_accessor :certificate_revocation_lists
1320
+
1321
+ # A token to retrieve next page of results. Pass this value in
1322
+ # ListCertificateRevocationListsRequest.next_page_token to retrieve the next
1323
+ # page of results.
1324
+ # Corresponds to the JSON property `nextPageToken`
1325
+ # @return [String]
1326
+ attr_accessor :next_page_token
1327
+
1328
+ # A list of locations (e.g. "us-west1") that could not be reached.
1329
+ # Corresponds to the JSON property `unreachable`
1330
+ # @return [Array<String>]
1331
+ attr_accessor :unreachable
1332
+
1333
+ def initialize(**args)
1334
+ update!(**args)
1335
+ end
1336
+
1337
+ # Update properties of this object
1338
+ def update!(**args)
1339
+ @certificate_revocation_lists = args[:certificate_revocation_lists] if args.key?(:certificate_revocation_lists)
1340
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1341
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1342
+ end
1343
+ end
1344
+
1345
+ # Response message for CertificateAuthorityService.ListCertificates.
1346
+ class ListCertificatesResponse
1347
+ include Google::Apis::Core::Hashable
1348
+
1349
+ # The list of Certificates.
1350
+ # Corresponds to the JSON property `certificates`
1351
+ # @return [Array<Google::Apis::PrivatecaV1beta1::Certificate>]
1352
+ attr_accessor :certificates
1353
+
1354
+ # A token to retrieve next page of results. Pass this value in
1355
+ # ListCertificatesRequest.next_page_token to retrieve the next page of results.
1356
+ # Corresponds to the JSON property `nextPageToken`
1357
+ # @return [String]
1358
+ attr_accessor :next_page_token
1359
+
1360
+ # A list of locations (e.g. "us-west1") that could not be reached.
1361
+ # Corresponds to the JSON property `unreachable`
1362
+ # @return [Array<String>]
1363
+ attr_accessor :unreachable
1364
+
1365
+ def initialize(**args)
1366
+ update!(**args)
1367
+ end
1368
+
1369
+ # Update properties of this object
1370
+ def update!(**args)
1371
+ @certificates = args[:certificates] if args.key?(:certificates)
1372
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1373
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1374
+ end
1375
+ end
1376
+
1377
+ # The response message for Locations.ListLocations.
1378
+ class ListLocationsResponse
1379
+ include Google::Apis::Core::Hashable
1380
+
1381
+ # A list of locations that matches the specified filter in the request.
1382
+ # Corresponds to the JSON property `locations`
1383
+ # @return [Array<Google::Apis::PrivatecaV1beta1::Location>]
1384
+ attr_accessor :locations
1385
+
1386
+ # The standard List next-page token.
1387
+ # Corresponds to the JSON property `nextPageToken`
1388
+ # @return [String]
1389
+ attr_accessor :next_page_token
1390
+
1391
+ def initialize(**args)
1392
+ update!(**args)
1393
+ end
1394
+
1395
+ # Update properties of this object
1396
+ def update!(**args)
1397
+ @locations = args[:locations] if args.key?(:locations)
1398
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1399
+ end
1400
+ end
1401
+
1402
+ # The response message for Operations.ListOperations.
1403
+ class ListOperationsResponse
1404
+ include Google::Apis::Core::Hashable
1405
+
1406
+ # The standard List next-page token.
1407
+ # Corresponds to the JSON property `nextPageToken`
1408
+ # @return [String]
1409
+ attr_accessor :next_page_token
1410
+
1411
+ # A list of operations that matches the specified filter in the request.
1412
+ # Corresponds to the JSON property `operations`
1413
+ # @return [Array<Google::Apis::PrivatecaV1beta1::Operation>]
1414
+ attr_accessor :operations
1415
+
1416
+ def initialize(**args)
1417
+ update!(**args)
1418
+ end
1419
+
1420
+ # Update properties of this object
1421
+ def update!(**args)
1422
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1423
+ @operations = args[:operations] if args.key?(:operations)
1424
+ end
1425
+ end
1426
+
1427
+ # Response message for CertificateAuthorityService.ListReusableConfigs.
1428
+ class ListReusableConfigsResponse
1429
+ include Google::Apis::Core::Hashable
1430
+
1431
+ # A token to retrieve next page of results. Pass this value in
1432
+ # ListReusableConfigsRequest.next_page_token to retrieve the next page of
1433
+ # results.
1434
+ # Corresponds to the JSON property `nextPageToken`
1435
+ # @return [String]
1436
+ attr_accessor :next_page_token
1437
+
1438
+ # The list of ReusableConfigs.
1439
+ # Corresponds to the JSON property `reusableConfigs`
1440
+ # @return [Array<Google::Apis::PrivatecaV1beta1::ReusableConfig>]
1441
+ attr_accessor :reusable_configs
1442
+
1443
+ # A list of locations (e.g. "us-west1") that could not be reached.
1444
+ # Corresponds to the JSON property `unreachable`
1445
+ # @return [Array<String>]
1446
+ attr_accessor :unreachable
1447
+
1448
+ def initialize(**args)
1449
+ update!(**args)
1450
+ end
1451
+
1452
+ # Update properties of this object
1453
+ def update!(**args)
1454
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1455
+ @reusable_configs = args[:reusable_configs] if args.key?(:reusable_configs)
1456
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1457
+ end
1458
+ end
1459
+
1460
+ # A resource that represents Google Cloud Platform location.
1461
+ class Location
1462
+ include Google::Apis::Core::Hashable
1463
+
1464
+ # The friendly name for this location, typically a nearby city name. For example,
1465
+ # "Tokyo".
1466
+ # Corresponds to the JSON property `displayName`
1467
+ # @return [String]
1468
+ attr_accessor :display_name
1469
+
1470
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
1471
+ # region": "us-east1"`
1472
+ # Corresponds to the JSON property `labels`
1473
+ # @return [Hash<String,String>]
1474
+ attr_accessor :labels
1475
+
1476
+ # The canonical id for this location. For example: `"us-east1"`.
1477
+ # Corresponds to the JSON property `locationId`
1478
+ # @return [String]
1479
+ attr_accessor :location_id
1480
+
1481
+ # Service-specific metadata. For example the available capacity at the given
1482
+ # location.
1483
+ # Corresponds to the JSON property `metadata`
1484
+ # @return [Hash<String,Object>]
1485
+ attr_accessor :metadata
1486
+
1487
+ # Resource name for the location, which may vary between implementations. For
1488
+ # example: `"projects/example-project/locations/us-east1"`
1489
+ # Corresponds to the JSON property `name`
1490
+ # @return [String]
1491
+ attr_accessor :name
1492
+
1493
+ def initialize(**args)
1494
+ update!(**args)
1495
+ end
1496
+
1497
+ # Update properties of this object
1498
+ def update!(**args)
1499
+ @display_name = args[:display_name] if args.key?(:display_name)
1500
+ @labels = args[:labels] if args.key?(:labels)
1501
+ @location_id = args[:location_id] if args.key?(:location_id)
1502
+ @metadata = args[:metadata] if args.key?(:metadata)
1503
+ @name = args[:name] if args.key?(:name)
1504
+ end
1505
+ end
1506
+
1507
+ # An ObjectId specifies an object identifier (OID). These provide context and
1508
+ # describe types in ASN.1 messages.
1509
+ class ObjectIdProp
1510
+ include Google::Apis::Core::Hashable
1511
+
1512
+ # Required. The parts of an OID path. The most significant parts of the path
1513
+ # come first.
1514
+ # Corresponds to the JSON property `objectIdPath`
1515
+ # @return [Array<Fixnum>]
1516
+ attr_accessor :object_id_path
1517
+
1518
+ def initialize(**args)
1519
+ update!(**args)
1520
+ end
1521
+
1522
+ # Update properties of this object
1523
+ def update!(**args)
1524
+ @object_id_path = args[:object_id_path] if args.key?(:object_id_path)
1525
+ end
1526
+ end
1527
+
1528
+ # This resource represents a long-running operation that is the result of a
1529
+ # network API call.
1530
+ class Operation
1531
+ include Google::Apis::Core::Hashable
1532
+
1533
+ # If the value is `false`, it means the operation is still in progress. If `true`
1534
+ # , the operation is completed, and either `error` or `response` is available.
1535
+ # Corresponds to the JSON property `done`
1536
+ # @return [Boolean]
1537
+ attr_accessor :done
1538
+ alias_method :done?, :done
1539
+
1540
+ # The `Status` type defines a logical error model that is suitable for different
1541
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1542
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1543
+ # data: error code, error message, and error details. You can find out more
1544
+ # about this error model and how to work with it in the [API Design Guide](https:
1545
+ # //cloud.google.com/apis/design/errors).
1546
+ # Corresponds to the JSON property `error`
1547
+ # @return [Google::Apis::PrivatecaV1beta1::Status]
1548
+ attr_accessor :error
1549
+
1550
+ # Service-specific metadata associated with the operation. It typically contains
1551
+ # progress information and common metadata such as create time. Some services
1552
+ # might not provide such metadata. Any method that returns a long-running
1553
+ # operation should document the metadata type, if any.
1554
+ # Corresponds to the JSON property `metadata`
1555
+ # @return [Hash<String,Object>]
1556
+ attr_accessor :metadata
1557
+
1558
+ # The server-assigned name, which is only unique within the same service that
1559
+ # originally returns it. If you use the default HTTP mapping, the `name` should
1560
+ # be a resource name ending with `operations/`unique_id``.
1561
+ # Corresponds to the JSON property `name`
1562
+ # @return [String]
1563
+ attr_accessor :name
1564
+
1565
+ # The normal response of the operation in case of success. If the original
1566
+ # method returns no data on success, such as `Delete`, the response is `google.
1567
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
1568
+ # the response should be the resource. For other methods, the response should
1569
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
1570
+ # example, if the original method name is `TakeSnapshot()`, the inferred
1571
+ # response type is `TakeSnapshotResponse`.
1572
+ # Corresponds to the JSON property `response`
1573
+ # @return [Hash<String,Object>]
1574
+ attr_accessor :response
1575
+
1576
+ def initialize(**args)
1577
+ update!(**args)
1578
+ end
1579
+
1580
+ # Update properties of this object
1581
+ def update!(**args)
1582
+ @done = args[:done] if args.key?(:done)
1583
+ @error = args[:error] if args.key?(:error)
1584
+ @metadata = args[:metadata] if args.key?(:metadata)
1585
+ @name = args[:name] if args.key?(:name)
1586
+ @response = args[:response] if args.key?(:response)
1587
+ end
1588
+ end
1589
+
1590
+ # Represents the metadata of the long-running operation.
1591
+ class OperationMetadata
1592
+ include Google::Apis::Core::Hashable
1593
+
1594
+ # Output only. API version used to start the operation.
1595
+ # Corresponds to the JSON property `apiVersion`
1596
+ # @return [String]
1597
+ attr_accessor :api_version
1598
+
1599
+ # Output only. The time the operation was created.
1600
+ # Corresponds to the JSON property `createTime`
1601
+ # @return [String]
1602
+ attr_accessor :create_time
1603
+
1604
+ # Output only. The time the operation finished running.
1605
+ # Corresponds to the JSON property `endTime`
1606
+ # @return [String]
1607
+ attr_accessor :end_time
1608
+
1609
+ # Output only. Identifies whether the user has requested cancellation of the
1610
+ # operation. Operations that have successfully been cancelled have Operation.
1611
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
1612
+ # CANCELLED`.
1613
+ # Corresponds to the JSON property `requestedCancellation`
1614
+ # @return [Boolean]
1615
+ attr_accessor :requested_cancellation
1616
+ alias_method :requested_cancellation?, :requested_cancellation
1617
+
1618
+ # Output only. Human-readable status of the operation, if any.
1619
+ # Corresponds to the JSON property `statusMessage`
1620
+ # @return [String]
1621
+ attr_accessor :status_message
1622
+
1623
+ # Output only. Server-defined resource path for the target of the operation.
1624
+ # Corresponds to the JSON property `target`
1625
+ # @return [String]
1626
+ attr_accessor :target
1627
+
1628
+ # Output only. Name of the verb executed by the operation.
1629
+ # Corresponds to the JSON property `verb`
1630
+ # @return [String]
1631
+ attr_accessor :verb
1632
+
1633
+ def initialize(**args)
1634
+ update!(**args)
1635
+ end
1636
+
1637
+ # Update properties of this object
1638
+ def update!(**args)
1639
+ @api_version = args[:api_version] if args.key?(:api_version)
1640
+ @create_time = args[:create_time] if args.key?(:create_time)
1641
+ @end_time = args[:end_time] if args.key?(:end_time)
1642
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
1643
+ @status_message = args[:status_message] if args.key?(:status_message)
1644
+ @target = args[:target] if args.key?(:target)
1645
+ @verb = args[:verb] if args.key?(:verb)
1646
+ end
1647
+ end
1648
+
1649
+ # An Identity and Access Management (IAM) policy, which specifies access
1650
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1651
+ # A `binding` binds one or more `members` to a single `role`. Members can be
1652
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
1653
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
1654
+ # role or a user-created custom role. For some types of Google Cloud resources,
1655
+ # a `binding` can also specify a `condition`, which is a logical expression that
1656
+ # allows access to a resource only if the expression evaluates to `true`. A
1657
+ # condition can add constraints based on attributes of the request, the resource,
1658
+ # or both. To learn which resources support conditions in their IAM policies,
1659
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
1660
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
1661
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
1662
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
1663
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
1664
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
1665
+ # title": "expirable access", "description": "Does not grant access after Sep
1666
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
1667
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
1668
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
1669
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
1670
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
1671
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
1672
+ # description: Does not grant access after Sep 2020 expression: request.time <
1673
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
1674
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
1675
+ # google.com/iam/docs/).
1676
+ class Policy
1677
+ include Google::Apis::Core::Hashable
1678
+
1679
+ # Specifies cloud audit logging configuration for this policy.
1680
+ # Corresponds to the JSON property `auditConfigs`
1681
+ # @return [Array<Google::Apis::PrivatecaV1beta1::AuditConfig>]
1682
+ attr_accessor :audit_configs
1683
+
1684
+ # Associates a list of `members` to a `role`. Optionally, may specify a `
1685
+ # condition` that determines how and when the `bindings` are applied. Each of
1686
+ # the `bindings` must contain at least one member.
1687
+ # Corresponds to the JSON property `bindings`
1688
+ # @return [Array<Google::Apis::PrivatecaV1beta1::Binding>]
1689
+ attr_accessor :bindings
1690
+
1691
+ # `etag` is used for optimistic concurrency control as a way to help prevent
1692
+ # simultaneous updates of a policy from overwriting each other. It is strongly
1693
+ # suggested that systems make use of the `etag` in the read-modify-write cycle
1694
+ # to perform policy updates in order to avoid race conditions: An `etag` is
1695
+ # returned in the response to `getIamPolicy`, and systems are expected to put
1696
+ # that etag in the request to `setIamPolicy` to ensure that their change will be
1697
+ # applied to the same version of the policy. **Important:** If you use IAM
1698
+ # Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
1699
+ # If you omit this field, then IAM allows you to overwrite a version `3` policy
1700
+ # with a version `1` policy, and all of the conditions in the version `3` policy
1701
+ # are lost.
1702
+ # Corresponds to the JSON property `etag`
1703
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1704
+ # @return [String]
1705
+ attr_accessor :etag
1706
+
1707
+ # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
1708
+ # Requests that specify an invalid value are rejected. Any operation that
1709
+ # affects conditional role bindings must specify version `3`. This requirement
1710
+ # applies to the following operations: * Getting a policy that includes a
1711
+ # conditional role binding * Adding a conditional role binding to a policy *
1712
+ # Changing a conditional role binding in a policy * Removing any role binding,
1713
+ # with or without a condition, from a policy that includes conditions **
1714
+ # Important:** If you use IAM Conditions, you must include the `etag` field
1715
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
1716
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
1717
+ # conditions in the version `3` policy are lost. If a policy does not include
1718
+ # any conditions, operations on that policy may specify any valid version or
1719
+ # leave the field unset. To learn which resources support conditions in their
1720
+ # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
1721
+ # conditions/resource-policies).
1722
+ # Corresponds to the JSON property `version`
1723
+ # @return [Fixnum]
1724
+ attr_accessor :version
1725
+
1726
+ def initialize(**args)
1727
+ update!(**args)
1728
+ end
1729
+
1730
+ # Update properties of this object
1731
+ def update!(**args)
1732
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1733
+ @bindings = args[:bindings] if args.key?(:bindings)
1734
+ @etag = args[:etag] if args.key?(:etag)
1735
+ @version = args[:version] if args.key?(:version)
1736
+ end
1737
+ end
1738
+
1739
+ # A PublicKey describes a public key.
1740
+ class PublicKey
1741
+ include Google::Apis::Core::Hashable
1742
+
1743
+ # Required. A public key. When this is specified in a request, the padding and
1744
+ # encoding can be any of the options described by the respective 'KeyType' value.
1745
+ # When this is generated by the service, it will always be an RFC 5280 [
1746
+ # SubjectPublicKeyInfo](https://tools.ietf.org/html/rfc5280#section-4.1)
1747
+ # structure containing an algorithm identifier and a key.
1748
+ # Corresponds to the JSON property `key`
1749
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1750
+ # @return [String]
1751
+ attr_accessor :key
1752
+
1753
+ # Required. The type of public key.
1754
+ # Corresponds to the JSON property `type`
1755
+ # @return [String]
1756
+ attr_accessor :type
1757
+
1758
+ def initialize(**args)
1759
+ update!(**args)
1760
+ end
1761
+
1762
+ # Update properties of this object
1763
+ def update!(**args)
1764
+ @key = args[:key] if args.key?(:key)
1765
+ @type = args[:type] if args.key?(:type)
1766
+ end
1767
+ end
1768
+
1769
+ # Request message for CertificateAuthorityService.RestoreCertificateAuthority.
1770
+ class RestoreCertificateAuthorityRequest
1771
+ include Google::Apis::Core::Hashable
1772
+
1773
+ # Optional. An ID to identify requests. Specify a unique request ID so that if
1774
+ # you must retry your request, the server will know to ignore the request if it
1775
+ # has already been completed. The server will guarantee that for at least 60
1776
+ # minutes since the first request. For example, consider a situation where you
1777
+ # make an initial request and t he request times out. If you make the request
1778
+ # again with the same request ID, the server can check if original operation
1779
+ # with the same request ID was received, and if so, will ignore the second
1780
+ # request. This prevents clients from accidentally creating duplicate
1781
+ # commitments. The request ID must be a valid UUID with the exception that zero
1782
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
1783
+ # Corresponds to the JSON property `requestId`
1784
+ # @return [String]
1785
+ attr_accessor :request_id
1786
+
1787
+ def initialize(**args)
1788
+ update!(**args)
1789
+ end
1790
+
1791
+ # Update properties of this object
1792
+ def update!(**args)
1793
+ @request_id = args[:request_id] if args.key?(:request_id)
1794
+ end
1795
+ end
1796
+
1797
+ # A ReusableConfig refers to a managed ReusableConfigValues. Those, in turn, are
1798
+ # used to describe certain fields of an X.509 certificate, such as the key usage
1799
+ # fields, fields specific to CA certificates, certificate policy extensions and
1800
+ # custom extensions.
1801
+ class ReusableConfig
1802
+ include Google::Apis::Core::Hashable
1803
+
1804
+ # Output only. The time at which this ReusableConfig was created.
1805
+ # Corresponds to the JSON property `createTime`
1806
+ # @return [String]
1807
+ attr_accessor :create_time
1808
+
1809
+ # Optional. A human-readable description of scenarios these ReusableConfigValues
1810
+ # may be compatible with.
1811
+ # Corresponds to the JSON property `description`
1812
+ # @return [String]
1813
+ attr_accessor :description
1814
+
1815
+ # Optional. Labels with user-defined metadata.
1816
+ # Corresponds to the JSON property `labels`
1817
+ # @return [Hash<String,String>]
1818
+ attr_accessor :labels
1819
+
1820
+ # Output only. The resource path for this ReusableConfig in the format `projects/
1821
+ # */locations/*/reusableConfigs/*`.
1822
+ # Corresponds to the JSON property `name`
1823
+ # @return [String]
1824
+ attr_accessor :name
1825
+
1826
+ # Output only. The time at which this ReusableConfig was updated.
1827
+ # Corresponds to the JSON property `updateTime`
1828
+ # @return [String]
1829
+ attr_accessor :update_time
1830
+
1831
+ # A ReusableConfigValues is used to describe certain fields of an X.509
1832
+ # certificate, such as the key usage fields, fields specific to CA certificates,
1833
+ # certificate policy extensions and custom extensions.
1834
+ # Corresponds to the JSON property `values`
1835
+ # @return [Google::Apis::PrivatecaV1beta1::ReusableConfigValues]
1836
+ attr_accessor :values
1837
+
1838
+ def initialize(**args)
1839
+ update!(**args)
1840
+ end
1841
+
1842
+ # Update properties of this object
1843
+ def update!(**args)
1844
+ @create_time = args[:create_time] if args.key?(:create_time)
1845
+ @description = args[:description] if args.key?(:description)
1846
+ @labels = args[:labels] if args.key?(:labels)
1847
+ @name = args[:name] if args.key?(:name)
1848
+ @update_time = args[:update_time] if args.key?(:update_time)
1849
+ @values = args[:values] if args.key?(:values)
1850
+ end
1851
+ end
1852
+
1853
+ # A ReusableConfigValues is used to describe certain fields of an X.509
1854
+ # certificate, such as the key usage fields, fields specific to CA certificates,
1855
+ # certificate policy extensions and custom extensions.
1856
+ class ReusableConfigValues
1857
+ include Google::Apis::Core::Hashable
1858
+
1859
+ # Optional. Describes custom X.509 extensions.
1860
+ # Corresponds to the JSON property `additionalExtensions`
1861
+ # @return [Array<Google::Apis::PrivatecaV1beta1::X509Extension>]
1862
+ attr_accessor :additional_extensions
1863
+
1864
+ # Optional. Describes Online Certificate Status Protocol (OCSP) endpoint
1865
+ # addresses that appear in the "Authority Information Access" extension in the
1866
+ # certificate.
1867
+ # Corresponds to the JSON property `aiaOcspServers`
1868
+ # @return [Array<String>]
1869
+ attr_accessor :aia_ocsp_servers
1870
+
1871
+ # Describes values that are relevant in a CA certificate.
1872
+ # Corresponds to the JSON property `caOptions`
1873
+ # @return [Google::Apis::PrivatecaV1beta1::CaOptions]
1874
+ attr_accessor :ca_options
1875
+
1876
+ # A KeyUsage describes key usage values that may appear in an X.509 certificate.
1877
+ # Corresponds to the JSON property `keyUsage`
1878
+ # @return [Google::Apis::PrivatecaV1beta1::KeyUsage]
1879
+ attr_accessor :key_usage
1880
+
1881
+ # Optional. Describes the X.509 certificate policy object identifiers, per https:
1882
+ # //tools.ietf.org/html/rfc5280#section-4.2.1.4.
1883
+ # Corresponds to the JSON property `policyIds`
1884
+ # @return [Array<Google::Apis::PrivatecaV1beta1::ObjectIdProp>]
1885
+ attr_accessor :policy_ids
1886
+
1887
+ def initialize(**args)
1888
+ update!(**args)
1889
+ end
1890
+
1891
+ # Update properties of this object
1892
+ def update!(**args)
1893
+ @additional_extensions = args[:additional_extensions] if args.key?(:additional_extensions)
1894
+ @aia_ocsp_servers = args[:aia_ocsp_servers] if args.key?(:aia_ocsp_servers)
1895
+ @ca_options = args[:ca_options] if args.key?(:ca_options)
1896
+ @key_usage = args[:key_usage] if args.key?(:key_usage)
1897
+ @policy_ids = args[:policy_ids] if args.key?(:policy_ids)
1898
+ end
1899
+ end
1900
+
1901
+ # A ReusableConfigWrapper describes values that may assist in creating an X.509
1902
+ # certificate, or a reference to a pre-defined set of values.
1903
+ class ReusableConfigWrapper
1904
+ include Google::Apis::Core::Hashable
1905
+
1906
+ # Required. A resource path to a ReusableConfig in the format `projects/*/
1907
+ # locations/*/reusableConfigs/*`.
1908
+ # Corresponds to the JSON property `reusableConfig`
1909
+ # @return [String]
1910
+ attr_accessor :reusable_config
1911
+
1912
+ # A ReusableConfigValues is used to describe certain fields of an X.509
1913
+ # certificate, such as the key usage fields, fields specific to CA certificates,
1914
+ # certificate policy extensions and custom extensions.
1915
+ # Corresponds to the JSON property `reusableConfigValues`
1916
+ # @return [Google::Apis::PrivatecaV1beta1::ReusableConfigValues]
1917
+ attr_accessor :reusable_config_values
1918
+
1919
+ def initialize(**args)
1920
+ update!(**args)
1921
+ end
1922
+
1923
+ # Update properties of this object
1924
+ def update!(**args)
1925
+ @reusable_config = args[:reusable_config] if args.key?(:reusable_config)
1926
+ @reusable_config_values = args[:reusable_config_values] if args.key?(:reusable_config_values)
1927
+ end
1928
+ end
1929
+
1930
+ # Describes fields that are relavent to the revocation of a Certificate.
1931
+ class RevocationDetails
1932
+ include Google::Apis::Core::Hashable
1933
+
1934
+ # Indicates why a Certificate was revoked.
1935
+ # Corresponds to the JSON property `revocationState`
1936
+ # @return [String]
1937
+ attr_accessor :revocation_state
1938
+
1939
+ # The time at which this Certificate was revoked.
1940
+ # Corresponds to the JSON property `revocationTime`
1941
+ # @return [String]
1942
+ attr_accessor :revocation_time
1943
+
1944
+ def initialize(**args)
1945
+ update!(**args)
1946
+ end
1947
+
1948
+ # Update properties of this object
1949
+ def update!(**args)
1950
+ @revocation_state = args[:revocation_state] if args.key?(:revocation_state)
1951
+ @revocation_time = args[:revocation_time] if args.key?(:revocation_time)
1952
+ end
1953
+ end
1954
+
1955
+ # Request message for CertificateAuthorityService.RevokeCertificate.
1956
+ class RevokeCertificateRequest
1957
+ include Google::Apis::Core::Hashable
1958
+
1959
+ # Required. The RevocationReason for revoking this certificate.
1960
+ # Corresponds to the JSON property `reason`
1961
+ # @return [String]
1962
+ attr_accessor :reason
1963
+
1964
+ # Optional. An ID to identify requests. Specify a unique request ID so that if
1965
+ # you must retry your request, the server will know to ignore the request if it
1966
+ # has already been completed. The server will guarantee that for at least 60
1967
+ # minutes since the first request. For example, consider a situation where you
1968
+ # make an initial request and t he request times out. If you make the request
1969
+ # again with the same request ID, the server can check if original operation
1970
+ # with the same request ID was received, and if so, will ignore the second
1971
+ # request. This prevents clients from accidentally creating duplicate
1972
+ # commitments. The request ID must be a valid UUID with the exception that zero
1973
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
1974
+ # Corresponds to the JSON property `requestId`
1975
+ # @return [String]
1976
+ attr_accessor :request_id
1977
+
1978
+ def initialize(**args)
1979
+ update!(**args)
1980
+ end
1981
+
1982
+ # Update properties of this object
1983
+ def update!(**args)
1984
+ @reason = args[:reason] if args.key?(:reason)
1985
+ @request_id = args[:request_id] if args.key?(:request_id)
1986
+ end
1987
+ end
1988
+
1989
+ # Describes a revoked Certificate.
1990
+ class RevokedCertificate
1991
+ include Google::Apis::Core::Hashable
1992
+
1993
+ # The resource path for the Certificate in the format `projects/*/locations/*/
1994
+ # certificateAuthorities/*/certificates/*`.
1995
+ # Corresponds to the JSON property `certificate`
1996
+ # @return [String]
1997
+ attr_accessor :certificate
1998
+
1999
+ # The serial number of the Certificate.
2000
+ # Corresponds to the JSON property `hexSerialNumber`
2001
+ # @return [String]
2002
+ attr_accessor :hex_serial_number
2003
+
2004
+ # The reason the Certificate was revoked.
2005
+ # Corresponds to the JSON property `revocationReason`
2006
+ # @return [String]
2007
+ attr_accessor :revocation_reason
2008
+
2009
+ def initialize(**args)
2010
+ update!(**args)
2011
+ end
2012
+
2013
+ # Update properties of this object
2014
+ def update!(**args)
2015
+ @certificate = args[:certificate] if args.key?(:certificate)
2016
+ @hex_serial_number = args[:hex_serial_number] if args.key?(:hex_serial_number)
2017
+ @revocation_reason = args[:revocation_reason] if args.key?(:revocation_reason)
2018
+ end
2019
+ end
2020
+
2021
+ # Request message for CertificateAuthorityService.
2022
+ # ScheduleDeleteCertificateAuthority.
2023
+ class ScheduleDeleteCertificateAuthorityRequest
2024
+ include Google::Apis::Core::Hashable
2025
+
2026
+ # Optional. An ID to identify requests. Specify a unique request ID so that if
2027
+ # you must retry your request, the server will know to ignore the request if it
2028
+ # has already been completed. The server will guarantee that for at least 60
2029
+ # minutes since the first request. For example, consider a situation where you
2030
+ # make an initial request and t he request times out. If you make the request
2031
+ # again with the same request ID, the server can check if original operation
2032
+ # with the same request ID was received, and if so, will ignore the second
2033
+ # request. This prevents clients from accidentally creating duplicate
2034
+ # commitments. The request ID must be a valid UUID with the exception that zero
2035
+ # UUID is not supported (00000000-0000-0000-0000-000000000000).
2036
+ # Corresponds to the JSON property `requestId`
2037
+ # @return [String]
2038
+ attr_accessor :request_id
2039
+
2040
+ def initialize(**args)
2041
+ update!(**args)
2042
+ end
2043
+
2044
+ # Update properties of this object
2045
+ def update!(**args)
2046
+ @request_id = args[:request_id] if args.key?(:request_id)
2047
+ end
2048
+ end
2049
+
2050
+ # Request message for `SetIamPolicy` method.
2051
+ class SetIamPolicyRequest
2052
+ include Google::Apis::Core::Hashable
2053
+
2054
+ # An Identity and Access Management (IAM) policy, which specifies access
2055
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
2056
+ # A `binding` binds one or more `members` to a single `role`. Members can be
2057
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
2058
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
2059
+ # role or a user-created custom role. For some types of Google Cloud resources,
2060
+ # a `binding` can also specify a `condition`, which is a logical expression that
2061
+ # allows access to a resource only if the expression evaluates to `true`. A
2062
+ # condition can add constraints based on attributes of the request, the resource,
2063
+ # or both. To learn which resources support conditions in their IAM policies,
2064
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
2065
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
2066
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
2067
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
2068
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
2069
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
2070
+ # title": "expirable access", "description": "Does not grant access after Sep
2071
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
2072
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
2073
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
2074
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
2075
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
2076
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
2077
+ # description: Does not grant access after Sep 2020 expression: request.time <
2078
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
2079
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
2080
+ # google.com/iam/docs/).
2081
+ # Corresponds to the JSON property `policy`
2082
+ # @return [Google::Apis::PrivatecaV1beta1::Policy]
2083
+ attr_accessor :policy
2084
+
2085
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
2086
+ # the fields in the mask will be modified. If no mask is provided, the following
2087
+ # default mask is used: `paths: "bindings, etag"`
2088
+ # Corresponds to the JSON property `updateMask`
2089
+ # @return [String]
2090
+ attr_accessor :update_mask
2091
+
2092
+ def initialize(**args)
2093
+ update!(**args)
2094
+ end
2095
+
2096
+ # Update properties of this object
2097
+ def update!(**args)
2098
+ @policy = args[:policy] if args.key?(:policy)
2099
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
2100
+ end
2101
+ end
2102
+
2103
+ # The `Status` type defines a logical error model that is suitable for different
2104
+ # programming environments, including REST APIs and RPC APIs. It is used by [
2105
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
2106
+ # data: error code, error message, and error details. You can find out more
2107
+ # about this error model and how to work with it in the [API Design Guide](https:
2108
+ # //cloud.google.com/apis/design/errors).
2109
+ class Status
2110
+ include Google::Apis::Core::Hashable
2111
+
2112
+ # The status code, which should be an enum value of google.rpc.Code.
2113
+ # Corresponds to the JSON property `code`
2114
+ # @return [Fixnum]
2115
+ attr_accessor :code
2116
+
2117
+ # A list of messages that carry the error details. There is a common set of
2118
+ # message types for APIs to use.
2119
+ # Corresponds to the JSON property `details`
2120
+ # @return [Array<Hash<String,Object>>]
2121
+ attr_accessor :details
2122
+
2123
+ # A developer-facing error message, which should be in English. Any user-facing
2124
+ # error message should be localized and sent in the google.rpc.Status.details
2125
+ # field, or localized by the client.
2126
+ # Corresponds to the JSON property `message`
2127
+ # @return [String]
2128
+ attr_accessor :message
2129
+
2130
+ def initialize(**args)
2131
+ update!(**args)
2132
+ end
2133
+
2134
+ # Update properties of this object
2135
+ def update!(**args)
2136
+ @code = args[:code] if args.key?(:code)
2137
+ @details = args[:details] if args.key?(:details)
2138
+ @message = args[:message] if args.key?(:message)
2139
+ end
2140
+ end
2141
+
2142
+ # Subject describes parts of a distinguished name that, in turn, describes the
2143
+ # subject of the certificate.
2144
+ class Subject
2145
+ include Google::Apis::Core::Hashable
2146
+
2147
+ # The country code of the subject.
2148
+ # Corresponds to the JSON property `countryCode`
2149
+ # @return [String]
2150
+ attr_accessor :country_code
2151
+
2152
+ # The locality or city of the subject.
2153
+ # Corresponds to the JSON property `locality`
2154
+ # @return [String]
2155
+ attr_accessor :locality
2156
+
2157
+ # The organization of the subject.
2158
+ # Corresponds to the JSON property `organization`
2159
+ # @return [String]
2160
+ attr_accessor :organization
2161
+
2162
+ # The organizational_unit of the subject.
2163
+ # Corresponds to the JSON property `organizationalUnit`
2164
+ # @return [String]
2165
+ attr_accessor :organizational_unit
2166
+
2167
+ # The postal code of the subject.
2168
+ # Corresponds to the JSON property `postalCode`
2169
+ # @return [String]
2170
+ attr_accessor :postal_code
2171
+
2172
+ # The province, territory, or regional state of the subject.
2173
+ # Corresponds to the JSON property `province`
2174
+ # @return [String]
2175
+ attr_accessor :province
2176
+
2177
+ # The street address of the subject.
2178
+ # Corresponds to the JSON property `streetAddress`
2179
+ # @return [String]
2180
+ attr_accessor :street_address
2181
+
2182
+ def initialize(**args)
2183
+ update!(**args)
2184
+ end
2185
+
2186
+ # Update properties of this object
2187
+ def update!(**args)
2188
+ @country_code = args[:country_code] if args.key?(:country_code)
2189
+ @locality = args[:locality] if args.key?(:locality)
2190
+ @organization = args[:organization] if args.key?(:organization)
2191
+ @organizational_unit = args[:organizational_unit] if args.key?(:organizational_unit)
2192
+ @postal_code = args[:postal_code] if args.key?(:postal_code)
2193
+ @province = args[:province] if args.key?(:province)
2194
+ @street_address = args[:street_address] if args.key?(:street_address)
2195
+ end
2196
+ end
2197
+
2198
+ # SubjectAltNames corresponds to a more modern way of listing what the asserted
2199
+ # identity is in a certificate (i.e., compared to the "common name" in the
2200
+ # distinguished name).
2201
+ class SubjectAltNames
2202
+ include Google::Apis::Core::Hashable
2203
+
2204
+ # Contains additional subject alternative name values.
2205
+ # Corresponds to the JSON property `customSans`
2206
+ # @return [Array<Google::Apis::PrivatecaV1beta1::X509Extension>]
2207
+ attr_accessor :custom_sans
2208
+
2209
+ # Contains only valid, fully-qualified host names.
2210
+ # Corresponds to the JSON property `dnsNames`
2211
+ # @return [Array<String>]
2212
+ attr_accessor :dns_names
2213
+
2214
+ # Contains only valid RFC 2822 E-mail addresses.
2215
+ # Corresponds to the JSON property `emailAddresses`
2216
+ # @return [Array<String>]
2217
+ attr_accessor :email_addresses
2218
+
2219
+ # Contains only valid 32-bit IPv4 addresses or RFC 4291 IPv6 addresses.
2220
+ # Corresponds to the JSON property `ipAddresses`
2221
+ # @return [Array<String>]
2222
+ attr_accessor :ip_addresses
2223
+
2224
+ # Contains only valid RFC 3986 URIs.
2225
+ # Corresponds to the JSON property `uris`
2226
+ # @return [Array<String>]
2227
+ attr_accessor :uris
2228
+
2229
+ def initialize(**args)
2230
+ update!(**args)
2231
+ end
2232
+
2233
+ # Update properties of this object
2234
+ def update!(**args)
2235
+ @custom_sans = args[:custom_sans] if args.key?(:custom_sans)
2236
+ @dns_names = args[:dns_names] if args.key?(:dns_names)
2237
+ @email_addresses = args[:email_addresses] if args.key?(:email_addresses)
2238
+ @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
2239
+ @uris = args[:uris] if args.key?(:uris)
2240
+ end
2241
+ end
2242
+
2243
+ # These values are used to create the distinguished name and subject alternative
2244
+ # name fields in an X.509 certificate.
2245
+ class SubjectConfig
2246
+ include Google::Apis::Core::Hashable
2247
+
2248
+ # Optional. The "common name" of the distinguished name.
2249
+ # Corresponds to the JSON property `commonName`
2250
+ # @return [String]
2251
+ attr_accessor :common_name
2252
+
2253
+ # Subject describes parts of a distinguished name that, in turn, describes the
2254
+ # subject of the certificate.
2255
+ # Corresponds to the JSON property `subject`
2256
+ # @return [Google::Apis::PrivatecaV1beta1::Subject]
2257
+ attr_accessor :subject
2258
+
2259
+ # SubjectAltNames corresponds to a more modern way of listing what the asserted
2260
+ # identity is in a certificate (i.e., compared to the "common name" in the
2261
+ # distinguished name).
2262
+ # Corresponds to the JSON property `subjectAltName`
2263
+ # @return [Google::Apis::PrivatecaV1beta1::SubjectAltNames]
2264
+ attr_accessor :subject_alt_name
2265
+
2266
+ def initialize(**args)
2267
+ update!(**args)
2268
+ end
2269
+
2270
+ # Update properties of this object
2271
+ def update!(**args)
2272
+ @common_name = args[:common_name] if args.key?(:common_name)
2273
+ @subject = args[:subject] if args.key?(:subject)
2274
+ @subject_alt_name = args[:subject_alt_name] if args.key?(:subject_alt_name)
2275
+ end
2276
+ end
2277
+
2278
+ # These values describe fields in an issued X.509 certificate such as the
2279
+ # distinguished name, subject alternative names, serial number, and lifetime.
2280
+ class SubjectDescription
2281
+ include Google::Apis::Core::Hashable
2282
+
2283
+ # The "common name" of the distinguished name.
2284
+ # Corresponds to the JSON property `commonName`
2285
+ # @return [String]
2286
+ attr_accessor :common_name
2287
+
2288
+ # The serial number encoded in lowercase hexadecimal.
2289
+ # Corresponds to the JSON property `hexSerialNumber`
2290
+ # @return [String]
2291
+ attr_accessor :hex_serial_number
2292
+
2293
+ # For convenience, the actual lifetime of an issued certificate. Corresponds to '
2294
+ # not_after_time' - 'not_before_time'.
2295
+ # Corresponds to the JSON property `lifetime`
2296
+ # @return [String]
2297
+ attr_accessor :lifetime
2298
+
2299
+ # The time at which the certificate expires.
2300
+ # Corresponds to the JSON property `notAfterTime`
2301
+ # @return [String]
2302
+ attr_accessor :not_after_time
2303
+
2304
+ # The time at which the certificate becomes valid.
2305
+ # Corresponds to the JSON property `notBeforeTime`
2306
+ # @return [String]
2307
+ attr_accessor :not_before_time
2308
+
2309
+ # Subject describes parts of a distinguished name that, in turn, describes the
2310
+ # subject of the certificate.
2311
+ # Corresponds to the JSON property `subject`
2312
+ # @return [Google::Apis::PrivatecaV1beta1::Subject]
2313
+ attr_accessor :subject
2314
+
2315
+ # SubjectAltNames corresponds to a more modern way of listing what the asserted
2316
+ # identity is in a certificate (i.e., compared to the "common name" in the
2317
+ # distinguished name).
2318
+ # Corresponds to the JSON property `subjectAltName`
2319
+ # @return [Google::Apis::PrivatecaV1beta1::SubjectAltNames]
2320
+ attr_accessor :subject_alt_name
2321
+
2322
+ def initialize(**args)
2323
+ update!(**args)
2324
+ end
2325
+
2326
+ # Update properties of this object
2327
+ def update!(**args)
2328
+ @common_name = args[:common_name] if args.key?(:common_name)
2329
+ @hex_serial_number = args[:hex_serial_number] if args.key?(:hex_serial_number)
2330
+ @lifetime = args[:lifetime] if args.key?(:lifetime)
2331
+ @not_after_time = args[:not_after_time] if args.key?(:not_after_time)
2332
+ @not_before_time = args[:not_before_time] if args.key?(:not_before_time)
2333
+ @subject = args[:subject] if args.key?(:subject)
2334
+ @subject_alt_name = args[:subject_alt_name] if args.key?(:subject_alt_name)
2335
+ end
2336
+ end
2337
+
2338
+ # Describes a subordinate CA's issuers. This is either a resource path to a
2339
+ # known issuing CertificateAuthority, or a PEM issuer certificate chain.
2340
+ class SubordinateConfig
2341
+ include Google::Apis::Core::Hashable
2342
+
2343
+ # Required. This can refer to a CertificateAuthority in the same project that
2344
+ # was used to create a subordinate CertificateAuthority. This field is used for
2345
+ # information and usability purposes only. The resource name is in the format `
2346
+ # projects/*/locations/*/certificateAuthorities/*`.
2347
+ # Corresponds to the JSON property `certificateAuthority`
2348
+ # @return [String]
2349
+ attr_accessor :certificate_authority
2350
+
2351
+ # This message describes a subordinate CA's issuer certificate chain. This
2352
+ # wrapper exists for compatibility reasons.
2353
+ # Corresponds to the JSON property `pemIssuerChain`
2354
+ # @return [Google::Apis::PrivatecaV1beta1::SubordinateConfigChain]
2355
+ attr_accessor :pem_issuer_chain
2356
+
2357
+ def initialize(**args)
2358
+ update!(**args)
2359
+ end
2360
+
2361
+ # Update properties of this object
2362
+ def update!(**args)
2363
+ @certificate_authority = args[:certificate_authority] if args.key?(:certificate_authority)
2364
+ @pem_issuer_chain = args[:pem_issuer_chain] if args.key?(:pem_issuer_chain)
2365
+ end
2366
+ end
2367
+
2368
+ # This message describes a subordinate CA's issuer certificate chain. This
2369
+ # wrapper exists for compatibility reasons.
2370
+ class SubordinateConfigChain
2371
+ include Google::Apis::Core::Hashable
2372
+
2373
+ # Required. Expected to be in leaf-to-root order according to RFC 5246.
2374
+ # Corresponds to the JSON property `pemCertificates`
2375
+ # @return [Array<String>]
2376
+ attr_accessor :pem_certificates
2377
+
2378
+ def initialize(**args)
2379
+ update!(**args)
2380
+ end
2381
+
2382
+ # Update properties of this object
2383
+ def update!(**args)
2384
+ @pem_certificates = args[:pem_certificates] if args.key?(:pem_certificates)
2385
+ end
2386
+ end
2387
+
2388
+ # Request message for `TestIamPermissions` method.
2389
+ class TestIamPermissionsRequest
2390
+ include Google::Apis::Core::Hashable
2391
+
2392
+ # The set of permissions to check for the `resource`. Permissions with wildcards
2393
+ # (such as '*' or 'storage.*') are not allowed. For more information see [IAM
2394
+ # Overview](https://cloud.google.com/iam/docs/overview#permissions).
2395
+ # Corresponds to the JSON property `permissions`
2396
+ # @return [Array<String>]
2397
+ attr_accessor :permissions
2398
+
2399
+ def initialize(**args)
2400
+ update!(**args)
2401
+ end
2402
+
2403
+ # Update properties of this object
2404
+ def update!(**args)
2405
+ @permissions = args[:permissions] if args.key?(:permissions)
2406
+ end
2407
+ end
2408
+
2409
+ # Response message for `TestIamPermissions` method.
2410
+ class TestIamPermissionsResponse
2411
+ include Google::Apis::Core::Hashable
2412
+
2413
+ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
2414
+ # Corresponds to the JSON property `permissions`
2415
+ # @return [Array<String>]
2416
+ attr_accessor :permissions
2417
+
2418
+ def initialize(**args)
2419
+ update!(**args)
2420
+ end
2421
+
2422
+ # Update properties of this object
2423
+ def update!(**args)
2424
+ @permissions = args[:permissions] if args.key?(:permissions)
2425
+ end
2426
+ end
2427
+
2428
+ # An X509Extension specifies an X.509 extension, which may be used in different
2429
+ # parts of X.509 objects like certificates, CSRs, and CRLs.
2430
+ class X509Extension
2431
+ include Google::Apis::Core::Hashable
2432
+
2433
+ # Required. Indicates whether or not this extension is critical (i.e., if the
2434
+ # client does not know how to handle this extension, the client should consider
2435
+ # this to be an error).
2436
+ # Corresponds to the JSON property `critical`
2437
+ # @return [Boolean]
2438
+ attr_accessor :critical
2439
+ alias_method :critical?, :critical
2440
+
2441
+ # An ObjectId specifies an object identifier (OID). These provide context and
2442
+ # describe types in ASN.1 messages.
2443
+ # Corresponds to the JSON property `objectId`
2444
+ # @return [Google::Apis::PrivatecaV1beta1::ObjectIdProp]
2445
+ attr_accessor :object_id_prop
2446
+
2447
+ # Required. The value of this X.509 extension.
2448
+ # Corresponds to the JSON property `value`
2449
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
2450
+ # @return [String]
2451
+ attr_accessor :value
2452
+
2453
+ def initialize(**args)
2454
+ update!(**args)
2455
+ end
2456
+
2457
+ # Update properties of this object
2458
+ def update!(**args)
2459
+ @critical = args[:critical] if args.key?(:critical)
2460
+ @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop)
2461
+ @value = args[:value] if args.key?(:value)
2462
+ end
2463
+ end
2464
+ end
2465
+ end
2466
+ end