# Variables

A vast number of variables are available for use in Tasks, Scripts, Templates, Resource Names, Cloud-Init User Data and Option List configs.

IMPORTANT

Variables are case sensitive

## Pre-Provision Vars

A subset of variables are available for Instance, Host Name and Hostnames. These can be passed inside `${ }` blocks during provisioning or in relevant policy configs. Groovy syntax can be resolved to allow for dynamic name generation as shown in some of the examples below.

Instance Naming Policy example: `${userInitials}-${cloudCode}-${platform == 'windows' ? 'W' : 'L'}-${sequence}`

Available variables for Naming Policy naming patterns include:

```
```
${account}  
${accountId}  
${accountName}  
${accountNumber}  
${accountType}  
${cloudCode}  
${cloudName}  
${customerNumber}  
${customOptions.fieldName}  
${groupCode}  
${groupName}  
${instance.instanceContext} # Environment Code  
${platform == 'windows' ? 'w':'l'} # results in `w` for Windows platforms and `l` for Linux Platforms  
${platform}  
${provisionType}  
${sequence} # results in 1  
${sequence+100} # results in 101  
${sequence.toString().padLeft(5,'0')} # results in 00001  
${tenantId}  
${tenant} # Tenant Name  
${tenantSubdomain}  
${type}  
${userId}  
${userInitials}  
${username}
```
```

An example Instance Name Policy using a naming pattern with User Initials, Cloud Code, Instance Type, and a sequential number starting at 3000 is `${userInitials}-${cloudCode}-${type}-${sequence+3000}`, resulting in an Instance Name of **md-vmwd3-centos-3001** for the first instance, followed by **md-vmwd3-centos-3002** and so on.

NOTE

It’s not recommended that users include “>”, “<”, “%”, “$”, or “=” in naming policies.

## Syntax Examples

PowerShell Example: `$app_id = "<%= instance.metadata.app_id %>"`

Bash Example: `HOSTNAME="<%= container.server.hostname %>"`

Python Example: `hostname = morpheus['server']['hostname']`

HTTP Body Example: `{"name": "<%= instance.createdByUsername %>"}`

