Skip to main content

1E SDK

Deploy

Entity - Deployment - Interrogates the AgentDeploymentJob and AgentDeploymentDevice tables

Verb

Request

Notes

Permissions required

GET

Consumer/Deploy/Jobs

Gets all stored Deployment Jobs.

Returned JSON

[
    {
        "Id": 1,
        "Description": "First job",
        "Comments": "",
        "Status": 7,
        "WorkflowState": 8,
        "CreatedBy": "somedomain\\someuser",
        "CreatedTimestampUtc": "2017-11-20T15:49:07.31Z",
        "Credentials": {
            "UserName": "someuser",
            "Password": "AQAAANC..."
        },
        "CallbackUrl": null,
        "ConsumerCustomData": null,
        "AgentSettings": {
            "SWITCH": "localhost",
            "BACKGROUNDCHANNELURL": "http://localhost/background/"
        }
    },
    {
        "Id": 2,
        "Description": "Second job",
        "Comments": "",
        "Status": 10,
        "WorkflowState": 9,
        "CreatedBy": "somedomain\\someuser",
        "CreatedTimestampUtc": "2017-11-20T15:49:57.1Z",
        "Credentials": {
            "UserName": "someuser",
            "Password": "AQAAANC..."
        },
        "CallbackUrl": null,
        "ConsumerCustomData": null,
        "AgentSettings": {
            "SWITCH": "localhost",
            "BACKGROUNDCHANNELURL": "http://localhost/background/"
        }
    },
    {
        "Id": 3,
        "Description": "another one",
        "Comments": "",
        "Status": 10,
        "WorkflowState": 9,
        "CreatedBy": "somedomain\\someuser",
        "CreatedTimestampUtc": "2017-11-20T15:55:25.663Z",
        "Credentials": {
            "UserName": "someuser",
            "Password": "AQAAANC..."
        },
        "CallbackUrl": null,
        "ConsumerCustomData": null,
        "AgentSettings": {
            "SWITCH": "Tachyon.Acme.local",
            "BACKGROUNDCHANNELURL": "http://Tachyon.Acme.local/background/"
        }
    }
]

Please note all passwords received inside the Credentials object will be encrypted

View on AgentDeployment

POST

/Consumer/Deploy/Jobs/Search

Gets Deployment Jobs, with options to filter, sort and paginate.

Example Request

{
    "filter":{
        "Operator": "AND",
        "Operands": [ 
            { 
                "Attribute": "Status",
                "Operator": "!=",
                "Value": "0"
            }
        ]
    },
    "start": 1,
    "pageSize": 10,
    "sort": [
        {
            "Column": "CreatedTime",
            "Direction": "DESC"
        }
    ]
}
  • filter - filter expression. To learn about how to define filter check Using scope and filter expressions page.

  • start - starting index to support pagination. Begins from 1.

  • pagesize - number of results to fetch

  • sort - sort expression. To learn about how to define sort criteria check Sort Definition page.

Allowed filter columns:

  • Id

  • Description

  • Comments

  • Status

  • WorkflowState

  • ConsumerCustomData

  • CreatedBy

  • CreatedTime

Allowed sortable columns

  • Id

  • Description

  • Comments

  • Status

  • WorkflowState

  • ConsumerCustomData

  • CreatedBy

  • CreatedTime

Example Response

[
    {
        "Id": 1,
        "Description": "Test job One",
        "Comments": "This is comment One",
        "WorkflowState": 0,
        "CreatedBy": "ACME\\Admin",
        "CreatedTimestampUtc": "2017-10-31T14:45:01.397Z",
        "Credentials": {
            "UserName": "TestUser",
            "Password": "AQAAANCMnd8BFdER...RYRtIG9dFcY="
        },
        "CallbackUrl": null,
        "ConsumerCustomData": null,
        "CallbackUrl": null,
        "ConsumerCustomData": null,
        "AgentSettings": {
            "SWITCH": "TACHYONAPP.ACME.LOCAL:4000",
            "BACKGROUNDCHANNELURL": "https://Tachyon.ACME.LOCAL:443/Background/"
        }
    }
]

