google-cloud-secret_manager-v1beta1 0.12.1 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9346bd73c88a7a27e171f4a5955aad25cdde37c7d352ec5aac66b688b0b3448b
4
- data.tar.gz: 51579b9c7246ef45f91e4587b23b60a1a7e1eb605c9b3f2b019daad25465e897
3
+ metadata.gz: f8c49e97e7601d1f4df26ad1fc72f03e576cc6abff102d74d9675faf3e312789
4
+ data.tar.gz: c3a5bf77fbef0d5f72eaa4ff388f8579a877c379ae3c4d757ea439af87b914e5
5
5
  SHA512:
6
- metadata.gz: c69d05022089e4a8ad8bbe725bf9717073035a8dc67960bfaea87c58f21e11b4cf5fa9c4f8933dede65e73d5885efd7b8f48cf58cd5b37ecf4871f48eb6593dd
7
- data.tar.gz: 681728c85851be18c198a53a23c2d06e00e06723cb485a57abd9499341113217cfa610e523efd279ca4f757527f21e87c7cd67107f3ea64aafef9a65096757d7
6
+ metadata.gz: 73148ad5b6a35d4850bc7f238cca1e373fa86c11647900e9b9cff2607ca499604ee19e7bcadce3ed98099f8ff16416ea7270860ba6a84022fec8ab08bc6f10d6
7
+ data.tar.gz: 677573d9113b0257f4d28c9b9815f3807b6bee17b994a0380409a37c69fe43d6045c6794331c0f0e6d1bb7d81ad1c3404eb6f2a19460e1bab089b9d0691cd0af
@@ -177,7 +177,8 @@ module Google
177
177
  credentials: credentials,
178
178
  endpoint: @config.endpoint,
179
179
  channel_args: @config.channel_args,
180
- interceptors: @config.interceptors
180
+ interceptors: @config.interceptors,
181
+ channel_pool_config: @config.channel_pool
181
182
  )
182
183
  end
183
184
 
@@ -1677,6 +1678,14 @@ module Google
1677
1678
  end
1678
1679
  end
1679
1680
 
1681
+ ##
1682
+ # Configuration for the channel pool
1683
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
1684
+ #
1685
+ def channel_pool
1686
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
1687
+ end
1688
+
1680
1689
  ##
1681
1690
  # Configuration RPC class for the SecretManagerService API.
1682
1691
  #
@@ -209,6 +209,26 @@ module Google
209
209
  # @return [::Gapic::Rest::PagedEnumerable<::Google::Cloud::SecretManager::V1beta1::Secret>]
210
210
  #
211
211
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
212
+ #
213
+ # @example Basic example
214
+ # require "google/cloud/secret_manager/v1beta1"
215
+ #
216
+ # # Create a client object. The client can be reused for multiple calls.
217
+ # client = Google::Cloud::SecretManager::V1beta1::SecretManagerService::Rest::Client.new
218
+ #
219
+ # # Create a request. To set request fields, pass in keyword arguments.
220
+ # request = Google::Cloud::SecretManager::V1beta1::ListSecretsRequest.new
221
+ #
222
+ # # Call the list_secrets method.
223
+ # result = client.list_secrets request
224
+ #
225
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
226
+ # # over elements, and API calls will be issued to fetch pages as needed.
227
+ # result.each do |item|
228
+ # # Each element is of type ::Google::Cloud::SecretManager::V1beta1::Secret.
229
+ # p item
230
+ # end
231
+ #
212
232
  def list_secrets request, options = nil
213
233
  raise ::ArgumentError, "request must be provided" if request.nil?
214
234
 
@@ -281,6 +301,22 @@ module Google
281
301
  # @return [::Google::Cloud::SecretManager::V1beta1::Secret]
282
302
  #
283
303
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
304
+ #
305
+ # @example Basic example
306
+ # require "google/cloud/secret_manager/v1beta1"
307
+ #
308
+ # # Create a client object. The client can be reused for multiple calls.
309
+ # client = Google::Cloud::SecretManager::V1beta1::SecretManagerService::Rest::Client.new
310
+ #
311
+ # # Create a request. To set request fields, pass in keyword arguments.
312
+ # request = Google::Cloud::SecretManager::V1beta1::CreateSecretRequest.new
313
+ #
314
+ # # Call the create_secret method.
315
+ # result = client.create_secret request
316
+ #
317
+ # # The returned object is of type Google::Cloud::SecretManager::V1beta1::Secret.
318
+ # p result
319
+ #
284
320
  def create_secret request, options = nil
