Skip to main content

dps_certificate

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

Overview

Namedps_certificate
TypeResource
Idazure.iot_hub_provisioning_services.dps_certificate

Fields

The following fields are returned by SELECT queries:

NameDatatypeDescription
idstringFully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
namestringThe name of the resource.
certificatestring (byte)base-64 representation of X509 certificate .cer file or just .pem file content.
createdstring (date-time)The certificate's creation date and time.
etagstringThe entity tag.
expirystring (date-time)The certificate's expiration date and time.
isVerifiedbooleanDetermines whether certificate has been verified.
subjectstringThe certificate's subject name.
systemDataobjectAzure Resource Manager metadata containing createdBy and modifiedBy information.
thumbprintstringThe certificate's thumbprint.
typestringThe type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts".
updatedstring (date-time)The certificate's last update date and time.

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectresource_group_name, provisioning_service_name, certificate_name, subscription_idGet the certificate from the provisioning service.
listselectresource_group_name, provisioning_service_name, subscription_idGet all the certificates tied to the provisioning service.
create_or_updateinsertresource_group_name, provisioning_service_name, certificate_name, subscription_idAdd new certificate or update an existing certificate.
create_or_updatereplaceresource_group_name, provisioning_service_name, certificate_name, subscription_idAdd new certificate or update an existing certificate.
deletedeleteresource_group_name, provisioning_service_name, certificate_name, subscription_idcertificate.name, certificate.rawBytes, certificate.isVerified, certificate.purpose, certificate.created, certificate.lastUpdated, certificate.hasPrivateKey, certificate.nonceDeletes the specified certificate associated with the Provisioning Service.
generate_verification_codeexecresource_group_name, provisioning_service_name, certificate_name, subscription_idcertificate.name, certificate.rawBytes, certificate.isVerified, certificate.purpose, certificate.created, certificate.lastUpdated, certificate.hasPrivateKey, certificate.nonceGenerate verification code for Proof of Possession.
verify_certificateexecresource_group_name, provisioning_service_name, certificate_name, subscription_idcertificate.name, certificate.rawBytes, certificate.isVerified, certificate.purpose, certificate.created, certificate.lastUpdated, certificate.hasPrivateKey, certificate.nonceVerifies 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
certificate_namestringName of the certificate to retrieve. Required.
provisioning_service_namestringName of the provisioning service to retrieve. Required.
resource_group_namestringThe name of the resource group. The name is case insensitive. Required.
subscription_idstring
certificate.createdstring (date-time)Time the certificate is created. Default value is None.
certificate.hasPrivateKeybooleanIndicates if the certificate contains private key. Default value is None.
certificate.isVerifiedbooleanIndicates if the certificate has been verified by owner of the private key. Default value is None.
certificate.lastUpdatedstring (date-time)Certificate last updated time. Default value is None.
certificate.namestringCommon Name for the certificate. Default value is None.
certificate.noncestringRandom number generated to indicate Proof of Possession. Default value is None.
certificate.purposestringDescribe the purpose of the certificate. Known values are: "clientAuthentication" and "serverAuthentication". Default value is None.
certificate.rawBytesstring (byte)Raw data of certificate. Default value is None.

SELECT examples

Get the certificate from the provisioning service.

SELECT
id,
name,
certificate,
created,
etag,
expiry,
isVerified,
subject,
systemData,
thumbprint,
type,
updated
FROM azure.iot_hub_provisioning_services.dps_certificate
WHERE resource_group_name = '{{ resource_group_name }}' -- required
AND provisioning_service_name = '{{ provisioning_service_name }}' -- required
AND certificate_name = '{{ certificate_name }}' -- required
AND subscription_id = '{{ subscription_id }}' -- required
;

INSERT examples

Add new certificate or update an existing certificate.

INSERT INTO azure.iot_hub_provisioning_services.dps_certificate (
properties,
resource_group_name,
provisioning_service_name,
certificate_name,
subscription_id
)
SELECT
'{{ properties }}',
'{{ resource_group_name }}',
'{{ provisioning_service_name }}',
'{{ certificate_name }}',
'{{ subscription_id }}'
RETURNING
id,
name,
etag,
properties,
systemData,
type
;

REPLACE examples

Add new certificate or update an existing certificate.

REPLACE azure.iot_hub_provisioning_services.dps_certificate
SET
properties = '{{ properties }}'
WHERE
resource_group_name = '{{ resource_group_name }}' --required
AND provisioning_service_name = '{{ provisioning_service_name }}' --required
AND certificate_name = '{{ certificate_name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
RETURNING
id,
name,
etag,
properties,
systemData,
type;

DELETE examples

Deletes the specified certificate associated with the Provisioning Service.

DELETE FROM azure.iot_hub_provisioning_services.dps_certificate
WHERE resource_group_name = '{{ resource_group_name }}' --required
AND provisioning_service_name = '{{ provisioning_service_name }}' --required
AND certificate_name = '{{ certificate_name }}' --required
AND subscription_id = '{{ subscription_id }}' --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 }}'
;

Lifecycle Methods

Generate verification code for Proof of Possession.

EXEC azure.iot_hub_provisioning_services.dps_certificate.generate_verification_code 
@resource_group_name='{{ resource_group_name }}' --required,
@provisioning_service_name='{{ provisioning_service_name }}' --required,
@certificate_name='{{ certificate_name }}' --required,
@subscription_id='{{ subscription_id }}' --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 }}'
;