View on AgentDeployment

GET

/Consumer/Deploy/Jobs/{id}

Retrieves one Job, identified by its id

Example request: GET ... /Consumer/Deploy/Jobs/1

Example Response

{
    "Id": 1,
    "Description": "Test job One",
    "Comments": "This is comment One",
    "WorkflowState": 0,
    "CreatedBy": "ACME\\Admin",
    "CreatedTimestampUtc": "2017-10-31T14:45:01.397Z",
    "Credentials": {
        "UserName": "TestUser",
        "Password": "AQAAANCMnd8BFdER...RYRtIG9dFcY="
    },
    "CallbackUrl": null,
    "ConsumerCustomData": null,
    "CallbackUrl": null,
    "ConsumerCustomData": null,
    "AgentSettings": {
        "SWITCH": "TACHYONAPP.ACME.LOCAL:4000",
        "BACKGROUNDCHANNELURL": "https://Tachyon.ACME.LOCAL:443/Background/"
    }
}

Please note all passwords received inside the Credentials object will be encrypted

View on AgentDeployment

POST

/Consumer/Deploy/Devices/Search

Retrieves all deployment devices that satisfy the conditions specified by a filter. Options to sort and paginate.

Example Request

{
    "filter":{
        "Operator": "AND",
        "Operands": [ 
            { 
                "Attribute": "InstallStatus",
                "Operator": "!=",
                "Value": "19"
            }
        ]
    },
    "start": 1,
    "pageSize": 10,
    "sort": [
        {
            "Column": "Id",
            "Direction": "ASC"
        }
    ]
}
  • filter - filter expression. To learn about how to define filter check Using scope and filter expressions page.

  • start - starting index to support pagination. Begins from 1.

  • pagesize - number of results to fetch

  • sort - sort expression. To learn about how to define sort criteria check Sort Definition page.

Allowed filter columns:

  • Id

  • JobId

  • Address

  • OperatingSystem

  • OperatingSystemArchitecture

  • TachyonAgentVersion

  • InstallStatus

  • StatusMessage

  • ConsumerCustomData

Allowed sortable columns

  • Id

  • JobId

  • Address

  • OperatingSystem

  • OperatingSystemArchitecture

  • TachyonAgentVersion

  • InstallStatus

  • StatusMessage

  • ConsumerCustomData

Example Response

[
  {
    "Id": 3,
    "JobId": 3,
    "Address": "192.168.22.2",
    "OperatingSystem": 1,
    "OperatingSystemVariant": 1,
    "TachyonAgentVersion": "3.1",
    "InstallStatus": 18,
    "StatusMessage": "Copying binaries failed with following exception: .... \r\n ....",
    "ConsumerCustomData": "ref_1234"
  },
  {
    "Id": 8,
    "JobId": 3,
    "Address": "192.168.22.66",
    "OperatingSystem": 1,
    "OperatingSystemVariant": 1,
    "TachyonAgentVersion": "3.1",
    "InstallStatus": 19,
    "StatusMessage": "....",
    "ConsumerCustomData": "ref_9876"
  }
]

View on AgentDeployment

GET

/Consumer/Deploy/Devices/{id}

Retrieves one deployment device, identified by its Id

Example request: GET ... /Consumer/Deploy/Devices/3

Example Response

{
    "Id": 3,
    "JobId": 3,
    "Address": "192.168.22.2",
    "OperatingSystem": 1,
    "OperatingSystemVariant": 1,
    "TachyonAgentVersion": "3.1",
    "InstallStatus": 18,
    "StatusMessage": "Copying binaries failed with following exception: .... \r\n ....",
    "ConsumerCustomData": "ref_1234"
}

View on AgentDeployment

POST

/Consumer/Deploy/Jobs

