google-cloud-iot-v1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,517 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Iot
23
+ module V1
24
+ # The device resource.
25
+ # @!attribute [rw] id
26
+ # @return [::String]
27
+ # The user-defined device identifier. The device ID must be unique
28
+ # within a device registry.
29
+ # @!attribute [rw] name
30
+ # @return [::String]
31
+ # The resource path name. For example,
32
+ # `projects/p1/locations/us-central1/registries/registry0/devices/dev0` or
33
+ # `projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`.
34
+ # When `name` is populated as a response from the service, it always ends
35
+ # in the device numeric ID.
36
+ # @!attribute [rw] num_id
37
+ # @return [::Integer]
38
+ # [Output only] A server-defined unique numeric ID for the device. This is a
39
+ # more compact way to identify devices, and it is globally unique.
40
+ # @!attribute [rw] credentials
41
+ # @return [::Array<::Google::Cloud::Iot::V1::DeviceCredential>]
42
+ # The credentials used to authenticate this device. To allow credential
43
+ # rotation without interruption, multiple device credentials can be bound to
44
+ # this device. No more than 3 credentials can be bound to a single device at
45
+ # a time. When new credentials are added to a device, they are verified
46
+ # against the registry credentials. For details, see the description of the
47
+ # `DeviceRegistry.credentials` field.
48
+ # @!attribute [rw] last_heartbeat_time
49
+ # @return [::Google::Protobuf::Timestamp]
50
+ # [Output only] The last time an MQTT `PINGREQ` was received. This field
51
+ # applies only to devices connecting through MQTT. MQTT clients usually only
52
+ # send `PINGREQ` messages if the connection is idle, and no other messages
53
+ # have been sent. Timestamps are periodically collected and written to
54
+ # storage; they may be stale by a few minutes.
55
+ # @!attribute [rw] last_event_time
56
+ # @return [::Google::Protobuf::Timestamp]
57
+ # [Output only] The last time a telemetry event was received. Timestamps are
58
+ # periodically collected and written to storage; they may be stale by a few
59
+ # minutes.
60
+ # @!attribute [rw] last_state_time
61
+ # @return [::Google::Protobuf::Timestamp]
62
+ # [Output only] The last time a state event was received. Timestamps are
63
+ # periodically collected and written to storage; they may be stale by a few
64
+ # minutes.
65
+ # @!attribute [rw] last_config_ack_time
66
+ # @return [::Google::Protobuf::Timestamp]
67
+ # [Output only] The last time a cloud-to-device config version acknowledgment
68
+ # was received from the device. This field is only for configurations
69
+ # sent through MQTT.
70
+ # @!attribute [rw] last_config_send_time
71
+ # @return [::Google::Protobuf::Timestamp]
72
+ # [Output only] The last time a cloud-to-device config version was sent to
73
+ # the device.
74
+ # @!attribute [rw] blocked
75
+ # @return [::Boolean]
76
+ # If a device is blocked, connections or requests from this device will fail.
77
+ # Can be used to temporarily prevent the device from connecting if, for
78
+ # example, the sensor is generating bad data and needs maintenance.
79
+ # @!attribute [rw] last_error_time
80
+ # @return [::Google::Protobuf::Timestamp]
81
+ # [Output only] The time the most recent error occurred, such as a failure to
82
+ # publish to Cloud Pub/Sub. This field is the timestamp of
83
+ # 'last_error_status'.
84
+ # @!attribute [rw] last_error_status
85
+ # @return [::Google::Rpc::Status]
86
+ # [Output only] The error message of the most recent error, such as a failure
87
+ # to publish to Cloud Pub/Sub. 'last_error_time' is the timestamp of this
88
+ # field. If no errors have occurred, this field has an empty message
89
+ # and the status code 0 == OK. Otherwise, this field is expected to have a
90
+ # status code other than OK.
91
+ # @!attribute [rw] config
92
+ # @return [::Google::Cloud::Iot::V1::DeviceConfig]
93
+ # The most recent device configuration, which is eventually sent from
94
+ # Cloud IoT Core to the device. If not present on creation, the
95
+ # configuration will be initialized with an empty payload and version value
96
+ # of `1`. To update this field after creation, use the
97
+ # `DeviceManager.ModifyCloudToDeviceConfig` method.
98
+ # @!attribute [rw] state
99
+ # @return [::Google::Cloud::Iot::V1::DeviceState]
100
+ # [Output only] The state most recently received from the device. If no state
101
+ # has been reported, this field is not present.
102
+ # @!attribute [rw] log_level
103
+ # @return [::Google::Cloud::Iot::V1::LogLevel]
104
+ # **Beta Feature**
105
+ #
106
+ # The logging verbosity for device activity. If unspecified,
107
+ # DeviceRegistry.log_level will be used.
108
+ # @!attribute [rw] metadata
109
+ # @return [::Google::Protobuf::Map{::String => ::String}]
110
+ # The metadata key-value pairs assigned to the device. This metadata is not
111
+ # interpreted or indexed by Cloud IoT Core. It can be used to add contextual
112
+ # information for the device.
113
+ #
114
+ # Keys must conform to the regular expression [a-zA-Z][a-zA-Z0-9-_.+~%]+ and
115
+ # be less than 128 bytes in length.
116
+ #
117
+ # Values are free-form strings. Each value must be less than or equal to 32
118
+ # KB in size.
119
+ #
120
+ # The total size of all keys and values must be less than 256 KB, and the
121
+ # maximum number of key-value pairs is 500.
122
+ # @!attribute [rw] gateway_config
123
+ # @return [::Google::Cloud::Iot::V1::GatewayConfig]
124
+ # Gateway-related configuration and state.
125
+ class Device
126
+ include ::Google::Protobuf::MessageExts
127
+ extend ::Google::Protobuf::MessageExts::ClassMethods
128
+
129
+ # @!attribute [rw] key
130
+ # @return [::String]
131
+ # @!attribute [rw] value
132
+ # @return [::String]
133
+ class MetadataEntry
134
+ include ::Google::Protobuf::MessageExts
135
+ extend ::Google::Protobuf::MessageExts::ClassMethods
136
+ end
137
+ end
138
+
139
+ # Gateway-related configuration and state.
140
+ # @!attribute [rw] gateway_type
141
+ # @return [::Google::Cloud::Iot::V1::GatewayType]
142
+ # Indicates whether the device is a gateway.
143
+ # @!attribute [rw] gateway_auth_method
144
+ # @return [::Google::Cloud::Iot::V1::GatewayAuthMethod]
145
+ # Indicates how to authorize and/or authenticate devices to access the
146
+ # gateway.
147
+ # @!attribute [rw] last_accessed_gateway_id
148
+ # @return [::String]
149
+ # [Output only] The ID of the gateway the device accessed most recently.
150
+ # @!attribute [rw] last_accessed_gateway_time
151
+ # @return [::Google::Protobuf::Timestamp]
152
+ # [Output only] The most recent time at which the device accessed the gateway
153
+ # specified in `last_accessed_gateway`.
154
+ class GatewayConfig
155
+ include ::Google::Protobuf::MessageExts
156
+ extend ::Google::Protobuf::MessageExts::ClassMethods
157
+ end
158
+
159
+ # A container for a group of devices.
160
+ # @!attribute [rw] id
161
+ # @return [::String]
162
+ # The identifier of this device registry. For example, `myRegistry`.
163
+ # @!attribute [rw] name
164
+ # @return [::String]
165
+ # The resource path name. For example,
166
+ # `projects/example-project/locations/us-central1/registries/my-registry`.
167
+ # @!attribute [rw] event_notification_configs
168
+ # @return [::Array<::Google::Cloud::Iot::V1::EventNotificationConfig>]
169
+ # The configuration for notification of telemetry events received from the
170
+ # device. All telemetry events that were successfully published by the
171
+ # device and acknowledged by Cloud IoT Core are guaranteed to be
172
+ # delivered to Cloud Pub/Sub. If multiple configurations match a message,
173
+ # only the first matching configuration is used. If you try to publish a
174
+ # device telemetry event using MQTT without specifying a Cloud Pub/Sub topic
175
+ # for the device's registry, the connection closes automatically. If you try
176
+ # to do so using an HTTP connection, an error is returned. Up to 10
177
+ # configurations may be provided.
178
+ # @!attribute [rw] state_notification_config
179
+ # @return [::Google::Cloud::Iot::V1::StateNotificationConfig]
180
+ # The configuration for notification of new states received from the device.
181
+ # State updates are guaranteed to be stored in the state history, but
182
+ # notifications to Cloud Pub/Sub are not guaranteed. For example, if
183
+ # permissions are misconfigured or the specified topic doesn't exist, no
184
+ # notification will be published but the state will still be stored in Cloud
185
+ # IoT Core.
186
+ # @!attribute [rw] mqtt_config
187
+ # @return [::Google::Cloud::Iot::V1::MqttConfig]
188
+ # The MQTT configuration for this device registry.
189
+ # @!attribute [rw] http_config
190
+ # @return [::Google::Cloud::Iot::V1::HttpConfig]
191
+ # The DeviceService (HTTP) configuration for this device registry.
192
+ # @!attribute [rw] log_level
193
+ # @return [::Google::Cloud::Iot::V1::LogLevel]
194
+ # **Beta Feature**
195
+ #
196
+ # The default logging verbosity for activity from devices in this registry.
197
+ # The verbosity level can be overridden by Device.log_level.
198
+ # @!attribute [rw] credentials
199
+ # @return [::Array<::Google::Cloud::Iot::V1::RegistryCredential>]
200
+ # The credentials used to verify the device credentials. No more than 10
201
+ # credentials can be bound to a single registry at a time. The verification
202
+ # process occurs at the time of device creation or update. If this field is
203
+ # empty, no verification is performed. Otherwise, the credentials of a newly
204
+ # created device or added credentials of an updated device should be signed
205
+ # with one of these registry credentials.
206
+ #
207
+ # Note, however, that existing devices will never be affected by
208
+ # modifications to this list of credentials: after a device has been
209
+ # successfully created in a registry, it should be able to connect even if
210
+ # its registry credentials are revoked, deleted, or modified.
211
+ class DeviceRegistry
212
+ include ::Google::Protobuf::MessageExts
213
+ extend ::Google::Protobuf::MessageExts::ClassMethods
214
+ end
215
+
216
+ # The configuration of MQTT for a device registry.
217
+ # @!attribute [rw] mqtt_enabled_state
218
+ # @return [::Google::Cloud::Iot::V1::MqttState]
219
+ # If enabled, allows connections using the MQTT protocol. Otherwise, MQTT
220
+ # connections to this registry will fail.
221
+ class MqttConfig
222
+ include ::Google::Protobuf::MessageExts
223
+ extend ::Google::Protobuf::MessageExts::ClassMethods
224
+ end
225
+
226
+ # The configuration of the HTTP bridge for a device registry.
227
+ # @!attribute [rw] http_enabled_state
228
+ # @return [::Google::Cloud::Iot::V1::HttpState]
229
+ # If enabled, allows devices to use DeviceService via the HTTP protocol.
230
+ # Otherwise, any requests to DeviceService will fail for this registry.
231
+ class HttpConfig
232
+ include ::Google::Protobuf::MessageExts
233
+ extend ::Google::Protobuf::MessageExts::ClassMethods
234
+ end
235
+
236
+ # The configuration for forwarding telemetry events.
237
+ # @!attribute [rw] subfolder_matches
238
+ # @return [::String]
239
+ # If the subfolder name matches this string exactly, this configuration will
240
+ # be used. The string must not include the leading '/' character. If empty,
241
+ # all strings are matched. This field is used only for telemetry events;
242
+ # subfolders are not supported for state changes.
243
+ # @!attribute [rw] pubsub_topic_name
244
+ # @return [::String]
245
+ # A Cloud Pub/Sub topic name. For example,
246
+ # `projects/myProject/topics/deviceEvents`.
247
+ class EventNotificationConfig
248
+ include ::Google::Protobuf::MessageExts
249
+ extend ::Google::Protobuf::MessageExts::ClassMethods
250
+ end
251
+
252
+ # The configuration for notification of new states received from the device.
253
+ # @!attribute [rw] pubsub_topic_name
254
+ # @return [::String]
255
+ # A Cloud Pub/Sub topic name. For example,
256
+ # `projects/myProject/topics/deviceEvents`.
257
+ class StateNotificationConfig
258
+ include ::Google::Protobuf::MessageExts
259
+ extend ::Google::Protobuf::MessageExts::ClassMethods
260
+ end
261
+
262
+ # A server-stored registry credential used to validate device credentials.
263
+ # @!attribute [rw] public_key_certificate
264
+ # @return [::Google::Cloud::Iot::V1::PublicKeyCertificate]
265
+ # A public key certificate used to verify the device credentials.
266
+ class RegistryCredential
267
+ include ::Google::Protobuf::MessageExts
268
+ extend ::Google::Protobuf::MessageExts::ClassMethods
269
+ end
270
+
271
+ # Details of an X.509 certificate. For informational purposes only.
272
+ # @!attribute [rw] issuer
273
+ # @return [::String]
274
+ # The entity that signed the certificate.
275
+ # @!attribute [rw] subject
276
+ # @return [::String]
277
+ # The entity the certificate and public key belong to.
278
+ # @!attribute [rw] start_time
279
+ # @return [::Google::Protobuf::Timestamp]
280
+ # The time the certificate becomes valid.
281
+ # @!attribute [rw] expiry_time
282
+ # @return [::Google::Protobuf::Timestamp]
283
+ # The time the certificate becomes invalid.
284
+ # @!attribute [rw] signature_algorithm
285
+ # @return [::String]
286
+ # The algorithm used to sign the certificate.
287
+ # @!attribute [rw] public_key_type
288
+ # @return [::String]
289
+ # The type of public key in the certificate.
290
+ class X509CertificateDetails
291
+ include ::Google::Protobuf::MessageExts
292
+ extend ::Google::Protobuf::MessageExts::ClassMethods
293
+ end
294
+
295
+ # A public key certificate format and data.
296
+ # @!attribute [rw] format
297
+ # @return [::Google::Cloud::Iot::V1::PublicKeyCertificateFormat]
298
+ # The certificate format.
299
+ # @!attribute [rw] certificate
300
+ # @return [::String]
301
+ # The certificate data.
302
+ # @!attribute [rw] x509_details
303
+ # @return [::Google::Cloud::Iot::V1::X509CertificateDetails]
304
+ # [Output only] The certificate details. Used only for X.509 certificates.
305
+ class PublicKeyCertificate
306
+ include ::Google::Protobuf::MessageExts
307
+ extend ::Google::Protobuf::MessageExts::ClassMethods
308
+ end
309
+
310
+ # A server-stored device credential used for authentication.
311
+ # @!attribute [rw] public_key
312
+ # @return [::Google::Cloud::Iot::V1::PublicKeyCredential]
313
+ # A public key used to verify the signature of JSON Web Tokens (JWTs).
314
+ # When adding a new device credential, either via device creation or via
315
+ # modifications, this public key credential may be required to be signed by
316
+ # one of the registry level certificates. More specifically, if the
317
+ # registry contains at least one certificate, any new device credential
318
+ # must be signed by one of the registry certificates. As a result,
319
+ # when the registry contains certificates, only X.509 certificates are
320
+ # accepted as device credentials. However, if the registry does
321
+ # not contain a certificate, self-signed certificates and public keys will
322
+ # be accepted. New device credentials must be different from every
323
+ # registry-level certificate.
324
+ # @!attribute [rw] expiration_time
325
+ # @return [::Google::Protobuf::Timestamp]
326
+ # [Optional] The time at which this credential becomes invalid. This
327
+ # credential will be ignored for new client authentication requests after
328
+ # this timestamp; however, it will not be automatically deleted.
329
+ class DeviceCredential
330
+ include ::Google::Protobuf::MessageExts
331
+ extend ::Google::Protobuf::MessageExts::ClassMethods
332
+ end
333
+
334
+ # A public key format and data.
335
+ # @!attribute [rw] format
336
+ # @return [::Google::Cloud::Iot::V1::PublicKeyFormat]
337
+ # The format of the key.
338
+ # @!attribute [rw] key
339
+ # @return [::String]
340
+ # The key data.
341
+ class PublicKeyCredential
342
+ include ::Google::Protobuf::MessageExts
343
+ extend ::Google::Protobuf::MessageExts::ClassMethods
344
+ end
345
+
346
+ # The device configuration. Eventually delivered to devices.
347
+ # @!attribute [rw] version
348
+ # @return [::Integer]
349
+ # [Output only] The version of this update. The version number is assigned by
350
+ # the server, and is always greater than 0 after device creation. The
351
+ # version must be 0 on the `CreateDevice` request if a `config` is
352
+ # specified; the response of `CreateDevice` will always have a value of 1.
353
+ # @!attribute [rw] cloud_update_time
354
+ # @return [::Google::Protobuf::Timestamp]
355
+ # [Output only] The time at which this configuration version was updated in
356
+ # Cloud IoT Core. This timestamp is set by the server.
357
+ # @!attribute [rw] device_ack_time
358
+ # @return [::Google::Protobuf::Timestamp]
359
+ # [Output only] The time at which Cloud IoT Core received the
360
+ # acknowledgment from the device, indicating that the device has received
361
+ # this configuration version. If this field is not present, the device has
362
+ # not yet acknowledged that it received this version. Note that when
363
+ # the config was sent to the device, many config versions may have been
364
+ # available in Cloud IoT Core while the device was disconnected, and on
365
+ # connection, only the latest version is sent to the device. Some
366
+ # versions may never be sent to the device, and therefore are never
367
+ # acknowledged. This timestamp is set by Cloud IoT Core.
368
+ # @!attribute [rw] binary_data
369
+ # @return [::String]
370
+ # The device configuration data.
371
+ class DeviceConfig
372
+ include ::Google::Protobuf::MessageExts
373
+ extend ::Google::Protobuf::MessageExts::ClassMethods
374
+ end
375
+
376
+ # The device state, as reported by the device.
377
+ # @!attribute [rw] update_time
378
+ # @return [::Google::Protobuf::Timestamp]
379
+ # [Output only] The time at which this state version was updated in Cloud
380
+ # IoT Core.
381
+ # @!attribute [rw] binary_data
382
+ # @return [::String]
383
+ # The device state data.
384
+ class DeviceState
385
+ include ::Google::Protobuf::MessageExts
386
+ extend ::Google::Protobuf::MessageExts::ClassMethods
387
+ end
388
+
389
+ # Indicates whether an MQTT connection is enabled or disabled. See the field
390
+ # description for details.
391
+ module MqttState
392
+ # No MQTT state specified. If not specified, MQTT will be enabled by default.
393
+ MQTT_STATE_UNSPECIFIED = 0
394
+
395
+ # Enables a MQTT connection.
396
+ MQTT_ENABLED = 1
397
+
398
+ # Disables a MQTT connection.
399
+ MQTT_DISABLED = 2
400
+ end
401
+
402
+ # Indicates whether DeviceService (HTTP) is enabled or disabled for the
403
+ # registry. See the field description for details.
404
+ module HttpState
405
+ # No HTTP state specified. If not specified, DeviceService will be
406
+ # enabled by default.
407
+ HTTP_STATE_UNSPECIFIED = 0
408
+
409
+ # Enables DeviceService (HTTP) service for the registry.
410
+ HTTP_ENABLED = 1
411
+
412
+ # Disables DeviceService (HTTP) service for the registry.
413
+ HTTP_DISABLED = 2
414
+ end
415
+
416
+ # **Beta Feature**
417
+ #
418
+ # The logging verbosity for device activity. Specifies which events should be
419
+ # written to logs. For example, if the LogLevel is ERROR, only events that
420
+ # terminate in errors will be logged. LogLevel is inclusive; enabling INFO
421
+ # logging will also enable ERROR logging.
422
+ module LogLevel
423
+ # No logging specified. If not specified, logging will be disabled.
424
+ LOG_LEVEL_UNSPECIFIED = 0
425
+
426
+ # Disables logging.
427
+ NONE = 10
428
+
429
+ # Error events will be logged.
430
+ ERROR = 20
431
+
432
+ # Informational events will be logged, such as connections and
433
+ # disconnections.
434
+ INFO = 30
435
+
436
+ # All events will be logged.
437
+ DEBUG = 40
438
+ end
439
+
440
+ # Gateway type.
441
+ module GatewayType
442
+ # If unspecified, the device is considered a non-gateway device.
443
+ GATEWAY_TYPE_UNSPECIFIED = 0
444
+
445
+ # The device is a gateway.
446
+ GATEWAY = 1
447
+
448
+ # The device is not a gateway.
449
+ NON_GATEWAY = 2
450
+ end
451
+
452
+ # The gateway authorization/authentication method. This setting determines how
453
+ # Cloud IoT Core authorizes/authenticate devices to access the gateway.
454
+ module GatewayAuthMethod
455
+ # No authentication/authorization method specified. No devices are allowed to
456
+ # access the gateway.
457
+ GATEWAY_AUTH_METHOD_UNSPECIFIED = 0
458
+
459
+ # The device is authenticated through the gateway association only. Device
460
+ # credentials are ignored even if provided.
461
+ ASSOCIATION_ONLY = 1
462
+
463
+ # The device is authenticated through its own credentials. Gateway
464
+ # association is not checked.
465
+ DEVICE_AUTH_TOKEN_ONLY = 2
466
+
467
+ # The device is authenticated through both device credentials and gateway
468
+ # association. The device must be bound to the gateway and must provide its
469
+ # own credentials.
470
+ ASSOCIATION_AND_DEVICE_AUTH_TOKEN = 3
471
+ end
472
+
473
+ # The supported formats for the public key.
474
+ module PublicKeyCertificateFormat
475
+ # The format has not been specified. This is an invalid default value and
476
+ # must not be used.
477
+ UNSPECIFIED_PUBLIC_KEY_CERTIFICATE_FORMAT = 0
478
+
479
+ # An X.509v3 certificate ([RFC5280](https://www.ietf.org/rfc/rfc5280.txt)),
480
+ # encoded in base64, and wrapped by `-----BEGIN CERTIFICATE-----` and
481
+ # `-----END CERTIFICATE-----`.
482
+ X509_CERTIFICATE_PEM = 1
483
+ end
484
+
485
+ # The supported formats for the public key.
486
+ module PublicKeyFormat
487
+ # The format has not been specified. This is an invalid default value and
488
+ # must not be used.
489
+ UNSPECIFIED_PUBLIC_KEY_FORMAT = 0
490
+
491
+ # An RSA public key encoded in base64, and wrapped by
492
+ # `-----BEGIN PUBLIC KEY-----` and `-----END PUBLIC KEY-----`. This can be
493
+ # used to verify `RS256` signatures in JWT tokens ([RFC7518](
494
+ # https://www.ietf.org/rfc/rfc7518.txt)).
495
+ RSA_PEM = 3
496
+
497
+ # As RSA_PEM, but wrapped in an X.509v3 certificate ([RFC5280](
498
+ # https://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and wrapped by
499
+ # `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`.
500
+ RSA_X509_PEM = 1
501
+
502
+ # Public key for the ECDSA algorithm using P-256 and SHA-256, encoded in
503
+ # base64, and wrapped by `-----BEGIN PUBLIC KEY-----` and `-----END
504
+ # PUBLIC KEY-----`. This can be used to verify JWT tokens with the `ES256`
505
+ # algorithm ([RFC7518](https://www.ietf.org/rfc/rfc7518.txt)). This curve is
506
+ # defined in [OpenSSL](https://www.openssl.org/) as the `prime256v1` curve.
507
+ ES256_PEM = 2
508
+
509
+ # As ES256_PEM, but wrapped in an X.509v3 certificate ([RFC5280](
510
+ # https://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and wrapped by
511
+ # `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`.
512
+ ES256_X509_PEM = 4
513
+ end
514
+ end
515
+ end
516
+ end
517
+ end