285
321
  raise ::ArgumentError, "request must be provided" if request.nil?
286
322
 
@@ -347,6 +383,22 @@ module Google
347
383
  # @return [::Google::Cloud::SecretManager::V1beta1::SecretVersion]
348
384
  #
349
385
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
386
+ #
387
+ # @example Basic example
388
+ # require "google/cloud/secret_manager/v1beta1"
389
+ #
390
+ # # Create a client object. The client can be reused for multiple calls.
391
+ # client = Google::Cloud::SecretManager::V1beta1::SecretManagerService::Rest::Client.new
392
+ #
393
+ # # Create a request. To set request fields, pass in keyword arguments.
394
+ # request = Google::Cloud::SecretManager::V1beta1::AddSecretVersionRequest.new
395
+ #
396
+ # # Call the add_secret_version method.
397
+ # result = client.add_secret_version request
398
+ #
399
+ # # The returned object is of type Google::Cloud::SecretManager::V1beta1::SecretVersion.
400
+ # p result
401
+ #
350
402
  def add_secret_version request, options = nil
351
403
  raise ::ArgumentError, "request must be provided" if request.nil?
352
404
 
@@ -409,6 +461,22 @@ module Google
409
461
  # @return [::Google::Cloud::SecretManager::V1beta1::Secret]
410
462
  #
411
463
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
464
+ #
465
+ # @example Basic example
466
+ # require "google/cloud/secret_manager/v1beta1"
467
+ #
468
+ # # Create a client object. The client can be reused for multiple calls.
469
+ # client = Google::Cloud::SecretManager::V1beta1::SecretManagerService::Rest::Client.new
470
+ #
471
+ # # Create a request. To set request fields, pass in keyword arguments.
472
+ # request = Google::Cloud::SecretManager::V1beta1::GetSecretRequest.new
473
+ #
474
+ # # Call the get_secret method.
475
+ # result = client.get_secret request
476
+ #
477
+ # # The returned object is of type Google::Cloud::SecretManager::V1beta1::Secret.
478
+ # p result
479
+ #
412
480
  def get_secret request, options = nil
413
481
  raise ::ArgumentError, "request must be provided" if request.nil?
414
482
 
@@ -473,6 +541,22 @@ module Google
473
541
  # @return [::Google::Cloud::SecretManager::V1beta1::Secret]
474
542
  #
475
543
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
544
+ #
545
+ # @example Basic example
546
+ # require "google/cloud/secret_manager/v1beta1"
547
+ #
548
+ # # Create a client object. The client can be reused for multiple calls.
549
+ # client = Google::Cloud::SecretManager::V1beta1::SecretManagerService::Rest::Client.new
550
+ #
551
+ # # Create a request. To set request fields, pass in keyword arguments.
552
+ # request = Google::Cloud::SecretManager::V1beta1::UpdateSecretRequest.new
553
+ #
554
+ # # Call the update_secret method.
555
+ # result = client.update_secret request
556
+ #
557
+ # # The returned object is of type Google::Cloud::SecretManager::V1beta1::Secret.
558
+ # p result
559
+ #
476
560
  def update_secret request, options = nil
477
561
  raise ::ArgumentError, "request must be provided" if request.nil?
478
562
 
@@ -536,6 +620,22 @@ module Google
536
620
  # @return [::Google::Protobuf::Empty]
537
621
  #
538
622
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
623
+ #
624
+ # @example Basic example
625
+ # require "google/cloud/secret_manager/v1beta1"
626
+ #
627
+ # # Create a client object. The client can be reused for multiple calls.
628
+ # client = Google::Cloud::SecretManager::V1beta1::SecretManagerService::Rest::Client.new
629
+ #
630
+ # # Create a request. To set request fields, pass in keyword arguments.
631
+ # request = Google::Cloud::SecretManager::V1beta1::DeleteSecretRequest.new
632
+ #
633
+ # # Call the delete_secret method.
634
+ # result = client.delete_secret request
635
+ #
636
+ # # The returned object is of type Google::Protobuf::Empty.
637
+ # p result
638
+ #
539
639
  def delete_secret request, options = nil
540
640
  raise ::ArgumentError, "request must be provided" if request.nil?
541
641
 
@@ -608,6 +708,26 @@ module Google
608
708
  # @return [::Gapic::Rest::PagedEnumerable<::Google::Cloud::SecretManager::V1beta1::SecretVersion>]
609
709
  #