Creates and launches a deployment Job, including all its Devices.

Example Request

{
    "Job":{
        "Description": "Deploy Windows PCs on Subnet 1",
        "Comments": "This is a test job",
        "Credentials": {
                "UserName": "Admin1",
                "Password": "1234"
            },
        "CallbackUrl": "https://myClient/myEndpoint",
        "ConsumerCustomData": "myReference",
        "AgentSettings": {
            "SWITCH": "TACHYONAPP.ACME.LOCAL:4000",
            "BACKGROUNDCHANNELURL": "https://Tachyon.ACME.LOCAL:443/Background/"
            }
        },
    "Devices": [
        {
            "Address": "192.168.0.123",
            "OperatingSystem": 1,
            "OperatingSystemArchitecture": 1,
            "TachyonAgentVersion": "3.1",
            "ConsumerCustomData": "ref_1234"
        },
        {
            "Address": "client1.acme.local",
            "OperatingSystem": 1,
            "OperatingSystemArchitecture": 1,
            "TachyonAgentVersion": "3.2"
        }
    ]
}

Example Response

[Returns the same information that was posted, but the generated IDs are included and the passwords encoded.]

Execute on AgentDeployment

POST

/Consumer/Deploy/Jobs/{id}/Cancel

Cancels an existing Job.

Example request: /Consumer/Deploy/Jobs/1/Cancel

Returns a status of 200-OK if the cancellation request is successfully posted. Otherwise, an HTTP error status and message.

Execute on Agentdeployment

GET

/Consumer/Deploy/Configuration

Retrieves configuration information from the server. A consumer that intends to create a Deployment Job can use this information to display options to the user so that they can select and submit adequate selections for the Job.

Example Response

{
    "Switches": [
        {
            "Id": 1,
            "Name": "TACHYONAPP.ACME.LOCAL",
            "Port": 4000
        },
        {
            "Id": 2,
            "Name": "TACHYONAPP2.ACME.LOCAL",
            "Port": 4000
        }
    ],
    "BackgroundChannels": [
        {
            "Id": 1,
            "ResourceUrl": "https://Tachyon.ACME.LOCAL:443/Background/"
        }
    ]
}

Execute on Agentdeployment

GET

/Consumer/Deploy/Installers

Gets a list of all the installers currently stored in the Tachyon database.

Example Response

[
    {
        "Id": 5,
        "OperatingSystemType": 1,
        "OperatingSystemVersion": null,
        "OperatingSystemArchitecture": 2,
        "TachyonAgentVersion": "3.2.0.389",
        "Location": "/Installers/Windows/X64/3.2.0.389/Tachyon-x64.msi",
        "SHA256Checksum": "QtqwT4AyCZxMjRHAZlPCMT7cBW5cTIzVofLE2XCeSV8="
    },
    {
        "Id": 6,
        "OperatingSystemType": 6,
        "OperatingSystemVersion": "7.1",
        "OperatingSystemArchitecture": 2,
        "TachyonAgentVersion": "3.2.0.303",
        "Location": "/Installers/RedHat/7.1/X64/3.2.0.303/tachyon.agent-RHEL_7.1_x64_v3.2.0.303.rpm",
        "SHA256Checksum": "ojlcplO7+Elffbom9x4DoClIox/MyXlT8pWwFRacnA4="
    },
    {
        "Id": 7,
        "OperatingSystemType": 1,
        "OperatingSystemVersion": null,
        "OperatingSystemArchitecture": 1,
        "TachyonAgentVersion": "3.2.0.389",
        "Location": "/Installers/Windows/X86/3.2.0.389/Tachyon-x86.msi",
        "SHA256Checksum": "NADe5IAngOA8kZvt/DY0S3txljsEIuVL4U+RwxaD8AY="
    }
]

The values for OperatingSystemType and OperatingSystemArchitecture are shown below under "Enumerations".

Read on AgentInstallerManagement

