Skip to main content

dps_certificates

Creates, updates, deletes, gets or lists a dps_certificates resource.

Overview

Namedps_certificates
TypeResource
Idazure.iot_hub_device_provisioning.dps_certificates

Fields

The following fields are returned by SELECT queries:

Metadata for the specified certificate.

NameDatatypeDescription
idstringThe resource identifier.
namestringThe name of the certificate.
etagstringThe entity tag.
propertiesobjectproperties of a certificate
systemDataobjectMetadata pertaining to creation and last modification of the resource.
typestringThe resource type.

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectcertificateName, subscriptionId, resourceGroupName, provisioningServiceNameIf-Match, api-versionGet the certificate from the provisioning service.
listselectsubscriptionId, resourceGroupName, provisioningServiceNameapi-versionGet all the certificates tied to the provisioning service.
create_or_updateinsertsubscriptionId, resourceGroupName, provisioningServiceName, certificateNameapi-version, If-MatchAdd new certificate or update an existing certificate.
deletedeletesubscriptionId, resourceGroupName, If-Match, provisioningServiceName, certificateNamecertificate.name, certificate.rawBytes, certificate.isVerified, certificate.purpose, certificate.created, certificate.lastUpdated, certificate.hasPrivateKey, certificate.nonce, api-versionDeletes the specified certificate associated with the Provisioning Service
generate_verification_codeexeccertificateName, If-Match, subscriptionId, resourceGroupName, provisioningServiceNamecertificate.name, certificate.rawBytes, certificate.isVerified, certificate.purpose, certificate.created, certificate.lastUpdated, certificate.hasPrivateKey, certificate.nonce, api-versionGenerate verification code for Proof of Possession.
verify_certificateexeccertificateName, If-Match, subscriptionId, resourceGroupName, provisioningServiceNamecertificate.name, certificate.rawBytes, certificate.isVerified, certificate.purpose, certificate.created, certificate.lastUpdated, certificate.hasPrivateKey, certificate.nonce, api-versionVerifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
If-MatchstringETag of the certificate.
certificateNamestringThe mandatory logical name of the certificate, that the provisioning service uses to access.
provisioningServiceNamestringProvisioning service name.
resourceGroupNamestringResource group name.
subscriptionIdstringThe subscription identifier.
If-MatchstringETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate.
api-versionstringThe version of the API.
certificate.createdstring (date-time)Certificate creation time.
certificate.hasPrivateKeybooleanIndicates if the certificate contains private key.
certificate.isVerifiedbooleanIndicates if the certificate has been verified by owner of the private key.
certificate.lastUpdatedstring (date-time)Certificate last updated time.
certificate.namestringCommon Name for the certificate.
certificate.noncestringRandom number generated to indicate Proof of Possession.
certificate.purposestringDescribe the purpose of the certificate.
certificate.rawBytesstring (byte)Raw data of certificate.

SELECT examples

Get the certificate from the provisioning service.

SELECT
id,
name,
etag,
properties,
systemData,
type
FROM azure.iot_hub_device_provisioning.dps_certificates
WHERE certificateName = '{{ certificateName }}' -- required
AND subscriptionId = '{{ subscriptionId }}' -- required
AND resourceGroupName = '{{ resourceGroupName }}' -- required
AND provisioningServiceName = '{{ provisioningServiceName }}' -- required
AND If-Match = '{{ If-Match }}'
AND api-version = '{{ api-version }}'
;

INSERT examples

Add new certificate or update an existing certificate.

INSERT INTO azure.iot_hub_device_provisioning.dps_certificates (
data__properties,
subscriptionId,
resourceGroupName,
provisioningServiceName,
certificateName,
api-version,
If-Match
)
SELECT
'{{ properties }}',
'{{ subscriptionId }}',
'{{ resourceGroupName }}',
'{{ provisioningServiceName }}',
'{{ certificateName }}',
'{{ api-version }}',
'{{ If-Match }}'
RETURNING
id,
name,
etag,
properties,
systemData,
type
;

DELETE examples

Deletes the specified certificate associated with the Provisioning Service

DELETE FROM azure.iot_hub_device_provisioning.dps_certificates
WHERE subscriptionId = '{{ subscriptionId }}' --required
AND resourceGroupName = '{{ resourceGroupName }}' --required
AND If-Match = '{{ If-Match }}' --required
AND provisioningServiceName = '{{ provisioningServiceName }}' --required
AND certificateName = '{{ certificateName }}' --required
AND certificate.name = '{{ certificate.name }}'
AND certificate.rawBytes = '{{ certificate.rawBytes }}'
AND certificate.isVerified = '{{ certificate.isVerified }}'
AND certificate.purpose = '{{ certificate.purpose }}'
AND certificate.created = '{{ certificate.created }}'
AND certificate.lastUpdated = '{{ certificate.lastUpdated }}'
AND certificate.hasPrivateKey = '{{ certificate.hasPrivateKey }}'
AND certificate.nonce = '{{ certificate.nonce }}'
AND api-version = '{{ api-version }}'
;

Lifecycle Methods

Generate verification code for Proof of Possession.

EXEC azure.iot_hub_device_provisioning.dps_certificates.generate_verification_code 
@certificateName='{{ certificateName }}' --required,
@If-Match='{{ If-Match }}' --required,
@subscriptionId='{{ subscriptionId }}' --required,
@resourceGroupName='{{ resourceGroupName }}' --required,
@provisioningServiceName='{{ provisioningServiceName }}' --required,
@certificate.name='{{ certificate.name }}',
@certificate.rawBytes='{{ certificate.rawBytes }}',
@certificate.isVerified={{ certificate.isVerified }},
@certificate.purpose='{{ certificate.purpose }}',
@certificate.created='{{ certificate.created }}',
@certificate.lastUpdated='{{ certificate.lastUpdated }}',
@certificate.hasPrivateKey={{ certificate.hasPrivateKey }},
@certificate.nonce='{{ certificate.nonce }}',
@api-version='{{ api-version }}'
;