dps_certificate
Creates, updates, deletes, gets or lists a dps_certificate resource.
Overview
| Name | dps_certificate |
| Type | Resource |
| Id | azure.iot_hub_provisioning_services.dps_certificate |
Fields
The following fields are returned by SELECT queries:
- get
- list
| Name | Datatype | Description |
|---|---|---|
id | string | Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. |
name | string | The name of the resource. |
certificate | string (byte) | base-64 representation of X509 certificate .cer file or just .pem file content. |
created | string (date-time) | The certificate's creation date and time. |
etag | string | The entity tag. |
expiry | string (date-time) | The certificate's expiration date and time. |
isVerified | boolean | Determines whether certificate has been verified. |
subject | string | The certificate's subject name. |
systemData | object | Azure Resource Manager metadata containing createdBy and modifiedBy information. |
thumbprint | string | The certificate's thumbprint. |
type | string | The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". |
updated | string (date-time) | The certificate's last update date and time. |
| Name | Datatype | Description |
|---|---|---|
id | string | Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. |
name | string | The name of the resource. |
certificate | string (byte) | base-64 representation of X509 certificate .cer file or just .pem file content. |
created | string (date-time) | The certificate's creation date and time. |
etag | string | The entity tag. |
expiry | string (date-time) | The certificate's expiration date and time. |
isVerified | boolean | Determines whether certificate has been verified. |
subject | string | The certificate's subject name. |
systemData | object | Azure Resource Manager metadata containing createdBy and modifiedBy information. |
thumbprint | string | The certificate's thumbprint. |
type | string | The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". |
updated | string (date-time) | The certificate's last update date and time. |
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 |
|---|---|---|
certificate_name | string | Name of the certificate to retrieve. Required. |
provisioning_service_name | string | Name of the provisioning service to retrieve. Required. |
resource_group_name | string | The name of the resource group. The name is case insensitive. Required. |
subscription_id | string | |
certificate.created | string (date-time) | Time the certificate is created. Default value is None. |
certificate.hasPrivateKey | boolean | Indicates if the certificate contains private key. Default value is None. |
certificate.isVerified | boolean | Indicates if the certificate has been verified by owner of the private key. Default value is None. |
certificate.lastUpdated | string (date-time) | Certificate last updated time. Default value is None. |
certificate.name | string | Common Name for the certificate. Default value is None. |
certificate.nonce | string | Random number generated to indicate Proof of Possession. Default value is None. |
certificate.purpose | string | Describe the purpose of the certificate. Known values are: "clientAuthentication" and "serverAuthentication". Default value is None. |
certificate.rawBytes | string (byte) | Raw data of certificate. Default value is None. |
SELECT examples
- get
- list
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
;
Get all the certificates tied to 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 subscription_id = '{{ subscription_id }}' -- required
;
INSERT examples
- create_or_update
- Manifest
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
;
# Description fields are for documentation purposes
- name: dps_certificate
props:
- name: resource_group_name
value: "{{ resource_group_name }}"
description: Required parameter for the dps_certificate resource.
- name: provisioning_service_name
value: "{{ provisioning_service_name }}"
description: Required parameter for the dps_certificate resource.
- name: certificate_name
value: "{{ certificate_name }}"
description: Required parameter for the dps_certificate resource.
- name: subscription_id
value: "{{ subscription_id }}"
description: Required parameter for the dps_certificate resource.
- name: properties
description: |
properties of a certificate.
value:
subject: "{{ subject }}"
expiry: "{{ expiry }}"
thumbprint: "{{ thumbprint }}"
isVerified: {{ isVerified }}
certificate: "{{ certificate }}"
created: "{{ created }}"
updated: "{{ updated }}"
REPLACE examples
- create_or_update
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
- delete
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
- verify_certificate
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 }}'
;
Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.
EXEC azure.iot_hub_provisioning_services.dps_certificate.verify_certificate
@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 }}'
@@json=
'{
"certificate": "{{ certificate }}"
}'
;