Skip to content

DependencyDeploymentTemplate

The DependencyDeploymentTemplate enables you to point to scripts (ApplicationBuilds) that install dependencies onto a Host that are required by your Application(s) to run properly. Besides an installer script, you must also define an un-installer script to remove the dependencies and to allow clean up of a Host after removing all applications running on it.

Usage

A DependencyDeploymentTemplate is used by a Fleet and defines which ApplicationBuilds (of type DependencyInstaller / DependencyUninstaller) will be deployed for that Fleet. A single DependencyDeploymentTemplate defines both the DependencyInstaller and DependencyUninstaller ApplicationBuild elements. Both are required as we need enforce cleanup of a Host in order to keep it clean and usable by you for other purposes without having to do frequent re-installs of the operating system.

The DependencyInstaller ApplicationBuild will be installed and executed before the platform deploys any other Application onto a Host.

The DependencyUninstaller ApplicationBuild will be installed and executed after the platform has removed any other deployed Applications from the Host. Note that this only happens on bare metal Hosts. By contrast, VMs will be destroyed as a whole anyway and as such do not require the cleanup step.

You can create as many DependencyDeploymentTemplates as you like within the platform. However, a Fleet can only point to one DependencyDeploymentTemplate at a time. A DependencyDeploymentTemplates can be shared (re-used) across multiple fleets though.

Element structure

Property Value type Required Description
id string Read-only Unique identifier of this element
fleetIds [int] Read-only List of Fleet IDs this template is used in
name string Yes Name of the template
inUse boolean Read-only Indicates whether this template is actively being used in a Fleet
createdAt int Read-only A unix timestamp of when this element was created
dependencyInstallerBuildId string Yes Identifier of the DependencyInstaller ApplicationBuild you want to deploy
dependencyUninstallerBuildId string Yes Identifier of the DependencyUninstaller ApplicationBuild you want to deploy
Table 1: DependencyDeploymentTemplate element structure

API example

Create a new DependencyDeploymentTemplate within your i3D.net account.

Full API reference

HTTP request

POST /v3/deploymentTemplate/dependency

Request body

{
  "name": "MyDependencyDeploymentTemplate",
  "dependencyInstallerBuildId": "8745373309035959830",
  "dependencyUninstallerBuildId": "7757624915909160276"
}

Response body

[
  {
    "id": "8166517913064065155",
    "name": "MyDependencyDeploymentTemplate",
    "dependencyInstallerBuildId": "8745373309035959830",
    "dependencyUninstallerBuildId": "7757624915909160276",
    "fleetIds": [
      0
    ],
    "inUse": 0,
    "createdAt": 1573650353
  }
]

Assign DependencyInstallerDeploymentTemplate to a Fleet:

Full API reference

HTTP request

PUT /v3/fleet/{fleetId}

Request body

{
  "dependencyDeploymentTemplateId": "6537333393893172977"
}

Response body

[
  {
    "id": "string",
    "name": "string",
    "deploymentEnvironmentId": "string",
    "deploymentProfileId": "string",
    "gameDeploymentTemplateId": "string",
    "utilityDeploymentTemplateId": "string",
    "dependencyDeploymentTemplateId": "8166517913064065155",
    "operationalStatus": 0
  }
]