Microsoft.DataBoxEdge dataBoxEdgeDevices/roles

ARM template resource definition

The dataBoxEdgeDevices/roles resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles resource, add the following JSON to your template.

{
  "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles",
  "apiVersion": "2023-12-01",
  "name": "string",
  "kind": "string",
  // For remaining properties, see dataBoxEdgeDevices/roles objects
}

dataBoxEdgeDevices/roles objects

Set the kind property to specify the type of object.

For CloudEdgeManagement, use:

  "kind": "CloudEdgeManagement",
  "properties": {
    "roleStatus": "string"
  }

For IOT, use:

  "kind": "IOT",
  "properties": {
    "computeResource": {
      "memoryInGB": "int",
      "processorCount": "int"
    },
    "hostPlatform": "string",
    "ioTDeviceDetails": {
      "authentication": {
        "symmetricKey": {
          "connectionString": {
            "encryptionAlgorithm": "string",
            "encryptionCertThumbprint": "string",
            "value": "string"
          }
        }
      },
      "deviceId": "string",
      "ioTHostHub": "string",
      "ioTHostHubId": "string"
    },
    "ioTEdgeAgentInfo": {
      "imageName": "string",
      "imageRepository": {
        "imageRepositoryUrl": "string",
        "password": {
          "encryptionAlgorithm": "string",
          "encryptionCertThumbprint": "string",
          "value": "string"
        },
        "userName": "string"
      },
      "tag": "string"
    },
    "ioTEdgeDeviceDetails": {
      "authentication": {
        "symmetricKey": {
          "connectionString": {
            "encryptionAlgorithm": "string",
            "encryptionCertThumbprint": "string",
            "value": "string"
          }
        }
      },
      "deviceId": "string",
      "ioTHostHub": "string",
      "ioTHostHubId": "string"
    },
    "roleStatus": "string",
    "shareMappings": [
      {
        "shareId": "string"
      }
    ]
  }

For Kubernetes, use:

  "kind": "Kubernetes",
  "properties": {
    "hostPlatform": "string",
    "kubernetesClusterInfo": {
      "version": "string"
    },
    "kubernetesRoleResources": {
      "compute": {
        "vmProfile": "string"
      },
      "storage": {
        "endpoints": [
          {
            "shareId": "string"
          }
        ]
      }
    },
    "roleStatus": "string"
  }

For MEC, use:

  "kind": "MEC",
  "properties": {
    "connectionString": {
      "encryptionAlgorithm": "string",
      "encryptionCertThumbprint": "string",
      "value": "string"
    },
    "controllerEndpoint": "string",
    "resourceUniqueId": "string",
    "roleStatus": "string"
  }

Property values

dataBoxEdgeDevices/roles

Name Description Value
type The resource type 'Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles'
apiVersion The resource api version '2023-12-01'
name The resource name

See how to set names and types for child resources in JSON ARM templates.
string (required)
kind Set the object type CloudEdgeManagement
IOT
Kubernetes
MEC (required)

CloudEdgeManagementRole

Name Description Value
kind Role type. 'CloudEdgeManagement' (required)
properties Properties specific to CloudEdgeManagementRole role. CloudEdgeManagementRoleProperties

CloudEdgeManagementRoleProperties

Name Description Value
roleStatus Role status. 'Disabled'
'Enabled' (required)

IoTRole

Name Description Value
kind Role type. 'IOT' (required)
properties Properties specific to IoT role. IoTRoleProperties

IoTRoleProperties

Name Description Value
computeResource Resource allocation ComputeResource
hostPlatform Host OS supported by the IoT role. 'Linux'
'Windows' (required)
ioTDeviceDetails IoT device metadata to which data box edge device needs to be connected. IoTDeviceInfo (required)
ioTEdgeAgentInfo Iot edge agent details to download the agent and bootstrap iot runtime. IoTEdgeAgentInfo
ioTEdgeDeviceDetails IoT edge device to which the IoT role needs to be configured. IoTDeviceInfo (required)
roleStatus Role status. 'Disabled'
'Enabled' (required)
shareMappings Mount points of shares in role(s). MountPointMap[]

ComputeResource

Name Description Value
memoryInGB Memory in GB int (required)
processorCount Processor count int (required)

IoTDeviceInfo

Name Description Value
authentication Encrypted IoT device/IoT edge device connection string. Authentication
deviceId ID of the IoT device/edge device. string (required)
ioTHostHub Host name for the IoT hub associated to the device. string (required)
ioTHostHubId Id for the IoT hub associated to the device. string

Authentication

Name Description Value
symmetricKey Symmetric key for authentication. SymmetricKey

SymmetricKey

Name Description Value
connectionString Connection string based on the symmetric key. AsymmetricEncryptedSecret

AsymmetricEncryptedSecret

Name Description Value
encryptionAlgorithm The algorithm used to encrypt "Value". 'AES256'
'None'
'RSAES_PKCS1_v_1_5' (required)
encryptionCertThumbprint Thumbprint certificate used to encrypt "Value". If the value is unencrypted, it will be null. string

Constraints:
Sensitive value. Pass in as a secure parameter.
value The value of the secret. string (required)

IoTEdgeAgentInfo

Name Description Value
imageName Name of the IoT edge agent image. string (required)
imageRepository Image repository details. ImageRepositoryCredential
tag Image Tag. string (required)

ImageRepositoryCredential

Name Description Value
imageRepositoryUrl Image repository url (e.g.: mcr.microsoft.com). string (required)
password Repository user password. AsymmetricEncryptedSecret
userName Repository user name. string (required)

MountPointMap

Name Description Value
shareId ID of the share mounted to the role VM. string (required)

KubernetesRole

Name Description Value
kind Role type. 'Kubernetes' (required)
properties Properties specific to Kubernetes role. KubernetesRoleProperties

KubernetesRoleProperties

Name Description Value
hostPlatform Host OS supported by the Kubernetes role. 'Linux'
'Windows' (required)
kubernetesClusterInfo Kubernetes cluster configuration KubernetesClusterInfo (required)
kubernetesRoleResources Kubernetes role resources KubernetesRoleResources (required)
roleStatus Role status. 'Disabled'
'Enabled' (required)

KubernetesClusterInfo

Name Description Value
version Kubernetes cluster version string (required)

KubernetesRoleResources

Name Description Value
compute Kubernetes role compute resource KubernetesRoleCompute (required)
storage Kubernetes role storage resource KubernetesRoleStorage

KubernetesRoleCompute

Name Description Value
vmProfile VM profile string (required)

KubernetesRoleStorage

Name Description Value
endpoints Mount points of shares in role(s). MountPointMap[]

MECRole

Name Description Value
kind Role type. 'MEC' (required)
properties Properties specific to MEC role. MECRoleProperties

MECRoleProperties

Name Description Value
connectionString Activation key of the MEC. AsymmetricEncryptedSecret
controllerEndpoint Controller Endpoint. string
resourceUniqueId Unique Id of the Resource. string
roleStatus Role status. 'Disabled'
'Enabled' (required)