610
710
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
711
+ #
712
+ # @example Basic example
713
+ # require "google/cloud/secret_manager/v1beta1"
714
+ #
715
+ # # Create a client object. The client can be reused for multiple calls.
716
+ # client = Google::Cloud::SecretManager::V1beta1::SecretManagerService::Rest::Client.new
717
+ #
718
+ # # Create a request. To set request fields, pass in keyword arguments.
719
+ # request = Google::Cloud::SecretManager::V1beta1::ListSecretVersionsRequest.new
720
+ #
721
+ # # Call the list_secret_versions method.
722
+ # result = client.list_secret_versions request
723
+ #
724
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
725
+ # # over elements, and API calls will be issued to fetch pages as needed.
726
+ # result.each do |item|
727
+ # # Each element is of type ::Google::Cloud::SecretManager::V1beta1::SecretVersion.
728
+ # p item
729
+ # end
730
+ #
611
731
  def list_secret_versions request, options = nil
612
732
  raise ::ArgumentError, "request must be provided" if request.nil?
613
733
 
@@ -677,6 +797,22 @@ module Google
677
797
  # @return [::Google::Cloud::SecretManager::V1beta1::SecretVersion]
678
798
  #
679
799
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
800
+ #
801
+ # @example Basic example
802
+ # require "google/cloud/secret_manager/v1beta1"
803
+ #
804
+ # # Create a client object. The client can be reused for multiple calls.
805
+ # client = Google::Cloud::SecretManager::V1beta1::SecretManagerService::Rest::Client.new
806
+ #
807
+ # # Create a request. To set request fields, pass in keyword arguments.
808
+ # request = Google::Cloud::SecretManager::V1beta1::GetSecretVersionRequest.new
809
+ #
810
+ # # Call the get_secret_version method.
811
+ # result = client.get_secret_version request
812
+ #
813
+ # # The returned object is of type Google::Cloud::SecretManager::V1beta1::SecretVersion.
814
+ # p result
815
+ #
680
816
  def get_secret_version request, options = nil
681
817
  raise ::ArgumentError, "request must be provided" if request.nil?
682
818
 
@@ -743,6 +879,22 @@ module Google
743
879
  # @return [::Google::Cloud::SecretManager::V1beta1::AccessSecretVersionResponse]
744
880
  #
745
881
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
882
+ #
883
+ # @example Basic example
884
+ # require "google/cloud/secret_manager/v1beta1"
885
+ #
886
+ # # Create a client object. The client can be reused for multiple calls.
887
+ # client = Google::Cloud::SecretManager::V1beta1::SecretManagerService::Rest::Client.new
888
+ #
889
+ # # Create a request. To set request fields, pass in keyword arguments.
890
+ # request = Google::Cloud::SecretManager::V1beta1::AccessSecretVersionRequest.new
891
+ #
892
+ # # Call the access_secret_version method.
893
+ # result = client.access_secret_version request
894
+ #
895
+ # # The returned object is of type Google::Cloud::SecretManager::V1beta1::AccessSecretVersionResponse.
896
+ # p result
897
+ #
746
898
  def access_secret_version request, options = nil
747
899
  raise ::ArgumentError, "request must be provided" if request.nil?
748
900
 
@@ -809,6 +961,22 @@ module Google
809
961
  # @return [::Google::Cloud::SecretManager::V1beta1::SecretVersion]
810
962
  #
811
963
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
964
+ #
965
+ # @example Basic example
966
+ # require "google/cloud/secret_manager/v1beta1"
967
+ #
968
+ # # Create a client object. The client can be reused for multiple calls.
969
+ # client = Google::Cloud::SecretManager::V1beta1::SecretManagerService::Rest::Client.new
970
+ #
971
+ # # Create a request. To set request fields, pass in keyword arguments.
972
+ # request = Google::Cloud::SecretManager::V1beta1::DisableSecretVersionRequest.new
973
+ #
974
+ # # Call the disable_secret_version method.
975
+ # result = client.disable_secret_version request
976
+ #
977
+ # # The returned object is of type Google::Cloud::SecretManager::V1beta1::SecretVersion.
978
+ # p result
979
+ #
812
980
  def disable_secret_version request, options = nil
813
981
  raise ::ArgumentError, "request must be provided" if request.nil?
814
982
 
@@ -875,6 +1043,22 @@ module Google
875
1043
  # @return [::Google::Cloud::SecretManager::V1beta1::SecretVersion]
876
1044
  #