![../_images/Metadata-Enviornment-Variable-Spot](https://support.hpe.com/hpesc/public/api/document/sd00007510en_us/GUID-14CAAF3E-4218-42AA-9D8B-8511E2C5E913-high.png) ![../_images/Tags-Variable-Spot](https://support.hpe.com/hpesc/public/api/document/sd00007510en_us/GUID-B9FCD0BE-6651-4DA3-BC61-3AB7E704065C-high.png)

NOTE

customOptions values are defined from custom Inputs.

## Common Examples

```
```
                  container.configGroup: <%=container.configGroup%>  
                  container.configId: <%=container.configId%>  
                  container.configPath: <%=container.configPath%>  
                  container.configRole: <%=container.configRole%>  
                  container.containerTypeCode: <%=container.containerTypeCode%>  
                  container.containerTypeName: <%=container.containerTypeName%>  
                  container.containerTypeShortName: <%=container.containerTypeShortName%>  
                  container.cores: <%=container.cores%>  
                  container.dataPath: <%=container.dataPath%>  
                  container.dateCreated: <%=container.dateCreated%>  
                  container.domainName: <%=container.domainName%>  
                  container.environmentPrefix: <%=container.environmentPrefix%>  
                  container.externalIp: <%=container.externalIp%>  
                  container.hostMountPoint: <%=container.hostMountPoint%>  
                  container.hostname: <%=container.hostname%>  
                  container.image: <%=container.image%>  
                  container.internalHostname: <%=container.internalHostname%>  
                  container.internalIp: <%=container.internalIp%>  
                  container.logsPath: <%=container.logsPath%>  
                  container.memory: <%=container.memory%>  
                  container.planCode: <%=container.planCode%>  
                  container.provisionType: <%=container.provisionType%>  
                  container.server: <%=container.server.serverTypeName%>  
                  container.serverId: <%=container.serverId%>  
                  container.sshHost: <%=container.sshHost%>  
                  container.status: <%=container.status%>  
                  container.storage: <%=container.storage%>  
                  container.version: <%=container.version%>  
                  customOptions: <%=customOptions.fieldName%>  
                  accountNumber: <%= accountNumber %> #resource tenant account number  
                  customerNumber: <%= customerNumber %> #resource tenant customer number  
                  accountName: <%= accountName %> # resource tenant account name  
                  taskOwner.accountNumber: <%= taskOwner.accountNumber %> #task owner tenant account number  
                  taskOwner.customerNumber: <%= taskOwner.customerNumber %>  
                  taskOwner.accountName: <%= taskOwner.accountName %>  
                  user.accountNumber: <%= user.accountNumber %> #user executing task tenant account number  
                  user.customerNumber: <%= user.customerNumber %>  
                  user.accountName: <%= user.accountName %>  
                  evar: <%=evars.name%>  
                  evars: <%=evars%>  
                  group.code: <%=group.code%>  
                  group.datacenterId: <%=group.datacenterId%>  
                  group.location: <%=group.location%>  
                  group.name: <%=group.name%>  
                  instance.autoScale: <%=instance.autoScale%>  
                  instance.configGroup: <%=instance.configGroup%>  
                  instance.configId: <%=instance.configId%>  
                  instance.configRole: <%=instance.configRole%>  
                  instance.containers[0]: <%=instance.containers[0].containerTypeName%>  
                  instance.cores: <%=instance.cores%>  
                  instance.createdByEmail: <%=instance.createdByEmail%>  
                  instance.createdByFirstName: <%=instance.createdByFirstName%>  
                  instance.createdById: <%=instance.createdById%>  
                  instance.createdByLastName: <%=instance.createdByLastName%>  
                  instance.createdBYUsername: <%=instance.createdByUsername%>  
                  instance.deployGroup: <%=instance.deployGroup%>  
                  instance.description: <%=instance.description%>  
                  instance.displayName: <%=instance.displayName%>  
                  instance.domainName: <%=instance.domainName%>  
                  instance.environmentPrefix: <%=instance.environmentPrefix%>  
                  instance.expireDate: <%=instance.expireDate%>  
                  instance.firewallEnabled: <%=instance.firewallEnabled%>  
                  instance.hostname: <%=instance.hostname%>  
                  instance.instanceContext: <%=instance.instanceContext%> (tip: instanceContext = Environment)  
                  instance.instanceLevel: <%=instance.instanceLevel%>  
                  instance.instanceTypeCode: <%=instance.instanceTypeCode%>  
                  instance.instanceTypeName: <%=instance.instanceTypeName%>  
                  instance.instanceVersion: <%=instance.instanceVersion%>  
                  instance.memory: <%=instance.memory%>  
                  instance.metadata: <%=instance.metadata%>  
                  instance.name: <%=instance.name%>  
                  instance.networkLevel: <%=instance.networkLevel%>  
                  instance.plan: <%=instance.plan%>  
                  instance.provisionType: <%=instance.provisionType%>  
                  instance.status: <%=instance.status%>  
                  instance.statusMessage: <%=instance.statusMessage%>  
                  instance.storage: <%=instance.storage%>  
                  instance.metadata: <%=instance.metadata%>  
                  instance.userStatus: <%=instance.userStatus%>  
                  server.agentInstalled: <%=server.agentInstalled%>  
                  server.agentVersion: <%=server.agentVersion%>  
                  server.apiKey: <%=server.apiKey%>  
                  server.category: <%=server.category%>  
                  server.commType: <%=server.commType%>  
                  server.configGroup: <%=server.configGroup%>  
                  server.configId: <%=server.configId%>  
                  server.configRole: <%=server.configRole%>  
                  server.consoleHost: <%=server.consoleHost%>  
                  server.consolePort: <%=server.consolePort%>  
                  server.consoleType: <%=server.consoleType%>  
                  server.consoleUsername: <%=server.consoleUsername%>  
                  server.dataDevice: <%=server.dataDevice%>  
                  server.dateCreated: <%=server.dateCreated%>  
                  server.description: <%=server.description%>  
                  server.displayName: <%=server.displayName%>  
                  server.domainName: <%=server.domainName%>  
                  server.externalId: <%=server.externalId%>  
                  server.externalIp: <%=server.externalIp%>  
                  server.fqdn: <%=server.fqdn%>  
                  server.hostname: <%=server.hostname%>  
                  server.internalId: <%=server.internalId%>  
                  server.internalIp: <%=server.internalIp%>  
                  server.internalName: <%=server.internalName%>  
                  server.internalSshUsername: <%=server.internalSshUsername%>  
                  server.lastAgentUpdate: <%=server.lastAgentUpdate%>  
                  server.lvmEnabled: <%=server.lvmEnabled%>  
                  server.macAddress: <%=server.macAddress%>  
                  server.managed: <%=server.managed%>  
                  server.maxCores: <%=server.maxCores%>  
                  server.maxMemory: <%=server.maxMemory%>  
                  server.maxStorage: <%=server.maxStorage%>  
                  server.name: <%=server.name%>  
                  server.nodePackageVersion: <%=server.nodePackageVersion%>  
                  server.osDevice: <%=server.osDevice%>  
                  server.osType: <%=server.osType%>  
                  server.osTypeCode: <%=server.osTypeCode%>  
                  server.parentServerId: <%=server.parentServerId%>  
                  server.plan: <%=server.plan%>  
                  server.platform: <%=server.platform%>  
                  server.platformVersion: <%=server.platformVersion%>  
                  server.powerState: <%=server.powerState%>  
                  server.serialNumber: <%=server.serialNumber%>  
                  server.serverModel: <%=server.serverModel%>  
                  server.serverType: <%=server.serverType%>  
                  server.serverTypeCode: <%=server.serverTypeCode%>  
                  server.serverTypeName: <%=server.serverTypeName%>  
                  server.serverVendor: <%=server.serverVendor%>  
                  server.softwareRaid: <%=server.softwareRaid%>  
                  server.sourceImageId: <%=server.sourceImageId%>  
                  server.sshHost: <%=server.sshHost%>  
                  server.sshPort: <%=server.sshPort%>  
                  server.sshUsername: <%=server.sshUsername%>  
                  server.status: <%=server.status%>  
                  server.statusMessage: <%=server.statusMessage%>  
                  server.tags: <%=server.tags%>  
                  server.toolsInstalled: <%=server.toolsInstalled%>  
                  server.visibility: <%=server.visibility%>  
                  task.results (using task code): <%=results.taskCode%>  
                  task.results (using task name): <%=results["Task Name"]%>  
                  task.results.value: <%=results.taskCode.key%>  
                  zone.agentMode: <%=zone.agentMode%>  
                  zone.cloudTypeCode: <%=zone.cloudTypeCode%>  
                  zone.cloudTypeName: <%=zone.cloudTypeName%>  
                  zone.code: <%=zone.code%>  
                  zone.domainName: <%=zone.domainName%>  
                  zone.firewallEnabled: <%=zone.firewallEnabled%>  
                  zone.location: <%=zone.location%>  
                  zone.name: <%=zone.name%>  
                  zone.regionCode: <%=zone.regionCode%>  
                  zone.scalePriority: <%=zone.scalePriority%>  
                  cypher: <%=cypher.read('secret/hello')%>  
cypher: <%=cypher.read('secret/' + zone.code)%> # Make variables more dynamic based off other variables
```
```

## Instance

```
```
instance {  
        adminPassword,  
        adminUsername,  
        apps.[],  
        assignedDomainName,  
        autoScale,  
        backup.{},  
        configGroup,  
        configId,  
        configRole,  
        container.{},  
        containers.[],  
        cores,  
        createBackup,  true/false  
        createdByEmail,  
        createdByFirstName,  
        createdById,  
        createdByLastName,  
        createdByUser.{  
                 username,  
                 displayName,  
                 firstName,  
                 lastName,  
                 email,  
                 linuxUsername,  
                 windowsUsername  
        },  
        createdByUsername,  
        createUser, # true/false  
        customOptions,  
        deployGroup,  
        description,  
        displayName,  
        domainName,  
        environmentPrefix,  
        evars:{},  
        expireDate, # YYYY-MM-DD-T00:00:00Z  
        expireDays,  
        expose.[],  
        firewallEnabled:true/false,  
        hostId,  
        hostname,  
        id,  
        instanceContext,  
        instanceLevel,  
        instanceTypeCode,  
        instanceTypeName,  
        instanceVersion,  
        isEC2:true/false,  
        isVpcSelectable, # true/false  
        layoutCode,  
        layoutId,  
        layoutName,  
        layoutSize,  
        lbInstances.[],  
        memory(bytes),  
        memoryDisplay, #MB/GB  
        metadata.{},  
        name,  
        nestedVirtualization,  
        networkLevel,  
        noAgent,  
        plan,  
        poolProviderType,  
        ports,  
        provisionType,  
        resourcePoolId,  
        scheduleStatus,  
        servicePassword,  
        serviceUsername,  
        smbiosAssetTag,  
        sslCertId,  
        sslEnabled, # true/false  
        status,  
        statusMessage,  
        storage, # bytes  
        tags,  
        userStatus,  
        vmwareFolderId,  
}
```
```

## Container

```
```
container {  
        configGroup,  
        configId,  
        configPath,  
        configRole,  
        containerTypeCode,  
        containerTypeShortName,  
        cores,  
        dataPath,  
        dateCreated,  
        domainName,  
        environmentPrefix,  
        externalIp,  
        hostMountPoint,  
        hostname,  
        image,  
        internalHostname,  
        internalIp,  
        logsPath,  
        memory,  
        planCode,  
        provisionType,  
        server:{},  
        serverId,  
        sshHost,  
        status,  
        storage,  
        version,  
        containerTypeName  
}
```
```

## Server

```
```
server {  
        agentInstalled,  
        agentVersion,  
        apiKey,  
        category,  
        commType,  
        configGroup,  
        configId,  
        configRole  
        consoleHost,  
        consolePort,  
        consoleType,  
        consoleUsername,  
        dataDevice,  
        dateCreated,  
        description,  
        displayName,  
        domainName,  
        externalId,  
        externalIp,  
        fqdn,  
        hostname,  
        internalId,  
        internalIp,  
        internalName,  
        internalSshUsername,  
        lastAgentUpdate,  
        lvmEnabled,  
        macAddress,  
        managed,  
        maxCores,  
        maxMemory,  
        maxStorage,  
        name,  
        nodePackageVersion,  
        osDevice,  
        osType,  
        osTypeCode,  
        parentServerId,  
        plan,  
        platform,  
        platformVersion,  
        powerState,  
        serialNumber,  
        serverModel,  
        serverType,  
        serverTypeCode,  
        serverTypeName,  
        serverVendor,  
        softwareRaid,  
        sourceImageId,  
        sshHost,  
        sshPort,  
        sshUsername,  
        status,  
        statusMessage,  
        tags,  
        toolsInstalled,  
        visibility,  
        volumes {  
                name  
                id  
                deviceName  
                maxStorage  
                unitNumber  
                displayOrder  
                rootVolume  
        }  
}
```
```

## Zone (Cloud)

```
```
zone {  
        agentMode,  
        cloudTypeCode,  
        cloudTypeName,  
        code,  
        datacenterId,  
        domainName,  
        firewallEnabled,  
        location,  
        name,  
        regionCode,  
        scalePriority  
}
```
```

## networkConfig

```
```
'networkConfig': {  
  'primaryInterface': {  
    'doDhcp': false,  
    'dnsServers': [],  
    'dnsDomain': "",  
    'netmask': "",  
    'gateway': "",  
    'ipAddress': "",  
    'doDhcp6': false,  
    'gateway6': "",  
    'ipv6Address': "",  
    'cidr6Suffix': "",  
    'dnsServers6': ""  
  },  
  'extraInterfaces': [  
    {  
      'doDhcp': false,  
      'dnsServers': [],  
      'dnsDomain': "",  
      'netmask': "",  
      'gateway': "",  
      'ipAddress': "",  
      'doDhcp6': false,  
      'gateway6': "",  
      'ipv6Address': "",  
      'cidr6Suffix': "",  
      'dnsServers6': ""  
    },  
    {  
      'doDhcp': false,  
      'dnsServers': [],  
      'dnsDomain': "",  
      'netmask': "",  
      'gateway': "",  
      'ipAddress': "",  
      'doDhcp6': false,  
      'gateway6': "",  
      'ipv6Address': "",  
      'cidr6Suffix': "",  
      'dnsServers6': ""  
    }  
  ]  
}
```
```

## Group (Site)

```
```
group {  
        code,  
        location,  
        datacenterId,  
        name  
}
```
```

## Custom Options (Inputs)

```
```
customOptions {  
        customOptions.fieldName  
}
```
```

## Global

ex: `<%= morpheus.user.id %>`

```
```
"morpheus":{  
   "user":{  
      "id":value,  
      "account":{  
         "id":value  
      },  
      "username":"value",  
      "displayName":"value",  
      "email":"value",  
      "firstName":"value",  
      "lastName":"value",  
      "dateCreated":0000-00-00T00:00:00Z,  
      "lastUpdated":0000-00-00T00:00:00Z,  
      "enabled":true/false,  
      "accountExpired":true/false,  
      "accountLocked":false,  
      "passwordExpired":false,  
      "defaultGroupId":value,  
      "defaultZoneId":value,  
      "hasLinuxUser":true/false,  
      "hasWindowsUser":true/false,  
      "role":{  
         "id":value  
      },  
      "instanceLimits":value  
   },  
}
```
```

## User

```
```
'user': {'accountId': int,  
        'accountName': 'string',  
        'accountNumber': 'string',  
        'attributes': {samlAttributes},  
        'customerNumber': 'string',  
        'displayName': 'string',  
        'email': 'string',  
        'firstName': 'string',  
        'id': int,  
        'lastName': 'string',  
        'linuxUsername': 'string',  
        'username': 'string',  
        'windowsUsername': 'string',
```
```

## Script Variables Example

Below is an example of the variables available to a script running against an Instance context.

NOTE

Variable maps are determined by context, configurations and permissions, actual maps may contain additional or fewer options.

```
```
'account': 'string',  
'accountId': int,  
'accountType': 'string',  
'allowExisting': boolean,  
'apps': [{'appContext': 'string',  
          'description': 'string',  
          'id': int,  
          'name': 'string',  
'cloud': 'string',  
'cloudCode': 'string',  
'cloudName': 'string',  
'container': {'allowExisting': boolean,  
              'certificatePath': string,  
              'certificateStyle': string,  
              'changeManagementExtId': int,  
              'changeManagementServiceId': int,  
              'cloud': 'string',  
              'cloudConfig': {'agentInstall': agentInstallScript,  
                              'finalizeServer': finalizeServerScript,  
                              'meta': metaData,  
                              'user': userData},  
              'configGroup': int,  
              'configId': int,  
              'configPath': 'string',  
              'configRole': int,  
              'containerTypeCategory': 'string',  
              'containerTypeCode': 'string',  
              'containerTypeName': 'string',  
              'containerTypeShortName': 'string',  
              'cores': int,  
              'coresPerSocket': int,  
              'createUser': boolean,  
              'customOptions': {'morph_ver': 'string',  
              'dataPath': 'string',  
              'dateCreated': 'string',  
              'domainName': 'string',  
              'environmentPrefix': 'string',  
              'evars': {},  
              'expireDays': 'string',  
              'expose': ['string'],  
              'exposedPorts': [{'loadBalanceProtocol': 'string',  
                                'name': 'string',  
                                'port': int}],  
              'externalIp': 'string',  
              'externalPort': int,  
              'hostMountPoint': 'string',  
              'hostName': 'string',  
              'hostname': 'string',  
              'hosts': {'containerName': 'string',  
                        'containerName': 'string',  
                        'containerName': 'string',  
              'id': int,  
              'image': 'string',  
              'instanceContext': 'string',  
              'instanceType': {'code': 'string',  
              'internalHostname': 'string',  
              'internalIp': 'string',  
              'internalPort': int,  
              'layout': {'code': 'string',  
                        'id': int},  
              'logsPath': 'string',  
              'maxCores': int,  
              'maxCpu': int,  
              'maxMemory': int,  
              'maxStorage': int,  
              'memory': int,  
              'memoryDisplay': 'string',  
              'mounts': [],  
              'name': 'string',  
              'networkId': int,  
              'networkInterfaces': [{'id': 'string',  
                                    'ipAddress': 'string',  
                                    'ipMode': 'string',  
                                    'network': {'dhcpServer': int,  
                                                'group': int,  
                                                'id': int,  
                                                'name': 'string',  
                                                'pool': int},  
                                    'networkInterfaceTypeId': int}],  
              'noAgent': boolean,  
              'planCode': 'string',  
              'portMap': {},  
              'ports': [{'displayName': 'string',  
                        'export': boolean,  
                        'exportName': 'string',  
                        'external': int,  
                        'index': int,  
                        'internal': int,  
                        'link': boolean,  
                        'loadBalance': boolean,  
                        'loadBalanceProtocol': 'string',  
                        'name': 'string',  
                        'primaryPort': boolean,  
                        'protocol': 'string',  
                        'visible': boolean},  
                        {'displayName': 'string',  
                        'export': boolean,  
                        'exportName': 'string',  
                        'external': int,  
                        'index': int,  
                        'internal': int,  
                        'link': boolean,  
                        'loadBalance': boolean,  
                        'loadBalanceProtocol': 'string',  
                        'name': 'string',  
                        'primaryPort': boolean,  
                        'protocol': 'string',  
                        'visible': boolean}],  
              'provisionType': 'string',  
              'publicKeyId': int,  
              'server': {}  
              'serverId': int,  
              'shutdownDays': 'string',  
              'site': {'accountId': int,  
                      'active': boolean,  
                      'id': int,  
                      'integrations': [],  
                      'location': 'string',  
                      'name': 'string',  
                      'visibility': 'string',  
                      'zones': [{}],  
              'sshHost': 'string',  
              'status': 'string',  
              'storage': int,  
              'storageController': int,  
              'type': 'string',  
              'userGroup': {'id': '',  
              'version': 'string',  
              'vm': boolean,  
              'volumes': [{'datastoreId': int,  
                          'id': int,  
                          'maxIOPS': int,  
                          'maxStorage': int,  
                          'name': 'string',  
                          'rootVolume': boolean,  
                          'size': int,  
                          'storageType': int,  
                          'vId': int}]},  
'containerName': 'string',  
'coresPerSocket': int,  
'createUser': boolean,  
'customOptions': {'morph_ver': 'string',  
'deployOptions': {},  
'evars': {},  
'expireDays': 'string',  
'expose': ['string'],  
'exposedPorts': [{'loadBalanceProtocol': 'string',  
                  'name': 'string',  
                  'port': int}],  
'externalIp': 'string',  
'group': {'code': 'string',  
          'configCmdbId': 'string',  
          'configManagementId': 'string',  
          'datacenterId': int,  
          'dnsIntegrationId': 'string',  
          'location': 'string',  
          'name': 'string',  
          'serviceRegistryId': 'string',  
'groupCode': 'string',  
'groupName': 'string',  
'host': ,  
'hostMountPoint': 'string',  
'hostName': 'string',  
'hosts': {},  
'input': {'backup': ,  
          'cloud': {},  
          'computedHostName': 'string',  
          'computedName': 'string',  
          'copies': int,  
          'domainOptions': {}},  
          'environmentVariables': {},  
          'executionId': int,  
          'expireDays': int,  
          'group': {},  
          'hostName': 'string',  
          'instanceContext': 'string',  
          'layout': {},  
          'metadata': {}},  
          'name': 'string',  
          'plan': {},  
          'powerScheduleType': int,  
          'securityGroups': {},  
          'shutdownDays': int,  
          'type': 'string',  
          'version': 'string'},  
'instance': {'adminPassword': 'maskedString',  
            'adminUsername': 'string',  
            'allowExisting': boolean,  
            'apps': [{}],  
            'assignedDomainName': 'string',  
            'autoScale': boolean,  
            'backup': {'backupRepository': int,  
                        'createBackup': boolean,  
                        'enabled': boolean,  
                        'jobAction': 'string',  
                        'jobRetentionCount': 'string',  
                        'providerBackupType': int,  
                        'showScheduledBackupWarning': boolean},  
            'cloud': 'string',  
            'cloudConfig': {'agentInstall': agentInstallScript,  
                            'finalizeServer': finalizeServerScript,  
                            'meta': metaData,  
                            'user': userData  
                                    },  
            'configGroup': int,  
            'configId': int,  
            'configRole': int,  
            'container': {},  
            'containers': [{}],  
            'cores': int,  
            'createBackup': boolean,  
            'createUser': boolean,  
            'createdByEmail': 'string',  
            'createdByFirstName': 'string',  
            'createdById': int,  
            'createdByLastName': 'string',  
            'createdByUser': {'accountId': int,  
                              'displayName': 'string',  
                              'email': 'string',  
                              'firstName': 'string',  
                              'id': int,  
                              'lastName': 'string',  
                              'linuxUsername': 'string',  
                              'username': 'string',  
                              'windowsUsername': 'string',  
            'createdByUsername': 'string',  
            'customOptions': {'morph_ver': 'string',  
            'deployGroup': ,  
            'description': 'string',  
            'displayName': 'string',  
            'domainName': 'string',  
            'environmentPrefix': 'string',  
            'evars': {  
            'expireDate': date,  
            'expireDays': 'string',  
            'expose': ['string'],  
            'firewallEnabled': boolean,  
            'hostName': 'string',  
            'hostname': 'string',  
            'id': int,  
            'instanceContext': 'string',  
            'instanceLevel': 'string',  
            'instanceType': {'code': 'string',  
            'instanceTypeCode': 'string',  
            'instanceTypeName': 'string',  
            'instanceVersion': 'string',  
            'layout': {'code': 'string',  
                        'id': int},  
            'layoutCode': 'string',  
            'layoutId': int,  
            'layoutName': 'string',  
            'lbInstances': [{'balanceMode': 'string',  
                              'enabled': boolean,  
                              'externalAddress': 'string',  
                              'id': int,  
                              'instanceId': int,  
                              'loadBalancer': {'id': int},  
                              'loadBalancerId': int,  
                              'name': 'string',  
                              'port': int,  
                              'protocol': 'string',  
                              'sslCert': 'string',  
                              'sslRedirectMode': 'string',  
                              'stickyMode': 'string',  
                              'vipAddress': 'string',  
                              'vipDirectAddress': 'string',  
                              'vipHostname': 'string',  
                              'vipName': 'string',  
                              'vipPort': int,  
                              'vipProtocol': 'string',  
                              'vipScheme': 'string',  
                              'vipShared': 'string',  
            'loadBalancerId': int,  
            'memory': int,  
            'memoryDisplay': 'string',  
            'metadata': {'ver': 'string',  
            'name': 'string',  
            'networkLevel': 'string',  
            'plan': 'string',  
            'ports': {},  
            'powerScheduleType': ,  
            'provisionType': 'string',  
            'scheduleStatus': 'string',  
            'servicePassword': 'maskedString',  
            'serviceUsername': 'string',  
            'shutdownDays': 'string',  
            'site': {'accountId': int,  
                      'active': boolean,  
                      'id': int,  
                      'integrations': [],  
                      'location': 'string',  
                      'name': 'string',  
                      'visibility': 'string',  
                      'zones': [{}]  
            'sslCertId': int,  
            'sslEnabled': boolean,  
            'status': 'string',  
            'statusMessage': 'string',  
            'storage': int,  
            'tags': 'string',  
            'type': ,  
            'userGroup': {'id': 'string',  
            'userStatus': 'string',  
'instanceContext': 'string',  
'instanceType': {'code': 'string',  
'internalIp': 'string',  
'isDocker': boolean,  
'layout': {'code': 'string',  
'localScriptGitId': int,  
'localScriptGitRef': 'string',  
'logTag': 'string',  
'maxCores': int,  
'maxCpu': int,  
'maxMemory': int,  
'maxStorage': int,  
'memoryDisplay': 'string',  
'morpheus': {'apiAccessToken': 'string',  
            'applianceHost': 'string',  
            'appliancePort': 'string',  
            'applianceScheme': 'string',  
            'applianceSsl': boolean,  
            'applianceUrl': 'string',  
'morpheusUser': 'string',  
'mounts': [],  
'name': 'string',  
'networkId': int,  
'networkInterfaces': [{'id': 'string',  
                      'ipAddress': 'string',  
                      'ipMode': 'string',  
                      'network': {'dhcpServer': ,  
                                  'group': int,  
                                  'Id': int,  
                                  'name': 'string',  
                                  'pool': int},  
                      'networkInterfaceTypeId': int}],  
'noAgent': boolean,  
'platform': 'string',  
'port': int,  
'ports': [{'code': 'string',  
          'displayName': 'string',  
          'export': boolean,  
          'exportName': 'string',  
          'external': int,  
          'index': int,  
          'internal': int,  
          'link': boolean,  
          'loadBalance': boolean,  
          'primaryPort': boolean,  
          'protocol': 'string',  
          'visible': boolean}],  
'provisionType': 'string',  
'publicKeyId': int,  
'pythonAdditionalPackages': ,  
'pythonArgs': ,  
'pythonBinary': 'string',  
'pythonScript': ,  
'results': {},  
'sequence': int,  
'server': {'agentInstalled': boolean,  
          'agentVersion': 'string',  
          'apiKey': 'string',  
          'category': ,  
          'cloudConfig': {'agentInstall': agentInstallScript,  
                          'finalizeServer': finalizeServerScript,  
                          'meta': metaData,  
                          'user': userData  
                                  },  
          'commType': 'string',  
          'computeTypeCode': 'string',  
          'computeTypeName': 'string',  
          'configGroup': int,  
          'configId': int,  
          'configRole': 'string',  
          'consoleHost': 'string',  
          'consolePort': int,  
          'consoleType': 'string',  
          'consoleUsername': 'string',  
          'createdByUser': {'accountId': int,  
                            'displayName': 'string',  
                            'email': 'string',  
                            'firstName': 'string',  
                            'id': int,  
                            'lastName': 'string',  
                            'linuxUsername': 'string',  
                            'username': 'string',  
                            'windowsUsername': 'string',  
          'dataDevice': 'string',  
          'dateCreated': 'string',  
          'description': 'string',  
          'displayName': 'string',  
          'domainName': 'string',  
          'externalId': 'string',  
          'externalIp': 'string',  
          'fqdn': 'string',  
          'hostname': 'string',  
          'id': int,  
          'interfaces': [{'dhcp': boolean,  
                          'domain': {'fqdn': 'string',  
                                      'name': 'string',  
                                      'ouPath': 'string'},  
                          'interfaceId': int,  
                          'ipAddress': 'string',  
                          'ipMode': 'string',  
                          'ipSubnet': 'string',  
                          'ipv6Address': 'string',  
                          'ipv6Subnet': 'string',  
                          'macAddress': 'string',  
                          'network': {'cidr': 'string',  
                                      'cidrMask': 'string',  
                                      'gateway': 'string',  
                                      'name': 'string',  
                                      'netmask': 'string',  
                                      'vlanId': int},  
                          'networkPosition': 'string',  
                          'vlanId': int}],  
          'internalId': int,  
          'internalIp': 'string',  
          'internalName': 'string',  
          'internalSshUsername': 'string',  
          'lastAgentUpdate': 'string',  
          'lvmEnabled': boolean,  
          'macAddress': 'string',  
          'managed': boolean,  
          'maxCores': int,  
          'maxMemory': int,  
          'maxStorage': int,  
          'name': 'string',  
          'nodePackageVersion': 'string',  
          'osDevice': 'string',  
          'osPassword': 'maskedString',  
          'osType': 'string',  
          'osTypeCode': 'string',  
          'osUsername': 'string',  
          'parentServerId': int,  
          'plan': 'string',  
          'platform': 'string',  
          'platformVersion': 'string',  
          'powerScheduleType': ,  
          'powerState': 'string',  
          'publicKeyId': int,  
          'serialNumber': 'string',  
          'serverModel': 'string',  
          'serverType': 'string',  
          'serverTypeCode': 'string',  
          'serverTypeName': 'string',  
          'serverVendor': 'string',  
          'softwareRaid': boolean,  
          'sourceImageId': int,  
          'sshHost': 'string',  
          'sshPort': int,  
          'sshUsername': 'string',  
          'status': 'string',  
          'statusMessage': 'string',  
          'tags': {},  
          'toolsInstalled': boolean,  
          'uniqueId': int,  
          'uuid': 'string',  
          'visibility': 'string',  
          'volumes': [{'deviceName': 'string',  
                        'displayOrder': int,  
                        'id': int,  
                        'maxStorage': int,  
                        'name': 'string',  
                        'rootVolume': boolean,  
                        'unitNumber': 'string',  
'serverId': 'string',  
'serverName': 'string',  
'shutdownDays': 'string',  
'site': {'accountId': int,  
        'active': boolean,  
        'id': int,  
        'integrations': [],  
        'location': 'string',  
        'name': 'string',  
        'visibility': 'string',  
        'zones': [{}],  
'sshKey': 'string',  
'state': {},  
'storageController': int,  
'tenant': 'string',  
'tenantId': int,  
'tenantSubdomain': 'string',  
'type': 'string',  
'user': {'accountId': int,  
        'attributes': {samlAttributes},  
        'displayName': 'string',  
        'email': 'string',  
        'firstName': 'string',  
        'id': int,  
        'lastName': 'string',  
        'linuxUsername': 'string',  
        'username': 'string',  
        'windowsUsername': 'string',  
'userGroup': {'id': 'string',  
'userId': int,  
'userInitials': 'string',  
'username': 'string',  
'vm': boolean,  
'volumes': [{'datastoreId': int,  
            'id': int,  
            'maxIOPS': int,  
            'maxStorage': int,  
            'name': 'string',  
            'rootVolume': boolean,  
            'size': int,  
            'storageType': int,  
            'vId': int}],  
'zone': {'agentMode': 'string',  
        'cloudTypeCode': 'string',  
        'cloudTypeName': 'string',  
        'code': 'string',  
        'datacenterId': int,  
        'domainName': 'string',  
        'firewallEnabled': boolean,  
        'location': 'string',  
        'name': 'string',  
        'regionCode': 'string',  
        'scalePriority': int}}
```
```

NOTE

Variable maps are determined by context, configurations and permissions, actual maps may contain additional or fewer options.

## Spec Template Variables

Spec Template Variables

- **morpheus**
  - getApiAccessToken()
  - formatMemory(size, unit)
  - applianceUrl
  - applianceHost
  - appliancePort
  - applianceScheme
  - applianceSsl
  - morpheusHome
  - morpheusUser
  - publicKey
  - privateKey
  - cloudConfig
- **cypher**
  - read(key)
  - write(key, value)
  - delete(key)
  - readUuid(key)
  - readEncyptionKey(key)
  - readPassword(key)
- **archives**
  - link(bucketName, filePath)
- account
- accountId
- accountType
- **apps - []**
  - appContext
  - description
  - id
  - name
- **cloudConfig**
  - agentInstall
  - finalizeServer
- **customOptions**
  - key
- **deployOptions**
  - key
- **evars**

  - key
- **group**
  - code
  - datacenterId
  - location
  - name
- groupCode
- groupName
- **input**
  - backup
  - cloud
  - computedHostName
  - computedName
  - copies
  - domainOptions
  - environmentVariables
  - executionId
  - expireDays
  - group
  - hostName
  - instanceContext
  - layout
  - metadata
  - name
  - plan
  - powerScheduleType
  - securityGroups
  - shutdownDays
  - type
  - version
- **instance**
  - adminPassword
  - adminUsername
  - apps - []
    - appContext
    - description
    - id
    - instances
    - name
  - assignedDomainName
  - autoScale
  - cloudConfig
    - agentInstall
    - finalizeServer
  - configGroup
  - configId
  - configRole
  - container
    - certificatePath
    - certificateStyle
    - changeManagementExtId
    - changeManagementServiceId
    - cloudConfig
    - configGroup
    - configId
    - configPath
    - configRole
    - containerTypeCategory
    - containerTypeCode
    - containerTypeName
    - containerTypeShortName
    - cores
    - dataPath
    - dateCreated
    - domainName
    - environmentPrefix
    - externalIp
    - hostMountPoint
    - hostname
    - id
    - image
    - internalHostname
    - internalIp
    - logsPath
    - memory
    - name
    - planCode
    - portMap
    - ports
    - provisionType
    - server
    - serverId
    - sshHost
    - status
    - storage
    - version
  - containers - []
    - certificatePath
    - certificateStyle
    - changeManagementExtId
    - changeManagementServiceId
    - cloudConfig
    - configGroup
    - configId
    - configPath
    - configRole
    - containerTypeCategory
    - containerTypeCode
    - containerTypeName
    - containerTypeShortName
    - cores
    - dataPath
    - dateCreated
    - domainName
    - environmentPrefix
    - externalIp
    - hostMountPoint
    - hostname
    - id
    - image
    - internalHostname
    - internalIp
    - logsPath
    - memory
    - name
    - planCode
    - portMap
    - ports
    - provisionType
    - server
    - serverId
    - sshHost
    - status
    - storage
    - version
  - cores
  - createdByEmail
  - createdByFirstName
  - createdById
  - createdByLastName
  - createdByUser
    - accountId
    - attributes
    - displayName
    - email
    - firstName
    - id
    - lastName
    - linuxUsername
    - username
    - windowsUsername
  - createdByUsername
  - customOptions
    - key
  - deployGroup
  - description
  - displayName
  - domainName
  - environmentPrefix
  - evars
    - key
  - expireDate
  - firewallEnabled
  - hostname
  - id
  - instanceContext
  - instanceLevel
  - instanceTypeCode
  - instanceTypeName
  - instanceVersion
  - layoutCode
  - layoutId
  - layoutName
  - memory
  - metadata
  - name
  - networkLevel
  - plan
  - ports
  - provisionType
  - scheduleStatus
  - servicePassword
  - serviceUsername
  - sslCertId
  - sslEnabled
  - status
  - statusMessage
  - storage
  - tags
  - templateOutput
  - userStatus
- platform
- provisionType
- **results**
- sequence
- **state**
  - iacDrift
  - stateDate
  - stateList - []
    - category
    - code
    - contentPath
    - errorMessage
    - iacDrift
    - id
    - input
    - name
    - output
    - planPath
    - resourceVersion
    - stateContext
    - stateDate
    - stateId
    - statePath
    - stateType
    - status
    - statusMessage
    - tags
    - workingPath
  - stateType
- tenant
- tenantId
- tenantSubdomain
- type
- userId
- userInitials
- username

</</div>
