public class EnrollmentGroup extends Serializable
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\""
}
| Constructor and Description |
|---|
EnrollmentGroup(String json)
CONSTRUCTOR
|
EnrollmentGroup(String enrollmentGroupId,
Attestation attestation)
CONSTRUCTOR
|
| Modifier and Type | Method and Description |
|---|---|
AllocationPolicy |
getAllocationPolicy()
Getter for the allocation policy.
|
Attestation |
getAttestation()
Getter for the attestation mechanism.
|
com.microsoft.azure.sdk.iot.deps.twin.DeviceCapabilities |
getCapabilities() |
Date |
getCreatedDateTimeUtc()
Getter for the createdDateTimeUtcDate.
|
CustomAllocationDefinition |
getCustomAllocationDefinition()
Getter for the custom allocation definition policy.
|
String |
getEnrollmentGroupId()
Getter for the enrollmentGroupId.
|
String |
getEtag()
Getter for the etag.
|
TwinState |
getInitialTwin()
Getter for the initialTwin.
|
String |
getIotHubHostName()
Getter for the iotHubHostName.
|
Collection<String> |
getIotHubs()
Getter for the list of IoTHub names that the device can be allocated to..
|
Date |
getLastUpdatedDateTimeUtc()
Getter for the lastUpdatedDateTimeUtcDate.
|
ProvisioningStatus |
getProvisioningStatus()
Getter for the provisioningStatus.
|
ReprovisionPolicy |
getReprovisionPolicy()
Getter for the reprovision policy.
|
void |
setAllocationPolicy(AllocationPolicy allocationPolicy)
Setter for the allocation policy.
|
void |
setAttestation(Attestation attestation)
Setter for the attestation.
|
protected void |
setAttestation(AttestationMechanism attestationMechanism)
Setter for the attestation.
|
void |
setCapabilities(com.microsoft.azure.sdk.iot.deps.twin.DeviceCapabilities capabilities) |
protected void |
setCreatedDateTimeUtc(String createdDateTimeUtc)
Setter for the createdDateTimeUtc.
|
void |
setCustomAllocationDefinition(CustomAllocationDefinition customAllocationDefinition)
Setter for the custom allocation definition policy.
|
protected void |
setEnrollmentGroupId(String enrollmentGroupId)
Setter for the enrollmentGroupId.
|
void |
setEtag(String etag)
Deprecated.
as of provisioning-service-client version 1.3.3, please use
setEtagFinal(String) |
void |
setEtagFinal(String etag)
Setter for the etag.
|
void |
setInitialTwin(TwinState initialTwin)
Deprecated.
|
void |
setInitialTwinFinal(TwinState initialTwin)
Setter for the initialTwin.
|
void |
setIotHubHostName(String iotHubHostName)
Deprecated.
|
void |
setIotHubHostNameFinal(String iotHubHostName)
Setter for the iotHubHostName.
|
void |
setIotHubs(Collection<String> iotHubs)
Setter for the list of IotHubs available for allocation.
|
protected void |
setLastUpdatedDateTimeUtc(String lastUpdatedDateTimeUtc)
Setter for the lastUpdatedDateTimeUtc.
|
void |
setProvisioningStatus(ProvisioningStatus provisioningStatus)
Deprecated.
as of provisioning-service-client version 1.3.3, please use
setProvisioningStatusFinal(ProvisioningStatus) |
void |
setProvisioningStatusFinal(ProvisioningStatus provisioningStatus)
Setter for the provisioningStatus.
|
void |
setReprovisionPolicy(ReprovisionPolicy reprovisionPolicy)
Setter for the reprovision policy.
|
com.google.gson.JsonElement |
toJsonElement()
Serializer
|
toJson, toStringpublic EnrollmentGroup(String enrollmentGroupId, Attestation attestation)
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]"
}
}
}
}
enrollmentGroupId - the String with an unique id for this enrollment group.attestation - the Attestation mechanism that shall be signedCertificate of X509Attestation or symmetricKey of SymmetricKeyAttestationIllegalArgumentException - If one of the provided parameters is not correct.public EnrollmentGroup(String json)
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\""
}
json - the String with the JSON received from the provisioning service.IllegalArgumentException - If the provided JSON is null, empty, or invalid.public com.google.gson.JsonElement toJsonElement()
Creates a JsonElement, 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.
toJsonElement in class SerializableJsonElement with the content of this class.public String getEnrollmentGroupId()
String with the enrollmentGroupId content. It cannot be null or empty.protected final void setEnrollmentGroupId(String 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 + {'-', ':', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '$', '''}.
enrollmentGroupId - the String with the new enrollmentGroupId. It cannot be null, empty, or invalid.IllegalArgumentException - If the provided enrollmentGroupId is null, empty, or invalid.public Attestation getAttestation() throws ProvisioningServiceClientException
Attestation with the attestation content. It cannot be null.ProvisioningServiceClientException - If the type of the attestation mechanism is unknown.protected final void setAttestation(AttestationMechanism attestationMechanism)
Attestation mechanism is mandatory parameter that provides the mechanism type and the necessary keys/certificates
attestationMechanism - the AttestationMechanism with the new attestation mechanism. It can be `tpm`, `x509` or 'symmetricKey'.IllegalArgumentException - If the provided attestation mechanism is null.public void setAttestation(Attestation 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.
attestation - the Attestation with the new attestation mechanism. It shall be X509Attestation or SymmetricKeyAttestationIllegalArgumentException - If the provided attestation mechanism is null or invalid.Attestation,
X509Attestation,
SymmetricKeyAttestationpublic String getIotHubHostName()
String with the iotHubHostName content. It cannot be null or empty.@Deprecated public void setIotHubHostName(String 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 '.'.
iotHubHostName - the String with the new iotHubHostName. It cannot be null, empty, or invalid.IllegalArgumentException - If the provided iotHubHostName is null, empty, or invalid.public final void setIotHubHostNameFinal(String 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 '.'.
iotHubHostName - the String with the new iotHubHostName. It cannot be null, empty, or invalid.IllegalArgumentException - If the provided iotHubHostName is null, empty, or invalid.public TwinState getInitialTwin()
TwinState with the initialTwin content. Its optional and can be null.@Deprecated public void setInitialTwin(TwinState initialTwin)
It provides a Twin precondition for the provisioned device.
initialTwin - the TwinState with the new initialTwin. It cannot be null.IllegalArgumentException - If the provided initialTwin is null.public final void setInitialTwinFinal(TwinState initialTwin)
It provides a Twin precondition for the provisioned device.
initialTwin - the TwinState with the new initialTwin. It cannot be null.IllegalArgumentException - If the provided initialTwin is null.public ProvisioningStatus getProvisioningStatus()
ProvisioningStatus with the provisioningStatus content. It can be 'enabled' or 'disabled'.@Deprecated public void setProvisioningStatus(ProvisioningStatus provisioningStatus)
setProvisioningStatusFinal(ProvisioningStatus)It provides a Status precondition for the provisioned device.
provisioningStatus - the ProvisioningStatus with the new provisioningStatus. It cannot be null.IllegalArgumentException - If the provided provisioningStatus is null.public final void setProvisioningStatusFinal(ProvisioningStatus provisioningStatus)
It provides a Status precondition for the provisioned device.
provisioningStatus - the ProvisioningStatus with the new provisioningStatus. It cannot be null.IllegalArgumentException - If the provided provisioningStatus is null.public Date getCreatedDateTimeUtc()
Date with the createdDateTimeUtcDate content. It can be null.protected final void setCreatedDateTimeUtc(String 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"
createdDateTimeUtc - the String with the new createdDateTimeUtc. It can be null, empty or not valid.public Date getLastUpdatedDateTimeUtc()
Date with the lastUpdatedDateTimeUtcDate content. It can be null.protected final void setLastUpdatedDateTimeUtc(String 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"
lastUpdatedDateTimeUtc - the String with the new lastUpdatedDateTimeUtc. It can be null, empty or not valid.public String getEtag()
String with the etag content. It can be null.@Deprecated public void setEtag(String etag)
setEtagFinal(String)etag - the String with the new etag. It cannot be null, empty or invalid.IllegalArgumentException - If the provided etag is null, empty or invalid.public final void setEtagFinal(String etag)
etag - the String with the new etag. It cannot be null, empty or invalid.IllegalArgumentException - If the provided etag is null, empty or invalid.public com.microsoft.azure.sdk.iot.deps.twin.DeviceCapabilities getCapabilities()
public final void setCapabilities(com.microsoft.azure.sdk.iot.deps.twin.DeviceCapabilities capabilities)
capabilities - the device capabilities to setpublic ReprovisionPolicy getReprovisionPolicy()
ReprovisionPolicy with the reprovisionPolicy content.public void setReprovisionPolicy(ReprovisionPolicy reprovisionPolicy)
reprovisionPolicy - the ReprovisionPolicy with the behavior when a device is re-provisioned to an IoT hub.public AllocationPolicy getAllocationPolicy()
AllocationPolicy with the allocationPolicy content.public void setAllocationPolicy(AllocationPolicy allocationPolicy)
allocationPolicy - the AllocationPolicy with the allocation policy of this resource. Overrides the tenant level allocation policy.public Collection<String> getIotHubs()
AllocationPolicy with the allocationPolicy content.public void setIotHubs(Collection<String> iotHubs)
iotHubs - the List<String> of names of IoT hubs the device(s) in this resource can be allocated to. Must be a subset of tenant level list of IoT hubspublic CustomAllocationDefinition getCustomAllocationDefinition()
CustomAllocationDefinition policy.public void setCustomAllocationDefinition(CustomAllocationDefinition customAllocationDefinition)
customAllocationDefinition - the CustomAllocationDefinition with the custom allocation policy of this resource.Copyright © 2021. All rights reserved.