877
1045
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
1046
+ #
1047
+ # @example Basic example
1048
+ # require "google/cloud/secret_manager/v1beta1"
1049
+ #
1050
+ # # Create a client object. The client can be reused for multiple calls.
1051
+ # client = Google::Cloud::SecretManager::V1beta1::SecretManagerService::Rest::Client.new
1052
+ #
1053
+ # # Create a request. To set request fields, pass in keyword arguments.
1054
+ # request = Google::Cloud::SecretManager::V1beta1::EnableSecretVersionRequest.new
1055
+ #
1056
+ # # Call the enable_secret_version method.
1057
+ # result = client.enable_secret_version request
1058
+ #
1059
+ # # The returned object is of type Google::Cloud::SecretManager::V1beta1::SecretVersion.
1060
+ # p result
1061
+ #
878
1062
  def enable_secret_version request, options = nil
879
1063
  raise ::ArgumentError, "request must be provided" if request.nil?
880
1064
 
@@ -942,6 +1126,22 @@ module Google
942
1126
  # @return [::Google::Cloud::SecretManager::V1beta1::SecretVersion]
943
1127
  #
944
1128
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
1129
+ #
1130
+ # @example Basic example
1131
+ # require "google/cloud/secret_manager/v1beta1"
1132
+ #
1133
+ # # Create a client object. The client can be reused for multiple calls.
1134
+ # client = Google::Cloud::SecretManager::V1beta1::SecretManagerService::Rest::Client.new
1135
+ #
1136
+ # # Create a request. To set request fields, pass in keyword arguments.
1137
+ # request = Google::Cloud::SecretManager::V1beta1::DestroySecretVersionRequest.new
1138
+ #
1139
+ # # Call the destroy_secret_version method.
1140
+ # result = client.destroy_secret_version request
1141
+ #
1142
+ # # The returned object is of type Google::Cloud::SecretManager::V1beta1::SecretVersion.
1143
+ # p result
1144
+ #
945
1145
  def destroy_secret_version request, options = nil
946
1146
  raise ::ArgumentError, "request must be provided" if request.nil?
947
1147
 
@@ -1020,6 +1220,22 @@ module Google
1020
1220
  # @return [::Google::Iam::V1::Policy]
1021
1221
  #
1022
1222
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
1223
+ #
1224
+ # @example Basic example
1225
+ # require "google/cloud/secret_manager/v1beta1"
1226
+ #
1227
+ # # Create a client object. The client can be reused for multiple calls.
1228
+ # client = Google::Cloud::SecretManager::V1beta1::SecretManagerService::Rest::Client.new
1229
+ #
1230
+ # # Create a request. To set request fields, pass in keyword arguments.
1231
+ # request = Google::Iam::V1::SetIamPolicyRequest.new
1232
+ #
1233
+ # # Call the set_iam_policy method.
1234
+ # result = client.set_iam_policy request
1235
+ #
1236
+ # # The returned object is of type Google::Iam::V1::Policy.
1237
+ # p result
1238
+ #
1023
1239
  def set_iam_policy request, options = nil
1024
1240
  raise ::ArgumentError, "request must be provided" if request.nil?
1025
1241
 
@@ -1087,6 +1303,22 @@ module Google
1087
1303
  # @return [::Google::Iam::V1::Policy]
1088
1304
  #
1089
1305
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
1306
+ #
1307
+ # @example Basic example
1308
+ # require "google/cloud/secret_manager/v1beta1"
1309
+ #
1310
+ # # Create a client object. The client can be reused for multiple calls.
1311
+ # client = Google::Cloud::SecretManager::V1beta1::SecretManagerService::Rest::Client.new
1312
+ #
1313
+ # # Create a request. To set request fields, pass in keyword arguments.
1314
+ # request = Google::Iam::V1::GetIamPolicyRequest.new
1315
+ #
1316
+ # # Call the get_iam_policy method.
1317
+ # result = client.get_iam_policy request
1318
+ #
1319
+ # # The returned object is of type Google::Iam::V1::Policy.
1320
+ # p result
1321
+ #
1090
1322
  def get_iam_policy request, options = nil
1091
1323
  raise ::ArgumentError, "request must be provided" if request.nil?
1092
1324
 
@@ -1161,6 +1393,22 @@ module Google
1161
1393
  # @return [::Google::Iam::V1::TestIamPermissionsResponse]
1162
1394
  #
1163
1395
  # @raise [::Google::Cloud::Error] if the REST call is aborted.
