dps_certificates
Creates, updates, deletes, gets or lists a dps_certificates
resource.
Overview
Name | dps_certificates |
Type | Resource |
Id | azure.iot_hub_device_provisioning.dps_certificates |
Fields
The following fields are returned by SELECT
queries:
- get
- list
Metadata for the specified certificate.
Name | Datatype | Description |
---|---|---|
id | string | The resource identifier. |
name | string | The name of the certificate. |
etag | string | The entity tag. |
properties | object | properties of a certificate |
systemData | object | Metadata pertaining to creation and last modification of the resource. |
type | string | The resource type. |
List of certificate descriptions in a JSON-serialized array.
Name | Datatype | Description |
---|---|---|
id | string | The resource identifier. |
name | string | The name of the certificate. |
etag | string | The entity tag. |
properties | object | properties of a certificate |
systemData | object | Metadata pertaining to creation and last modification of the resource. |
type | string | The resource type. |
Methods
The following methods are available for this resource:
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.
Name | Datatype | Description |
---|---|---|
If-Match | string | ETag of the certificate. |
certificateName | string | The mandatory logical name of the certificate, that the provisioning service uses to access. |
provisioningServiceName | string | Provisioning service name. |
resourceGroupName | string | Resource group name. |
subscriptionId | string | The subscription identifier. |
If-Match | string | ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate. |
api-version | string | The version of the API. |
certificate.created | string (date-time) | Certificate creation time. |
certificate.hasPrivateKey | boolean | Indicates if the certificate contains private key. |
certificate.isVerified | boolean | Indicates if the certificate has been verified by owner of the private key. |
certificate.lastUpdated | string (date-time) | Certificate last updated time. |
certificate.name | string | Common Name for the certificate. |
certificate.nonce | string | Random number generated to indicate Proof of Possession. |
certificate.purpose | string | Describe the purpose of the certificate. |
certificate.rawBytes | string (byte) | Raw data of certificate. |
SELECT
examples
- get
- list
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 }}'
;
Get all the certificates tied to the provisioning service.
SELECT
id,
name,
etag,
properties,
systemData,
type
FROM azure.iot_hub_device_provisioning.dps_certificates
WHERE subscriptionId = '{{ subscriptionId }}' -- required
AND resourceGroupName = '{{ resourceGroupName }}' -- required
AND provisioningServiceName = '{{ provisioningServiceName }}' -- required
AND api-version = '{{ api-version }}'
;
INSERT
examples
- create_or_update
- Manifest
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
;
# Description fields are for documentation purposes
- name: dps_certificates
props:
- name: subscriptionId
value: string
description: Required parameter for the dps_certificates resource.
- name: resourceGroupName
value: string
description: Required parameter for the dps_certificates resource.
- name: provisioningServiceName
value: string
description: Required parameter for the dps_certificates resource.
- name: certificateName
value: string
description: Required parameter for the dps_certificates resource.
- name: properties
value: object
description: |
properties of a certificate
- name: api-version
value: string
description: The version of the API.
- name: If-Match
value: string
description: ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate.
DELETE
examples
- delete
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
- verify_certificate
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 }}'
;
Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.
EXEC azure.iot_hub_device_provisioning.dps_certificates.verify_certificate
@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 }}'
@@json=
'{
"certificate": "{{ certificate }}"
}'
;