certificates
Creates, updates, deletes, gets or lists a certificates resource.
Overview
| Name | certificates |
| Type | Resource |
| Id | azure.iot_hub.certificates |
Fields
The following fields are returned by SELECT queries:
- get
- list_by_iot_hub
| 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 | The certificate content. |
created | string (date-time) | The certificate's create 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. |
policyResourceId | string | The reference to policy stored in Azure Device Registry (ADR). |
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 |
|---|---|---|
value | array | The array of Certificate objects. |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | resource_group_name, resource_name, certificate_name, subscription_id | Get the certificate. Returns the certificate. | |
list_by_iot_hub | select | resource_group_name, resource_name, subscription_id | Get the certificate list. Returns the list of certificates. | |
create_or_update | insert | resource_group_name, resource_name, certificate_name, subscription_id | Upload the certificate to the IoT hub. Adds new or replaces existing certificate. | |
create_or_update | replace | resource_group_name, resource_name, certificate_name, subscription_id | Upload the certificate to the IoT hub. Adds new or replaces existing certificate. | |
delete | delete | resource_group_name, resource_name, certificate_name, subscription_id | Delete an X509 certificate. Deletes an existing X509 certificate or does nothing if it does not exist. | |
generate_verification_code | exec | resource_group_name, resource_name, certificate_name, subscription_id | Generate verification code for proof of possession flow. Generates verification code for proof of possession flow. The verification code will be used to generate a leaf certificate. | |
verify | exec | resource_group_name, resource_name, certificate_name, subscription_id | Verify certificate's private key possession. Verifies 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.
| Name | Datatype | Description |
|---|---|---|
certificate_name | string | The name of the certificate. Required. |
resource_group_name | string | The name of the resource group. The name is case insensitive. Required. |
resource_name | string | The name of the IoT hub. Required. |
subscription_id | string |
SELECT examples
- get
- list_by_iot_hub
Get the certificate. Returns the certificate.
SELECT
id,
name,
certificate,
created,
etag,
expiry,
isVerified,
policyResourceId,
subject,
systemData,
thumbprint,
type,
updated
FROM azure.iot_hub.certificates
WHERE resource_group_name = '{{ resource_group_name }}' -- required
AND resource_name = '{{ resource_name }}' -- required
AND certificate_name = '{{ certificate_name }}' -- required
AND subscription_id = '{{ subscription_id }}' -- required
;
Get the certificate list. Returns the list of certificates.
SELECT
value
FROM azure.iot_hub.certificates
WHERE resource_group_name = '{{ resource_group_name }}' -- required
AND resource_name = '{{ resource_name }}' -- required
AND subscription_id = '{{ subscription_id }}' -- required
;
INSERT examples
- create_or_update
- Manifest
Upload the certificate to the IoT hub. Adds new or replaces existing certificate.
INSERT INTO azure.iot_hub.certificates (
properties,
resource_group_name,
resource_name,
certificate_name,
subscription_id
)
SELECT
'{{ properties }}',
'{{ resource_group_name }}',
'{{ resource_name }}',
'{{ certificate_name }}',
'{{ subscription_id }}'
RETURNING
id,
name,
etag,
properties,
systemData,
type
;
# Description fields are for documentation purposes
- name: certificates
props:
- name: resource_group_name
value: "{{ resource_group_name }}"
description: Required parameter for the certificates resource.
- name: resource_name
value: "{{ resource_name }}"
description: Required parameter for the certificates resource.
- name: certificate_name
value: "{{ certificate_name }}"
description: Required parameter for the certificates resource.
- name: subscription_id
value: "{{ subscription_id }}"
description: Required parameter for the certificates resource.
- name: properties
description: |
The description of an X509 CA Certificate.
value:
subject: "{{ subject }}"
expiry: "{{ expiry }}"
thumbprint: "{{ thumbprint }}"
isVerified: {{ isVerified }}
created: "{{ created }}"
updated: "{{ updated }}"
certificate: "{{ certificate }}"
policyResourceId: "{{ policyResourceId }}"
REPLACE examples
- create_or_update
Upload the certificate to the IoT hub. Adds new or replaces existing certificate.
REPLACE azure.iot_hub.certificates
SET
properties = '{{ properties }}'
WHERE
resource_group_name = '{{ resource_group_name }}' --required
AND resource_name = '{{ resource_name }}' --required
AND certificate_name = '{{ certificate_name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
RETURNING
id,
name,
etag,
properties,
systemData,
type;
DELETE examples
- delete
Delete an X509 certificate. Deletes an existing X509 certificate or does nothing if it does not exist.
DELETE FROM azure.iot_hub.certificates
WHERE resource_group_name = '{{ resource_group_name }}' --required
AND resource_name = '{{ resource_name }}' --required
AND certificate_name = '{{ certificate_name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
;
Lifecycle Methods
- generate_verification_code
- verify
Generate verification code for proof of possession flow. Generates verification code for proof of possession flow. The verification code will be used to generate a leaf certificate.
EXEC azure.iot_hub.certificates.generate_verification_code
@resource_group_name='{{ resource_group_name }}' --required,
@resource_name='{{ resource_name }}' --required,
@certificate_name='{{ certificate_name }}' --required,
@subscription_id='{{ subscription_id }}' --required
;
Verify certificate's private key possession. Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.
EXEC azure.iot_hub.certificates.verify
@resource_group_name='{{ resource_group_name }}' --required,
@resource_name='{{ resource_name }}' --required,
@certificate_name='{{ certificate_name }}' --required,
@subscription_id='{{ subscription_id }}' --required
@@json=
'{
"certificate": "{{ certificate }}"
}'
;