1396
+ #
1397
+ # @example Basic example
1398
+ # require "google/cloud/secret_manager/v1beta1"
1399
+ #
1400
+ # # Create a client object. The client can be reused for multiple calls.
1401
+ # client = Google::Cloud::SecretManager::V1beta1::SecretManagerService::Rest::Client.new
1402
+ #
1403
+ # # Create a request. To set request fields, pass in keyword arguments.
1404
+ # request = Google::Iam::V1::TestIamPermissionsRequest.new
1405
+ #
1406
+ # # Call the test_iam_permissions method.
1407
+ # result = client.test_iam_permissions request
1408
+ #
1409
+ # # The returned object is of type Google::Iam::V1::TestIamPermissionsResponse.
1410
+ # p result
1411
+ #
1164
1412
  def test_iam_permissions request, options = nil
1165
1413
  raise ::ArgumentError, "request must be provided" if request.nil?
1166
1414
 
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module SecretManager
23
23
  module V1beta1
24
- VERSION = "0.12.1"
24
+ VERSION = "0.13.0"
25
25
  end
26
26
  end
27
27
  end
@@ -66,6 +66,20 @@ module Google
66
66
  # a non-empty value will be returned. The user will not be aware of what
67
67
  # non-empty value to expect.
68
68
  NON_EMPTY_DEFAULT = 7
69
+
70
+ # Denotes that the field in a resource (a message annotated with
71
+ # google.api.resource) is used in the resource name to uniquely identify the
72
+ # resource. For AIP-compliant APIs, this should only be applied to the
73
+ # `name` field on the resource.
74
+ #
75
+ # This behavior should not be applied to references to other resources within
76
+ # the message.
77
+ #
78
+ # The identifier field of resources often have different field behavior
79
+ # depending on the request it is embedded in (e.g. for Create methods name
80
+ # is optional and unused, while for Update methods it is required). Instead
81
+ # of method-specific annotations, only `IDENTIFIER` is required.
82
+ IDENTIFIER = 8
69
83
  end
70
84
  end
71
85
  end
@@ -40,6 +40,7 @@ module Google
40
40
  #
41
41
  # **JSON example:**
42
42
  #
43
+ # ```
43
44
  # {
44
45
  # "bindings": [
45
46
  # {
@@ -67,9 +68,11 @@ module Google
67
68
  # "etag": "BwWWja0YfJA=",
68
69
  # "version": 3
69
70
  # }
71
+ # ```
70
72
  #
71
73
  # **YAML example:**
72
74
  #
75
+ # ```
73
76
  # bindings:
74
77
  # - members:
75
78
  # - user:mike@example.com
@@ -86,6 +89,7 @@ module Google
86
89
  # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
87
90
  # etag: BwWWja0YfJA=
88
91
  # version: 3
92
+ # ```
89
93
  #
90
94
  # For a description of IAM and its features, see the
91
95
  # [IAM documentation](https://cloud.google.com/iam/docs/).
@@ -157,7 +161,7 @@ module Google
157
161
  # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
158
162
  # @!attribute [rw] members
159
163
  # @return [::Array<::String>]
160
- # Specifies the principals requesting access for a Cloud Platform resource.
164
+ # Specifies the principals requesting access for a Google Cloud resource.
161
165
  # `members` can have the following values:
162
166
  #
163
167
  # * `allUsers`: A special identifier that represents anyone who is
@@ -267,8 +271,8 @@ module Google
267
271
  # }
268
272
  #
269
273
  # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
270
- # logging. It also exempts jose@example.com from DATA_READ logging, and
271
- # aliya@example.com from DATA_WRITE logging.
274
+ # logging. It also exempts `jose@example.com` from DATA_READ logging, and
275
+ # `aliya@example.com` from DATA_WRITE logging.
272
276
  # @!attribute [rw] service
273
277
  # @return [::String]
274
278
  # Specifies a service that will be enabled for audit logging.
@@ -356,7 +360,7 @@ module Google
356
360
  # Required
357
361
  # @!attribute [rw] member
358
362
  # @return [::String]
359
- # A single identity requesting access for a Cloud Platform resource.
363
+ # A single identity requesting access for a Google Cloud resource.
360
364
  # Follows the same format of Binding.members.
361
365
  # Required
362
366
  # @!attribute [rw] condition
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-secret_manager-v1beta1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.1
4
+ version: 0.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-06 00:00:00.000000000 Z
11
+ date: 2023-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.19.1
19
+ version: 0.20.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 2.a
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.19.1
29
+ version: 0.20.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 2.a
@@ -233,7 +233,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
233
233
  - !ruby/object:Gem::Version
234
234
  version: '0'
235
235
  requirements: []
236
- rubygems_version: 3.4.2
236
+ rubygems_version: 3.4.19
237
237
  signing_key:
238
238
  specification_version: 4
239
239
  summary: Stores sensitive data such as API keys, passwords, and certificates. Provides