swagger: '2.0' info: version: 2020-08-01-preview title: Microsoft Azure AccessControlClient AccessConnector PUT API schemes: - https tags: - name: PUT paths: ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName} : put: tags: - PUT summary: Microsoft Azure Update Private Endpoint Connection Status description: Update the status of a private endpoint connection with the specified name operationId: microsoftAzurePrivateendpointconnectionsCreate x-ms-examples: Update a private endpoint connection: $ref: ./examples/PrivateEndpointConnectionsUpdate.json x-ms-long-running-operation: true parameters: - $ref: '#/parameters/ResourceGroupName' - $ref: '#/parameters/WorkspaceName' - $ref: '#/parameters/ApiVersionParameter' - $ref: '#/parameters/SubscriptionIdParameter' - $ref: '#/parameters/PrivateEndpointConnectionName' - name: privateEndpointConnection in: body description: The private endpoint connection with updated properties required: true schema: $ref: '#/definitions/PrivateEndpointConnection' responses: '200': description: OK -- Update the private endpoint connection properties successfully. schema: $ref: '#/definitions/PrivateEndpointConnection' '202': description: Accepted - This is a long running operation. The operation returns a 202 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. schema: $ref: '#/definitions/PrivateEndpointConnection' default: description: DefaultErrorResponse schema: $ref: '#/definitions/ErrorResponse' /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}: put: tags: - PUT summary: Microsoft Azure Create Or Update The Metadata Of An Iot Hub description: Create or update the metadata of an Iot hub. The usual pattern to modify a property is to retrieve the IoT hub metadata and security metadata, and then combine them with the modified values in a new body to update the IoT hub. operationId: microsoftAzureIothubresourceCreateorupdate x-ms-examples: IotHubResource_CreateOrUpdate: $ref: ./examples/iothub_createOrUpdate.json x-ms-long-running-operation: true parameters: - $ref: '#/parameters/api-version' - $ref: '#/parameters/subscriptionId' - $ref: '#/parameters/resourceGroupName' - $ref: '#/parameters/resourceName' - name: iotHubDescription in: body description: The IoT hub metadata and security metadata. required: true schema: $ref: '#/definitions/IotHubDescription' - name: If-Match in: header required: false type: string description: ETag of the IoT Hub. Do not specify for creating a brand new IoT Hub. Required to update an existing IoT Hub. responses: '200': description: This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state. schema: $ref: '#/definitions/IotHubDescription' '201': description: This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK). schema: $ref: '#/definitions/IotHubDescription' default: description: DefaultErrorResponse schema: $ref: '#/definitions/ErrorDetails' deprecated: false ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name} : put: tags: - PUT summary: Microsoft Azure Add A Consumer Group To An Event Hub Compatible Endpoint In An Iot Hub description: Add a consumer group to an Event Hub-compatible endpoint in an IoT hub. operationId: microsoftAzureIothubresourceCreateeventhubconsumergroup x-ms-examples: IotHubResource_CreateEventHubConsumerGroup: $ref: ./examples/iothub_createconsumergroup.json parameters: - $ref: '#/parameters/api-version' - $ref: '#/parameters/subscriptionId' - $ref: '#/parameters/resourceGroupName' - $ref: '#/parameters/resourceName' - name: eventHubEndpointName in: path description: The name of the Event Hub-compatible endpoint in the IoT hub. required: true type: string - name: name in: path description: The name of the consumer group to add. required: true type: string - name: consumerGroupBody in: body description: The consumer group to add. required: true schema: $ref: '#/definitions/EventHubConsumerGroupBodyDescription' responses: '200': description: This is a synchronous operation. schema: $ref: '#/definitions/EventHubConsumerGroupInfo' default: description: DefaultErrorResponse schema: $ref: '#/definitions/ErrorDetails' deprecated: false ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName} : put: tags: - PUT summary: Microsoft Azure Update Private Endpoint Connection description: Update the status of a private endpoint connection with the specified name operationId: microsoftAzurePrivateendpointconnectionsUpdate x-ms-examples: PrivateEndpointConnection_Update: $ref: ./examples/iothub_updateprivateendpointconnection.json x-ms-long-running-operation: true parameters: - $ref: '#/parameters/api-version' - $ref: '#/parameters/subscriptionId' - $ref: '#/parameters/resourceGroupName' - $ref: '#/parameters/resourceName' - $ref: '#/parameters/privateEndpointConnectionName' - name: privateEndpointConnection in: body description: The private endpoint connection with updated properties required: true schema: $ref: '#/definitions/PrivateEndpointConnection_2' responses: '200': description: This is returned as a response to the status polling request for the update operation. schema: $ref: '#/definitions/PrivateEndpointConnection_2' '201': description: This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK). schema: $ref: '#/definitions/PrivateEndpointConnection_2' default: description: DefaultErrorResponse schema: $ref: '#/definitions/ErrorDetails' deprecated: false /enrollments/{id}: put: tags: - PUT summary: Microsoft Azure Create Or Update A Device Enrollment Record operationId: microsoftAzureIndividualenrollmentCreateorupdate consumes: - application/json produces: - application/json parameters: - name: id in: path description: 'This id is used to uniquely identify a device registration of an enrollment. A case-insensitive string (up to 128 characters long) of alphanumeric characters plus certain special characters : . _ -. No special characters allowed at start or end.' required: true type: string - name: enrollment in: body description: The device enrollment record. required: true schema: $ref: '#/definitions/IndividualEnrollment' - name: If-Match in: header description: The ETag of the enrollment record. required: false type: string - $ref: '#/parameters/ApiVersionParameter_2' responses: '200': description: Success schema: $ref: '#/definitions/IndividualEnrollment' default: description: Error response schema: $ref: '#/definitions/ProvisioningServiceErrorDetails' headers: x-ms-error-code: description: The error code for specific error that occurred. type: string description: Needs a more full description created. /enrollmentGroups/{id}: put: tags: - PUT summary: Microsoft Azure Create Or Update A Device Enrollment Group operationId: microsoftAzureEnrollmentgroupCreateorupdate consumes: - application/json produces: - application/json parameters: - name: id in: path description: Enrollment group ID. required: true type: string - name: enrollmentGroup in: body description: The device enrollment group. required: true schema: $ref: '#/definitions/EnrollmentGroup' - name: If-Match in: header description: The ETag of the enrollment record. required: false type: string - $ref: '#/parameters/ApiVersionParameter_2' responses: '200': description: Success schema: $ref: '#/definitions/EnrollmentGroup' default: description: Error response schema: $ref: '#/definitions/ProvisioningServiceErrorDetails' headers: x-ms-error-code: description: The error code for specific error that occurred. type: string description: Needs a more full description created. definitions: RoutingEventHubProperties: description: The properties related to an event hub endpoint. type: object properties: id: description: Id of the event hub endpoint type: string connectionString: description: 'The connection string of the event hub endpoint. ' type: string endpointUri: description: The url of the event hub endpoint. It must include the protocol sb:// type: string entityPath: description: Event hub name on the event hub namespace type: string authenticationType: description: Method used to authenticate against the event hub endpoint enum: - keyBased - identityBased type: string x-ms-enum: name: authenticationType modelAsString: true identity: description: Managed identity properties of routing event hub endpoint. $ref: '#/definitions/ManagedIdentity' name: description: 'The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.' type: string pattern: ^[A-Za-z0-9-._]{1,64}$ subscriptionId: description: The subscription identifier of the event hub endpoint. type: string resourceGroup: description: The name of the resource group of the event hub endpoint. type: string required: - name RoutingServiceBusTopicEndpointProperties: description: The properties related to service bus topic endpoint types. type: object properties: id: description: Id of the service bus topic endpoint type: string connectionString: description: The connection string of the service bus topic endpoint. type: string endpointUri: description: The url of the service bus topic endpoint. It must include the protocol sb:// type: string entityPath: description: Queue name on the service bus topic type: string authenticationType: description: Method used to authenticate against the service bus topic endpoint enum: - keyBased - identityBased type: string x-ms-enum: name: authenticationType modelAsString: true identity: description: Managed identity properties of routing service bus topic endpoint. $ref: '#/definitions/ManagedIdentity' name: description: 'The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name.' type: string pattern: ^[A-Za-z0-9-._]{1,64}$ subscriptionId: description: The subscription identifier of the service bus topic endpoint. type: string resourceGroup: description: The name of the resource group of the service bus topic endpoint. type: string required: - name EncryptionPropertiesDescription: description: The encryption properties for the IoT hub. type: object properties: keySource: description: The source of the key. type: string keyVaultProperties: description: The properties of the KeyVault key. type: array items: $ref: '#/definitions/KeyVaultKeyProperties' X509CertificateWithInfo: description: Certificate and Certificate info type: object properties: certificate: type: string info: $ref: '#/definitions/X509CertificateInfo' ErrorInfo: title: The code and message for an error. type: object properties: code: description: A machine readable error code. type: string message: description: A human readable error message. type: string details: description: error details. type: array items: $ref: '#/definitions/ErrorDetail' innererror: description: Inner error details if they exist. type: string required: - code - message ErrorDetail: title: Error details. type: object properties: code: description: The error's code. type: string message: description: A human readable error message. type: string target: description: Indicates which property in the request is responsible for the error. type: string required: - code - message DeviceCapabilities: description: Device capabilities. required: - iotEdge type: object properties: iotEdge: description: If set to true, this device is an IoTEdge device. default: false type: boolean PrivateEndpoint: description: The private endpoint property of a private endpoint connection type: object properties: id: readOnly: true type: string description: The resource identifier. ProvisioningServiceErrorDetails: description: Contains the properties of an error returned by the Azure IoT Hub Provisioning Service. type: object properties: errorCode: format: int32 type: integer trackingId: type: string message: type: string info: type: object additionalProperties: type: string timestampUtc: format: date-time type: string ErrorDetails: description: Error details. type: object properties: code: description: The error code. type: string readOnly: true httpStatusCode: description: The HTTP status code. type: string readOnly: true message: description: The error message. type: string readOnly: true details: description: The error details. type: string readOnly: true IotHubDescription: description: The description of the IoT hub. type: object properties: etag: description: The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention. type: string properties: description: IotHub properties $ref: '#/definitions/IotHubProperties' sku: description: IotHub SKU info $ref: '#/definitions/IotHubSkuInfo' identity: description: The managed identities for the IotHub. $ref: '#/definitions/ArmIdentity' systemData: readOnly: true description: The system meta data relating to this resource. $ref: '#/definitions/systemData' allOf: - $ref: '#/definitions/Resource' required: - sku EnrichmentProperties: description: The properties of an enrichment that your IoT hub applies to messages delivered to endpoints. type: object properties: key: description: The key or name for the enrichment property. type: string value: description: The value for the enrichment property. type: string endpointNames: description: The list of endpoints for which the enrichment is applied to the message. minItems: 1 type: array items: type: string required: - key - value - endpointNames FallbackRouteProperties: description: The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint. type: object properties: name: description: The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique. type: string source: description: The source to which the routing rule is to be applied to. For example, DeviceMessages enum: - DeviceMessages type: string x-ms-enum: name: RoutingSource modelAsString: true condition: description: 'The condition which is evaluated in order to apply the fallback route. If the condition is not provided it will evaluate to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language' type: string endpointNames: description: The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 endpoint is allowed. minItems: 1 maxItems: 1 type: array items: type: string isEnabled: description: Used to specify whether the fallback route is enabled. type: boolean required: - endpointNames - source - isEnabled SymmetricKeyAttestation: description: Attestation via SymmetricKey. type: object properties: primaryKey: description: Primary symmetric key. type: string secondaryKey: description: Secondary symmetric key. type: string X509CAReferences: description: Primary and secondary CA references. type: object properties: primary: type: string secondary: type: string InitialTwin: description: Initial device twin. Contains a subset of the properties of Twin. type: object properties: tags: $ref: '#/definitions/TwinCollection' description: Twin tags. properties: $ref: '#/definitions/InitialTwinProperties' description: Twin desired properties. ArmIdentity: type: object properties: principalId: description: Principal Id type: string readOnly: true tenantId: description: Tenant Id type: string readOnly: true type: description: The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. type: string enum: - SystemAssigned - UserAssigned - SystemAssigned, UserAssigned - None x-ms-enum: name: ResourceIdentityType modelAsString: false userAssignedIdentities: type: object additionalProperties: $ref: '#/definitions/ArmUserIdentity' ArmUserIdentity: type: object properties: principalId: type: string readOnly: true clientId: type: string readOnly: true IndividualEnrollment: description: The device enrollment record. required: - registrationId - attestation type: object properties: registrationId: description: "This id is used to uniquely identify a device registration of an enrollment.\r\nA case-insensitive string (up to 128 characters long) of alphanumeric characters plus certain special characters : . _ -. No special characters allowed at start or end." type: string deviceId: description: Desired IoT Hub device ID (optional). type: string registrationState: $ref: '#/definitions/DeviceRegistrationState' description: Current registration status. readOnly: true optionalDeviceInformation: $ref: '#/definitions/TwinCollection' description: Optional Device Information. attestation: $ref: '#/definitions/AttestationMechanism' description: Attestation method used by the device. capabilities: $ref: '#/definitions/DeviceCapabilities' description: Capabilities of the device. iotHubHostName: description: The Iot Hub host name. type: string initialTwin: $ref: '#/definitions/InitialTwin' description: Initial device twin. etag: description: The entity tag associated with the resource. type: string provisioningStatus: description: The provisioning status. default: enabled enum: - enabled - disabled type: string reprovisionPolicy: $ref: '#/definitions/ReprovisionPolicy' description: The behavior when a device is re-provisioned to an IoT hub. createdDateTimeUtc: format: date-time description: The DateTime this resource was created. type: string readOnly: true lastUpdatedDateTimeUtc: format: date-time description: The DateTime this resource was last updated. type: string readOnly: true allocationPolicy: description: 'The allocation policy of this resource. This policy overrides the tenant level allocation policy for this individual enrollment or enrollment group. Possible values include ''hashed'': Linked IoT hubs are equally likely to have devices provisioned to them, ''geoLatency'': Devices are provisioned to an IoT hub with the lowest latency to the device.If multiple linked IoT hubs would provide the same lowest latency, the provisioning service hashes devices across those hubs, ''static'' : Specification of the desired IoT hub in the enrollment list takes priority over the service-level allocation policy, ''custom'': Devices are provisioned to an IoT hub based on your own custom logic. The provisioning service passes information about the device to the logic, and the logic returns the desired IoT hub as well as the desired initial configuration. We recommend using Azure Functions to host your logic.' enum: - hashed - geoLatency - static - custom type: string iotHubs: description: The list of IoT Hub hostnames the device(s) in this resource can be allocated to. Must be a subset of tenant level list of IoT hubs. type: array items: type: string customAllocationDefinition: $ref: '#/definitions/CustomAllocationDefinition' description: This tells DPS which webhook to call when using custom allocation. ReprovisionPolicy: description: The behavior of the service when a device is re-provisioned to an IoT hub. required: - updateHubAssignment - migrateDeviceData type: object properties: updateHubAssignment: description: When set to true (default), the Device Provisioning Service will evaluate the device's IoT Hub assignment and update it if necessary for any provisioning requests beyond the first from a given device. If set to false, the device will stay assigned to its current IoT hub. default: true type: boolean migrateDeviceData: description: When set to true (default), the Device Provisioning Service will migrate the device's data (twin, device capabilities, and device ID) from one IoT hub to another during an IoT hub assignment update. If set to false, the Device Provisioning Service will reset the device's data to the initial desired configuration stored in the corresponding enrollment list. default: true type: boolean X509CertificateInfo: description: X509 certificate info. required: - subjectName - sha1Thumbprint - sha256Thumbprint - issuerName - notBeforeUtc - notAfterUtc - serialNumber - version type: object properties: subjectName: type: string sha1Thumbprint: type: string sha256Thumbprint: type: string issuerName: type: string notBeforeUtc: format: date-time type: string notAfterUtc: format: date-time type: string serialNumber: type: string version: format: int32 type: integer AttestationMechanism: description: Attestation mechanism for individualEnrollment as well as enrollmentGroup. required: - type type: object properties: type: description: Attestation Type. enum: - none - tpm - x509 - symmetricKey type: string tpm: $ref: '#/definitions/TpmAttestation' description: TPM attestation method. x509: $ref: '#/definitions/X509Attestation' description: X509 attestation method. symmetricKey: $ref: '#/definitions/SymmetricKeyAttestation' description: Symmetric Key attestation method. PrivateLinkServiceConnectionState: description: The current state of a private endpoint connection type: object properties: status: description: The status of a private endpoint connection enum: - Pending - Approved - Rejected - Disconnected type: string x-ms-enum: name: PrivateLinkServiceConnectionStatus modelAsString: true description: type: string description: The description for the current state of a private endpoint connection actionsRequired: type: string description: Actions required for a private endpoint connection required: - status NetworkRuleSetIpRule: description: IP Rule to be applied as part of Network Rule Set type: object properties: filterName: type: string description: Name of the IP filter rule. action: type: string description: IP Filter Action enum: - Allow x-ms-enum: name: NetworkRuleIPAction modelAsString: true default: Allow ipMask: type: string description: A string that contains the IP address range in CIDR notation for the rule. required: - filterName - ipMask RoutingProperties: description: 'The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging' type: object properties: endpoints: $ref: '#/definitions/RoutingEndpoints' routes: description: The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs. type: array items: $ref: '#/definitions/RouteProperties' fallbackRoute: description: The properties of the route that is used as a fall-back route when none of the conditions specified in the 'routes' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the 'routes' section get routed to the built-in eventhub endpoint. $ref: '#/definitions/FallbackRouteProperties' enrichments: description: 'The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/telemetryoneventgrid' type: array items: $ref: '#/definitions/EnrichmentProperties' X509Attestation: description: Attestation via X509. type: object properties: clientCertificates: $ref: '#/definitions/X509Certificates' signingCertificates: $ref: '#/definitions/X509Certificates' caReferences: $ref: '#/definitions/X509CAReferences' EventHubConsumerGroupInfo: description: The properties of the EventHubConsumerGroupInfo object. x-ms-azure-resource: true type: object properties: properties: description: The tags. type: object additionalProperties: {} id: description: The Event Hub-compatible consumer group identifier. type: string readOnly: true name: description: The Event Hub-compatible consumer group name. type: string readOnly: true type: description: the resource type. type: string readOnly: true etag: description: The etag. type: string readOnly: true PrivateEndpointConnectionProperties: description: The properties of a private endpoint connection type: object properties: privateEndpoint: title: Private endpoint description: Private endpoint $ref: '#/definitions/PrivateEndpoint' groupIds: type: array description: GroupIds from the private link service resource. items: type: string privateLinkServiceConnectionState: title: Private link service service connection state description: Private endpoint connection state $ref: '#/definitions/PrivateLinkServiceConnectionState' provisioningState: $ref: '#/definitions/PrivateEndpointConnectionProvisioningState' description: Provisioning state of the private endpoint connection. required: - privateLinkServiceConnectionState MessagingEndpointProperties: description: The properties of the messaging endpoints used by this IoT hub. type: object properties: lockDurationAsIso8601: description: 'The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.' type: string format: duration ttlAsIso8601: description: 'The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.' type: string format: duration maxDeliveryCount: description: 'The number of times the IoT hub attempts to deliver a message. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.' format: int32 type: integer minimum: 1 maximum: 100 CloudToDeviceProperties: description: The IoT hub cloud-to-device messaging properties. type: object properties: maxDeliveryCount: description: 'The max delivery count for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.' format: int32 type: integer minimum: 1 maximum: 100 defaultTtlAsIso8601: description: 'The default time to live for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.' type: string format: duration feedback: $ref: '#/definitions/FeedbackProperties' TpmAttestation: description: Attestation via TPM. required: - endorsementKey type: object properties: endorsementKey: type: string storageRootKey: type: string Resource: description: The common properties of an Azure resource. properties: id: readOnly: true type: string description: The resource identifier. name: readOnly: true type: string description: The resource name. pattern: ^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$ type: readOnly: true type: string description: The resource type. location: type: string description: The resource location. tags: type: object additionalProperties: type: string description: The resource tags. x-ms-azure-resource: true required: - location FeedbackProperties: description: The properties of the feedback queue for cloud-to-device messages. type: object properties: lockDurationAsIso8601: description: 'The lock duration for the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.' type: string format: duration ttlAsIso8601: description: 'The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.' type: string format: duration maxDeliveryCount: description: 'The number of times the IoT hub attempts to deliver a message on the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.' format: int32 type: integer minimum: 1 maximum: 100 EnrollmentGroup: description: Enrollment group record. required: - enrollmentGroupId - attestation type: object properties: enrollmentGroupId: description: Enrollment Group ID. type: string attestation: $ref: '#/definitions/AttestationMechanism' description: Attestation method used by the device. capabilities: $ref: '#/definitions/DeviceCapabilities' description: Capabilities of the device. iotHubHostName: description: The Iot Hub host name. type: string initialTwin: $ref: '#/definitions/InitialTwin' description: Initial device twin. etag: description: The entity tag associated with the resource. type: string provisioningStatus: description: The provisioning status. default: enabled enum: - enabled - disabled type: string reprovisionPolicy: $ref: '#/definitions/ReprovisionPolicy' description: The behavior when a device is re-provisioned to an IoT hub. createdDateTimeUtc: format: date-time description: The DateTime this resource was created. type: string readOnly: true lastUpdatedDateTimeUtc: format: date-time description: The DateTime this resource was last updated. type: string readOnly: true allocationPolicy: description: 'The allocation policy of this resource. This policy overrides the tenant level allocation policy for this individual enrollment or enrollment group. Possible values include ''hashed'': Linked IoT hubs are equally likely to have devices provisioned to them, ''geoLatency'': Devices are provisioned to an IoT hub with the lowest latency to the device.If multiple linked IoT hubs would provide the same lowest latency, the provisioning service hashes devices across those hubs, ''static'' : Specification of the desired IoT hub in the enrollment list takes priority over the service-level allocation policy, ''custom'': Devices are provisioned to an IoT hub based on your own custom logic. The provisioning service passes information about the device to the logic, and the logic returns the desired IoT hub as well as the desired initial configuration. We recommend using Azure Functions to host your logic.' enum: - hashed - geoLatency - static - custom type: string iotHubs: description: The list of IoT Hub hostnames the device(s) in this resource can be allocated to. Must be a subset of tenant level list of IoT hubs. type: array items: type: string customAllocationDefinition: $ref: '#/definitions/CustomAllocationDefinition' description: This tells DPS which webhook to call when using custom allocation. RoutingEndpoints: description: The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs. type: object properties: serviceBusQueues: description: The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing rules. type: array items: $ref: '#/definitions/RoutingServiceBusQueueEndpointProperties' serviceBusTopics: description: The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing rules. type: array items: $ref: '#/definitions/RoutingServiceBusTopicEndpointProperties' eventHubs: description: The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does not include the built-in Event Hubs endpoint. type: array items: $ref: '#/definitions/RoutingEventHubProperties' storageContainers: description: The list of storage container endpoints that IoT hub routes messages to, based on the routing rules. type: array items: $ref: '#/definitions/RoutingStorageContainerProperties' EventHubConsumerGroupBodyDescription: description: The EventHub consumer group. type: object properties: properties: $ref: '#/definitions/EventHubConsumerGroupName' required: - properties IotHubLocationDescription: description: Public representation of one of the locations where a resource is provisioned. type: object properties: location: description: The name of the Azure region type: string role: description: The role of the region, can be either primary or secondary. The primary region is where the IoT hub is currently provisioned. The secondary region is the Azure disaster recovery (DR) paired region and also the region where the IoT hub can failover to. enum: - primary - secondary type: string x-ms-enum: name: IotHubReplicaRoleType modelAsString: true SharedAccessSignatureAuthorizationRule: description: The properties of an IoT hub shared access policy. type: object properties: keyName: description: The name of the shared access policy. type: string primaryKey: description: The primary key. type: string secondaryKey: description: The secondary key. type: string rights: description: The permissions assigned to the shared access policy. enum: - RegistryRead - RegistryWrite - ServiceConnect - DeviceConnect - RegistryRead, RegistryWrite - RegistryRead, ServiceConnect - RegistryRead, DeviceConnect - RegistryWrite, ServiceConnect - RegistryWrite, DeviceConnect - ServiceConnect, DeviceConnect - RegistryRead, RegistryWrite, ServiceConnect - RegistryRead, RegistryWrite, DeviceConnect - RegistryRead, ServiceConnect, DeviceConnect - RegistryWrite, ServiceConnect, DeviceConnect - RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect type: string x-ms-enum: name: AccessRights modelAsString: false required: - keyName - rights RoutingStorageContainerProperties: description: The properties related to a storage container endpoint. type: object properties: id: description: Id of the storage container endpoint type: string connectionString: description: The connection string of the storage account. type: string endpointUri: description: The url of the storage endpoint. It must include the protocol https:// type: string authenticationType: description: Method used to authenticate against the storage endpoint enum: - keyBased - identityBased type: string x-ms-enum: name: authenticationType modelAsString: true identity: description: Managed identity properties of routing storage endpoint. $ref: '#/definitions/ManagedIdentity' name: description: 'The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.' type: string pattern: ^[A-Za-z0-9-._]{1,64}$ subscriptionId: description: The subscription identifier of the storage account. type: string resourceGroup: description: The name of the resource group of the storage account. type: string containerName: description: The name of storage container in the storage account. type: string fileNameFormat: description: File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered. type: string batchFrequencyInSeconds: description: Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds. format: int32 type: integer maximum: 720 minimum: 60 maxChunkSizeInBytes: description: Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB). format: int32 type: integer maximum: 524288000 minimum: 10485760 encoding: description: Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. Default value is 'avro'. type: string enum: - Avro - AvroDeflate - JSON required: - name - containerName PrivateEndpointConnection: description: The private endpoint connection of a workspace x-ms-azure-resource: true type: object properties: id: readOnly: true type: string description: The resource identifier. name: readOnly: true type: string description: The resource name. type: readOnly: true type: string description: The resource type. properties: type: object description: The private endpoint connection properties. x-ms-client-flatten: false $ref: '#/definitions/PrivateEndpointConnectionProperties' required: - properties CustomAllocationDefinition: description: This tells DPS which webhook to call when using custom allocation. required: - webhookUrl - apiVersion type: object properties: webhookUrl: description: The webhook URL used for allocation requests. type: string apiVersion: description: 'The API version of the provisioning service types (such as IndividualEnrollment) sent in the custom allocation request. Minimum supported version: "2018-09-01-preview".' type: string StorageEndpointProperties: description: The properties of the Azure Storage endpoint for file upload. type: object properties: sasTtlAsIso8601: description: 'The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options.' type: string format: duration connectionString: description: The connection string for the Azure Storage account to which files are uploaded. type: string containerName: description: The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified. type: string authenticationType: description: Specifies authentication type being used for connecting to the storage account. enum: - keyBased - identityBased type: string x-ms-enum: name: AuthenticationType modelAsString: true identity: description: Managed identity properties of storage endpoint for file upload. $ref: '#/definitions/ManagedIdentity' required: - connectionString - containerName RoutingServiceBusQueueEndpointProperties: description: The properties related to service bus queue endpoint types. type: object properties: id: description: Id of the service bus queue endpoint type: string connectionString: description: The connection string of the service bus queue endpoint. type: string endpointUri: description: The url of the service bus queue endpoint. It must include the protocol sb:// type: string entityPath: description: Queue name on the service bus namespace type: string authenticationType: description: Method used to authenticate against the service bus queue endpoint enum: - keyBased - identityBased type: string x-ms-enum: name: authenticationType modelAsString: true identity: description: Managed identity properties of routing service bus queue endpoint. $ref: '#/definitions/ManagedIdentity' name: description: 'The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name.' type: string pattern: ^[A-Za-z0-9-._]{1,64}$ subscriptionId: description: The subscription identifier of the service bus queue endpoint. type: string resourceGroup: description: The name of the resource group of the service bus queue endpoint. type: string required: - name PrivateLinkServiceConnectionState_2: description: The current state of a private endpoint connection type: object properties: status: description: The status of a private endpoint connection enum: - Pending - Approved - Rejected - Disconnected type: string x-ms-enum: name: PrivateLinkServiceConnectionStatus modelAsString: true description: type: string description: The description for the current state of a private endpoint connection actionsRequired: type: string description: Actions required for a private endpoint connection required: - status - description IotHubSkuInfo: description: Information about the SKU of the IoT hub. type: object properties: name: description: The name of the SKU. enum: - F1 - S1 - S2 - S3 - B1 - B2 - B3 type: string x-ms-enum: name: IotHubSku modelAsString: true tier: description: The billing tier for the IoT hub. enum: - Free - Standard - Basic type: string readOnly: true x-ms-enum: name: IotHubSkuTier modelAsString: false capacity: format: int64 description: 'The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits.' type: integer required: - name ManagedIdentity: description: The properties of the Managed identity. type: object properties: userAssignedIdentity: type: string description: The user assigned identity. Metadata: description: Metadata for the TwinCollection type: object properties: lastUpdated: format: date-time description: Last time the TwinCollection was updated type: string lastUpdatedVersion: format: int64 description: This is null for reported properties metadata and is not null for desired properties metadata. type: integer EventHubProperties: description: The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub. type: object properties: retentionTimeInDays: format: int64 description: 'The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages' type: integer partitionCount: format: int32 description: 'The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages.' type: integer partitionIds: description: The partition ids in the Event Hub-compatible endpoint. readOnly: true type: array items: type: string path: description: The Event Hub-compatible name. type: string readOnly: true endpoint: description: The Event Hub-compatible endpoint. type: string readOnly: true PrivateEndpointConnectionProvisioningState: type: string readOnly: true description: The current provisioning state. enum: - Succeeded - Creating - Updating - Deleting - Failed x-ms-enum: name: PrivateEndpointConnectionProvisioningState modelAsString: true InitialTwinProperties: description: Represents the initial properties that will be set on the device twin. type: object properties: desired: $ref: '#/definitions/TwinCollection' description: Gets and sets the InitialTwin desired properties. IpFilterRule: description: The IP filter rules for the IoT hub. type: object properties: filterName: description: The name of the IP filter rule. type: string action: description: The desired action for requests captured by this rule. enum: - Accept - Reject type: string x-ms-enum: name: IpFilterActionType modelAsString: false ipMask: description: A string that contains the IP address range in CIDR notation for the rule. type: string required: - filterName - action - ipMask ErrorResponse: title: Error response. description: Contains details when the response code indicates an error. type: object properties: error: description: The error details. $ref: '#/definitions/ErrorInfo' required: - error PrivateEndpointConnectionProperties_2: description: The properties of a private endpoint connection type: object properties: privateEndpoint: $ref: '#/definitions/PrivateEndpoint' privateLinkServiceConnectionState: $ref: '#/definitions/PrivateLinkServiceConnectionState_2' required: - privateLinkServiceConnectionState DeviceRegistrationState: description: Device registration state. type: object properties: registrationId: description: "This id is used to uniquely identify a device registration of an enrollment.\r\nA case-insensitive string (up to 128 characters long) of alphanumeric characters plus certain special characters : . _ -. No special characters allowed at start or end." type: string readOnly: true createdDateTimeUtc: format: date-time description: Registration create date time (in UTC). type: string readOnly: true assignedHub: description: Assigned Azure IoT Hub. type: string readOnly: true deviceId: description: Device ID. type: string readOnly: true status: description: Enrollment status. enum: - unassigned - assigning - assigned - failed - disabled type: string readOnly: true substatus: description: 'Substatus for ''Assigned'' devices. Possible values include - ''initialAssignment'': Device has been assigned to an IoT hub for the first time, ''deviceDataMigrated'': Device has been assigned to a different IoT hub and its device data was migrated from the previously assigned IoT hub. Device data was removed from the previously assigned IoT hub, ''deviceDataReset'': Device has been assigned to a different IoT hub and its device data was populated from the initial state stored in the enrollment. Device data was removed from the previously assigned IoT hub, ''reprovisionedToInitialAssignment'': Device has been re-provisioned to a previously assigned IoT hub.' enum: - initialAssignment - deviceDataMigrated - deviceDataReset - reprovisionedToInitialAssignment type: string readOnly: true errorCode: format: int32 description: Error code. type: integer readOnly: true errorMessage: description: Error message. type: string readOnly: true lastUpdatedDateTimeUtc: format: date-time description: Last updated date time (in UTC). type: string readOnly: true etag: description: The entity tag associated with the resource. type: string readOnly: true payload: description: Custom allocation payload returned from the webhook to the device. type: object readOnly: true RouteProperties: description: The properties of a routing rule that your IoT hub uses to route messages to endpoints. type: object properties: name: description: The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique. type: string pattern: ^[A-Za-z0-9-._]{1,64}$ source: description: The source that the routing rule is to be applied to, such as DeviceMessages. enum: - Invalid - DeviceMessages - TwinChangeEvents - DeviceLifecycleEvents - DeviceJobLifecycleEvents - DigitalTwinChangeEvents - DeviceConnectionStateEvents - MqttBrokerMessages type: string x-ms-enum: name: RoutingSource modelAsString: true condition: description: 'The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language' type: string endpointNames: description: The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed. minItems: 1 maxItems: 1 type: array items: type: string isEnabled: description: Used to specify whether a route is enabled. type: boolean required: - name - endpointNames - source - isEnabled TwinCollection: description: Represents a collection of properties within a Twin type: object properties: version: format: int64 description: Version of the TwinCollection type: integer count: description: Number of properties in the TwinCollection type: integer metadata: $ref: '#/definitions/Metadata' description: Metadata for the TwinCollection additionalProperties: type: object IotHubProperties: description: The properties of an IoT hub. type: object properties: authorizationPolicies: description: The shared access policies you can use to secure a connection to the IoT hub. type: array items: $ref: '#/definitions/SharedAccessSignatureAuthorizationRule' disableLocalAuth: description: If true, SAS tokens with Iot hub scoped SAS keys cannot be used for authentication. type: boolean disableDeviceSAS: description: If true, all device(including Edge devices but excluding modules) scoped SAS keys cannot be used for authentication. type: boolean disableModuleSAS: description: If true, all module scoped SAS keys cannot be used for authentication. type: boolean restrictOutboundNetworkAccess: description: If true, egress from IotHub will be restricted to only the allowed FQDNs that are configured via allowedFqdnList. type: boolean allowedFqdnList: description: List of allowed FQDNs(Fully Qualified Domain Name) for egress from Iot Hub. type: array items: description: 'FQDN to be allowed for egress. Example: my-eventhub.servicebus.windows.net' type: string publicNetworkAccess: type: string description: Whether requests from Public Network are allowed enum: - Enabled - Disabled x-ms-enum: modelAsString: true name: PublicNetworkAccess ipFilterRules: description: The IP filter rules. type: array items: $ref: '#/definitions/IpFilterRule' networkRuleSets: $ref: '#/definitions/NetworkRuleSetProperties' minTlsVersion: type: string description: Specifies the minimum TLS version to support for this hub. Can be set to "1.2" to have clients that use a TLS version below 1.2 to be rejected. privateEndpointConnections: description: Private endpoint connections created on this IotHub type: array items: $ref: '#/definitions/PrivateEndpointConnection_2' provisioningState: description: The provisioning state. type: string readOnly: true state: description: The hub state. type: string readOnly: true hostName: description: The name of the host. type: string readOnly: true eventHubEndpoints: description: The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. This key has to be present in the dictionary while making create or update calls for the IoT hub. type: object additionalProperties: $ref: '#/definitions/EventHubProperties' routing: $ref: '#/definitions/RoutingProperties' storageEndpoints: description: The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown. type: object additionalProperties: $ref: '#/definitions/StorageEndpointProperties' messagingEndpoints: description: The messaging endpoint properties for the file upload notification queue. type: object additionalProperties: $ref: '#/definitions/MessagingEndpointProperties' enableFileUploadNotifications: description: If True, file upload notifications are enabled. type: boolean cloudToDevice: $ref: '#/definitions/CloudToDeviceProperties' comments: description: IoT hub comments. type: string deviceStreams: description: The device streams properties of iothub. type: object properties: streamingEndpoints: description: List of Device Streams Endpoints. type: array items: type: string features: description: The capabilities and features enabled for the IoT hub. enum: - None - DeviceManagement type: string x-ms-enum: name: Capabilities modelAsString: true encryption: description: The encryption properties for the IoT hub. $ref: '#/definitions/EncryptionPropertiesDescription' locations: description: Primary and secondary location for iot hub readOnly: true type: array items: $ref: '#/definitions/IotHubLocationDescription' enableDataResidency: description: This property when set to true, will enable data residency, thus, disabling disaster recovery. type: boolean EventHubConsumerGroupName: description: The EventHub consumer group name. type: object properties: name: description: EventHub consumer group name type: string required: - name PrivateEndpointConnection_2: description: The private endpoint connection of an IotHub x-ms-azure-resource: true type: object properties: id: readOnly: true type: string description: The resource identifier. name: readOnly: true type: string description: The resource name. type: readOnly: true type: string description: The resource type. properties: $ref: '#/definitions/PrivateEndpointConnectionProperties_2' required: - properties X509Certificates: description: Primary and secondary certificates type: object properties: primary: $ref: '#/definitions/X509CertificateWithInfo' secondary: $ref: '#/definitions/X509CertificateWithInfo' KeyVaultKeyProperties: description: The properties of the KeyVault key. type: object properties: keyIdentifier: type: string description: The identifier of the key. identity: description: Managed identity properties of KeyVault Key. $ref: '#/definitions/ManagedIdentity' systemData: description: Metadata pertaining to creation and last modification of the resource. type: object readOnly: true properties: createdBy: type: string description: The identity that created the resource. createdByType: type: string description: The type of identity that created the resource. enum: - User - Application - ManagedIdentity - Key x-ms-enum: name: createdByType modelAsString: true createdAt: type: string format: date-time description: The timestamp of resource creation (UTC). lastModifiedBy: type: string description: The identity that last modified the resource. lastModifiedByType: type: string description: The type of identity that last modified the resource. enum: - User - Application - ManagedIdentity - Key x-ms-enum: name: createdByType modelAsString: true lastModifiedAt: type: string format: date-time description: The timestamp of resource last modification (UTC) NetworkRuleSetProperties: description: Network Rule Set Properties of IotHub type: object properties: defaultAction: type: string description: Default Action for Network Rule Set enum: - Deny - Allow x-ms-enum: name: DefaultAction modelAsString: true default: Deny applyToBuiltInEventHubEndpoint: type: boolean description: If True, then Network Rule Set is also applied to BuiltIn EventHub EndPoint of IotHub ipRules: type: array items: $ref: '#/definitions/NetworkRuleSetIpRule' description: List of IP Rules required: - applyToBuiltInEventHubEndpoint - ipRules parameters: PrivateEndpointConnectionName: name: privateEndpointConnectionName in: path description: The name of the private endpoint connection required: true type: string x-ms-parameter-location: method resourceName: name: resourceName in: path description: The name of the IoT hub. required: true type: string x-ms-parameter-location: method ApiVersionParameter: name: api-version in: query required: true type: string description: The API version to use for this operation. resourceGroupName: name: resourceGroupName description: The name of the resource group that contains the IoT hub. in: path required: true type: string x-ms-parameter-location: method api-version: name: api-version in: query description: The version of the API. required: true type: string ApiVersionParameter_2: name: api-version in: query description: 'The API version to use for the request. Supported versions include: 2021-10-01' required: true type: string default: '2021-10-01' ResourceGroupName: name: resourceGroupName in: path required: true type: string description: The name of the resource group. The name is case insensitive. pattern: ^[-\w\._\(\)]+$ minLength: 1 maxLength: 90 x-ms-parameter-location: method subscriptionId: name: subscriptionId in: path description: The subscription identifier. required: true type: string SubscriptionIdParameter: name: subscriptionId in: path required: true type: string description: The ID of the target subscription. privateEndpointConnectionName: name: privateEndpointConnectionName in: path description: The name of the private endpoint connection required: true type: string x-ms-parameter-location: method WorkspaceName: name: workspaceName in: path required: true type: string description: The name of the workspace. minLength: 3 maxLength: 64 x-ms-parameter-location: method x-ms-parameterized-host: hostTemplate: '{endpoint}' useSchemePrefix: false parameters: - $ref: '#/parameters/Endpoint'