EnrollmentGroup Class

定义

Representation of a single Device Provisioning Service enrollment group with a JSON serializer and deserializer.

This object is used to send EnrollmentGroup information to the provisioning service, or receive EnrollmentGroup information from the provisioning service.

To create or update an EnrollmentGroup on the provisioning service you should fill this object and call the public API ProvisioningServiceClient#createOrUpdateEnrollmentGroup(EnrollmentGroup). The minimum information required by the provisioning service is the enrollmentGroupId and the attestation.

To provision a device using EnrollmentGroup, it must contain a X509 chip with a signingCertificate for the X509Attestation mechanism, or use SymmetricKeyAttestation mechanism.

The content of this class will be serialized in a JSON format and sent as a body of the rest API to the provisioning service.

When serialized, an EnrollmentGroup will look like the following example:

{
        "enrollmentGroupId":"validEnrollmentGroupId",
        "attestation":{
            "type":"x509",
            "signingCertificates":{
                "primary":{
                    "certificate":"[valid certificate]"
                }
            }
        },
        "iotHubHostName":"ContosoIoTHub.azure-devices.net",
        "provisioningStatus":"enabled"
    }
    

The content of this class can be filled by a JSON, received from the provisioning service, as result of a EnrollmentGroup operation like create, update, or query EnrollmentGroup.

The following JSON is a sample of the EnrollmentGroup response, received from the provisioning service.

{
        "enrollmentGroupId":"validEnrollmentGroupId",
        "attestation":{
            "type":"x509",
            "signingCertificates":{
                "primary":{
                    "certificate":"[valid certificate]",
                    "info": {
                        "subjectName": "CN=ROOT_00000000-0000-0000-0000-000000000000, OU=Azure IoT, O=MSFT, C=US",
                        "sha1Thumbprint": "0000000000000000000000000000000000",
                        "sha256Thumbprint": "validEnrollmentGroupId",
                        "issuerName": "CN=ROOT_00000000-0000-0000-0000-000000000000, OU=Azure IoT, O=MSFT, C=US",
                        "notBeforeUtc": "2017-11-14T12:34:18Z",
                        "notAfterUtc": "2017-11-20T12:34:18Z",
                        "serialNumber": "000000000000000000",
                        "version": 3
                    }
                }
            }
        },
        "iotHubHostName":"ContosoIoTHub.azure-devices.net",
        "provisioningStatus":"enabled",
        "createdDateTimeUtc": "2017-09-28T16:29:42.3447817Z",
        "lastUpdatedDateTimeUtc": "2017-09-28T16:29:42.3447817Z",
        "etag": "\"00000000-0000-0000-0000-00000000000\""
    }
    

public class EnrollmentGroup extends Serializable
继承
java.lang.Object
java.io.Serializable
EnrollmentGroup

继承成员

构造函数

EnrollmentGroup(String enrollmentGroupId, Attestation attestation)

CONSTRUCTOR

This constructor creates an instance of the enrollment group with the minimum set of information required by the provisioning service.

When serialized, an EnrollmentGroup will look like the following example:

{
        "enrollmentGroupId":"validEnrollmentGroupId",
        "attestation":{
            "type":"x509",
            "signingCertificates":{
                "primary":{
                    "certificate":"[valid certificate]"
                }
            }
        }
    }
    

EnrollmentGroup(String json)

CONSTRUCTOR

This constructor creates an instance of the enrollment group filling the class with the information provided in the JSON.

The following JSON is a sample of the EnrollmentGroup response, received from the provisioning service.

{
        "enrollmentGroupId":"validEnrollmentGroupId",
        "attestation":{
            "type":"x509",
            "signingCertificates":{
                "primary":{
                    "certificate":"[valid certificate]",
                    "info": {
                        "subjectName": "CN=ROOT_00000000-0000-0000-0000-000000000000, OU=Azure IoT, O=MSFT, C=US",
                        "sha1Thumbprint": "0000000000000000000000000000000000",
                        "sha256Thumbprint": "validEnrollmentGroupId",
                        "issuerName": "CN=ROOT_00000000-0000-0000-0000-000000000000, OU=Azure IoT, O=MSFT, C=US",
                        "notBeforeUtc": "2017-11-14T12:34:18Z",
                        "notAfterUtc": "2017-11-20T12:34:18Z",
                        "serialNumber": "000000000000000000",
                        "version": 3
                    }
                }
            }
        },
        "iotHubHostName":"ContosoIoTHub.azure-devices.net",
        "provisioningStatus":"enabled"
        "createdDateTimeUtc": "2017-09-28T16:29:42.3447817Z",
        "lastUpdatedDateTimeUtc": "2017-09-28T16:29:42.3447817Z",
        "etag": "\"00000000-0000-0000-0000-00000000000\""
    }
    

