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 |
API example
Create a new DependencyDeploymentTemplate within your i3D.net account.
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:
HTTP request
Request body
{
"dependencyDeploymentTemplateId": "6537333393893172977"
}
Response body
[
{
"id": "string",
"name": "string",
"deploymentEnvironmentId": "string",
"deploymentProfileId": "string",
"gameDeploymentTemplateId": "string",
"utilityDeploymentTemplateId": "string",
"dependencyDeploymentTemplateId": "8166517913064065155",
"operationalStatus": 0
}
]