POST

/Consumer/Deploy/Installers/Search

Minimum API version 4.0

Returns agent installers that fulfil parameters passed in the request body:

  • filter - filter expression.To learn about how to define filter check Using scope and filter expressions page.

  • sort - sort expression. To learn about how to define sort criteria check Sort Definition page.

  • start - starting index to support pagination. It begins from 1.

  • pagesize - number of results to fetch

Allowed filter columns:

  • Id

  • OperatingSystemType

  • OperatingSystemArchitecture

  • OperatingSystemVersion

  • TachyonAgentVersion

Comments

Allowed sort columns:

  • Id

  • OperatingSystemType

  • OperatingSystemArchitecture

  • OperatingSystemVersion

  • TachyonAgentVersion

Read on AgentInstallerManagement

POST

/Consumer/Deploy/Installers

Submits a file to be stored in the Installer library.

This endpoint expects multipart form data with a single file attached.

The file should be the installer you wish to upload.

The form data should have following fields:

Field name

Description

Notes

AgentVersion

Version of the Tachyon agent this installer is for

The is a free form text field. Maximum 20 characters.

Os

Operating system this installer is for

This should be a textual or numerical value from the operating system enumeration found below.

OsArch

Operating system architecture this installer is for

This should be a textual or numerical value from the operating system architecture enumerating found below.

OsVersion

Version of the operating system this installer is for

Optional. Not used for Windows installers. This is a free form text field. Maximum of 20 characters.

Comments

Comments for the installer

Optional. Available from API version 3.4 onwards. This is a free form text field. Maximum of 1024 characters.

Please note that passing 'Unknown' as operating system or operating system architecture is not allowed when uploading or deleting installers.

Add on AgentInstallerManagement

PUT

/Consumer/Deploy/Installers

Minimum API version 4.0

Updates an existing installer

Sample request body

{
    "Id": 12,
    "Comments":"This is an updated comment"
}

Add on AgentInstallerManagement

DELETE

/Consumer/Deploy/Installers/{id}

Deletes an installer specified by its {id}

Delete on AgentInstallerManagement

DELETE

/Consumer/Deploy/Installers

Minimum API version 4.0

Deletes multiple installers by their ids.

Body of this request should contain an array of Ids of the installers that should be deleted.

Delete on AgentInstallerManagement

DELETE

/Consumer/Deploy/Installers/AgentVersion/{agentVersion}
/Os/{operatingSystemType}/OsVersion/{operatingSystemVersion}
/OsArch/{operatingSystemArchitecture}

-or-

/Consumer/Deploy/Installers/AgentVersion/{agentVersion}
/Os/{operatingSystemType}
/OsArch/{operatingSystemArchitecture}

Deletes an installer specified by its characteristics. See the "POST" entry for an explanation of each parameter.

Please note that passing 'Unknown' as operating system or operating system architecture is not allowed when uploading or deleting installers.

Delete on AgentInstallerManagement

GET

/Consumer/Deploy/SupportedOs

Returns a dictionary of operating systems supported by the feature.

The Key is the numeric value of the operating system while the value is the textual representation of it.

Sample response

{
    "1": "Windows"
}

Read on AgentInstallerManagement

GET

/Consumer/Deploy/SupportedInstallerTypes

Returns a list of installer types that are supported to be uploaded to Tachyon. Each installer type has name and its associated extension.

Response Payload

[
    {
        "Name": "Windows Installer Package",
        "Extension": ".msi"
    },
    {
        "Name": "RedHat Package Manager",
        "Extension": ".rpm"
    }
]

Read on AgentInstallerManagement

Enumerations
Operating System Type

Text value

Numerical value

Unknown

0

Windows

1

MacOs

2

CentOS

3

Fedora

4

openSuse

5

RedHat

6

SLES

7

Ubuntu

9

Debian

10

Operating System Architecture

Text value

Numerical value

Unknown

0

X86

1

X64

2