方法

getAllocationPolicy()

Getter for the allocation policy.

getAttestation()

Getter for the attestation mechanism.

getCapabilities()
getCreatedDateTimeUtc()

Getter for the createdDateTimeUtcDate.

getCustomAllocationDefinition()

Getter for the custom allocation definition policy.

getEnrollmentGroupId()

Getter for the enrollmentGroupId.

getEtag()

Getter for the etag.

getInitialTwin()

Getter for the initialTwin.

getIotHubHostName()

Getter for the iotHubHostName.

getIotHubs()

Getter for the list of IoTHub names that the device can be allocated to..

getLastUpdatedDateTimeUtc()

Getter for the lastUpdatedDateTimeUtcDate.

getProvisioningStatus()

Getter for the provisioningStatus.

getReprovisionPolicy()

Getter for the reprovision policy.

setAllocationPolicy(AllocationPolicy allocationPolicy)

Setter for the allocation policy.

setAttestation(Attestation attestation)

Setter for the attestation.

Attestation mechanism is mandatory parameter that provides the mechanism type and the necessary certificates.

EnrollmentGroup only accept X509Attestation with the RootCertificates, or SymmetricKeyAttestation with Primary and Secondary Keys. You can create an X509Attestation by providing the .pem content to X509Attestation#createFromRootCertificates(String, String). You can create a SymmetricKeyAttestation by providing the Primary and Secondary Keys in Base64 format.

setAttestation(AttestationMechanism attestationMechanism)

Setter for the attestation.

Attestation mechanism is mandatory parameter that provides the mechanism type and the necessary keys/certificates

setCapabilities(DeviceCapabilities capabilities)
setCreatedDateTimeUtc(String createdDateTimeUtc)

Setter for the createdDateTimeUtc.

This Date and Time is provided by the provisioning service. If the enrollmentGroup is not created yet, this string can represent an invalid Date. In this case, it will be ignored.

Example of the expected format: "2016-06-01T21:22:43.7996883Z"

setCustomAllocationDefinition(CustomAllocationDefinition customAllocationDefinition)

Setter for the custom allocation definition policy.

setEnrollmentGroupId(String enrollmentGroupId)

Setter for the enrollmentGroupId.

A valid enrollment group Id shall follow this criteria. A case-sensitive string (up to 128 char long) of ASCII 7-bit alphanumeric chars + {'-', ':', '.', '+', '', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '$', '''}.

setEtag(String etag)

Setter for the etag.

Deprecated

as of provisioning-service-client version 1.3.3, please use setEtagFinal(String)

setEtagFinal(String etag)

Setter for the etag.

setInitialTwin(TwinState initialTwin)

Setter for the initialTwin.

It provides a Twin precondition for the provisioned device.

setInitialTwinFinal(TwinState initialTwin)

Setter for the initialTwin.

It provides a Twin precondition for the provisioned device.

setIotHubHostName(String iotHubHostName)

Setter for the iotHubHostName.

A valid iothub host name shall follow this criteria. A case-sensitive string (up to 128 char long) of ASCII 7-bit alphanumeric chars + {'-', ':', '.', '+', '', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '$', '''}. A valid host name shall have, at least 2 parts separated by '.'.

setIotHubHostNameFinal(String iotHubHostName)

Setter for the iotHubHostName.

A valid iothub host name shall follow this criteria. A case-sensitive string (up to 128 char long) of ASCII 7-bit alphanumeric chars + {'-', ':', '.', '+', '', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '$', '''}. A valid host name shall have, at least 2 parts separated by '.'.

setIotHubs(Collection<String> iotHubs)

Setter for the list of IotHubs available for allocation.

setLastUpdatedDateTimeUtc(String lastUpdatedDateTimeUtc)

Setter for the lastUpdatedDateTimeUtc.

This Date and Time is provided by the provisioning service. If the enrollmentGroup is not created yet, this string can represent an invalid Date. In this case, it will be ignored.

Example of the expected format: "2016-06-01T21:22:43.7996883Z"

setProvisioningStatus(ProvisioningStatus provisioningStatus)

Setter for the provisioningStatus.

It provides a Status precondition for the provisioned device.

Deprecated

as of provisioning-service-client version 1.3.3, please use setProvisioningStatusFinal(ProvisioningStatus)

setProvisioningStatusFinal(ProvisioningStatus provisioningStatus)

Setter for the provisioningStatus.

It provides a Status precondition for the provisioned device.

setReprovisionPolicy(ReprovisionPolicy reprovisionPolicy)

Setter for the reprovision policy.

toJsonElement()

Serializer

Creates aJsonElement  , which the content represents the information in this class and its subclasses in a JSON format.

This is useful if the caller will integrate this JSON with jsons from other classes to generate a consolidated JSON.

适用于