Your suggested change has been received. Thank you.

close

Suggest A Change

https://thales.na.market.dpondemand.io/docs/dpod/services/kmo….

back

Scheduler APIs

Scheduling Key Rotation

search

Please Note:

Scheduling Key Rotation

This section describes the APIs that are used to create job configuration and run jobs for different clouds. These APIs are used to perform the following tasks:

  • Creating Job Configurations

  • Fetching List of Job Configurations

  • Viewing Details of Job Configurations

  • Updating Job Configurations

  • Deleting Job Configurations

  • Manually Running Jobs

  • Viewing List of Job Runs

  • Viewing Details of Job Runs

  • Deleting Job Runs

Creating Job Configurations

Use the post /v1/scheduler/job-configs API to create a new job configuration.

Syntax

curl -k '<IP>/api/v1/scheduler/job-configs' -H 'Authorization: Bearer AUTHTOKEN' -H 'Content-Type: application/json' --data-binary $'{\n  "name": "<configuration name>",\n  "operation": "<operation>",\n  "description": "<description>",\n  "run_on": "<run on>",\n  "run_at": "<time when you want to run the job>"\n  "cckm_key_rotation_params": {< key rotation parameters>}\n}' --compressed

Request Parameters

ParameterTypeDescription
AUTHTOKENstringAuthorization token.
namestringName of the job configuration.
operationstringType of operation that can be scheduled. For key rotation, specify cckm_key_rotation. Also, specify cckm_key_rotation_params.
run_atstringTime when a job will run. Specify this parameter using the cron expression format: "* * * * *".
cckm_key_rotation_paramsJSONParameters required for configuring a key rotation job such as cloud_name, expiration, expire_in, and rotation_after. Refer to Rotation Parameters for details.
descriptionstringDescription for the job configuration.
disabledbooleanFlag to disable job configuration. Set to true to disable the job.
end_datestringEnd date for a job configuration. The job becomes inactive at this time. Specify the value in the RFC3339 format.
run_onstringNode in a cluster on which the job configuration will run. Possible values are:
any: Runs the job configuration on any node.
<specific node id>: Runs the job configuration on the specified node.
start_datestringTime to start a job configuration. The job becomes active at this time. Specify the value in the RFC3339 format.

Rotation Parameters

ParameterTypeDescription
cloud_namestringName of the cloud. The cloud name can be aws, AzureCloud, gcp, oci, sfdc, or sap.
aws_paramjson(Applicable to the AWS cloud) Whether to retain the key alias with timestamp on the archived key after rotation. Set "retain_alias": true to retain the alias. If set to false, the alias is not retained after rotation.
expirationstringExpiration time of the new key that is created through rotation. If not specified, the new key material never expires. For example, if you set expiration to 6d, the key material of the new key will expire after six days of its creation. The options are:
Xd for x days
Yh for y hours
expire_instringPeriod during which certain keys are going to expire. When the scheduler is run, it rotates the keys that are expiring in this period. If not specified, the scheduler rotates all the keys. For example, if you want the scheduler to rotate the keys that are expiring within six hours of the schedule run, set expire_in to 6h. This parameter is not valid for cloud_name "gcp". The options are:
Xd for x days
Yh for y hours
rotation_afterstring(Applicable when cloud_name is set to aws or AzureCloud.) Number of days after which the keys will be rotated. Specify Xd for x days. The first key rotation will happen after x days of key creation. Subsequent key rotations will happen after every x days of the last rotation date.
For example, if you set rotation_after to 6d, the first key rotation will happen after six days of key creation. Subsequently, the keys will be rotated after every six days.
sfdc_paramjson(Applicable to the Salesforce cloud) Salesforce specific parameters. Refer to Salesforce Parameters for details.
Salesforce Parameters
ParameterTypeDescription
certificate_idstringID of the certificate whose public key will be used to encrypt the tenant secret.
domain_idstring(Applicable to DSM as key source) ID of the DSM domain where the key will be created to upload to Salesforce. Specify domain_id if key_source is dsm.
key_derivation_modestringKey derivation mode. The modes can be:
• PBKDF2
• NONE
key_sourcestringSource of the key material. The source can be:
• native
• dsm
• ciphertrust
key_typearray of stringsType of the Salesforce tenant secret for which the keys will be rotated. The key type can be:
• Data
• EventBus
• SearchIndex
• DeterministicData
• Analytics
organization_idstringID of the Salesforce organization to which the tenant secret belongs.

Example Request

curl -k 'https://127.0.0.1/api/v1/scheduler/job-configs' -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiIzMTNhMDc2ZS1kOTU4LTRjZTktYTY3Ni1lNDYyNzI1YjFhYTciLCJzdWIiOiJsb2NhbHxkNWM5Njk4Zi0xZmQ2LTRiN2MtODBhZi05YTU4ZmE0OGQzNWQiLCJpc3MiOiJreWxvIiwiYWNjIjoia3lsbyIsInByZWZlcnJlZF91c2VybmFtZSI6ImFkbWluIiwiY3VzdCI6eyJkb21haW5faWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJncm91cHMiOlsiYWRtaW4iXSwic2lkIjoiMmI0MjFhYWItNDNiNy00NzdmLTgzYjUtOTA3M2U1NGZhN2FiIiwiem9uZV9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCJ9LCJqd3RpZCI6IjE0YTY2YjQ0LTk3ODAtNGZlYS05MzI5LWM4YWY5NjAyNzU2MSIsImlhdCI6MTU5NTU3NTgyNywiZXhwIjoxNTk1NTc2MTI3fQ.tAZ3qiehHuvV9q8aq3a9s4stbIcVy-OHeoVnBaSlV0I' -H 'Content-Type: application/json' --data-binary $'{\n  "name": "rotate AWS keys",\n  "operation": "cckm_key_rotation",\n  "description": "This is to rotate AWS keys",\n  "run_on": "any",\n  "run_at": "0 1 * * *",\n  "cckm_key_rotation_params": {\n        "cloud_name": "aws"\n    }\n}' --compressed

Example Response

{
    "id": "94f04fba-c9b2-49f9-a211-b595345ac238",
    "uri": "kylo:kylo:scheduler:job_configs:94f04fba-c9b2-49f9-a211-b595345ac238",
    "account": "kylo:kylo:admin:accounts:kylo",
    "application": "ncryptify:gemalto:admin:apps:kylo",
    "devAccount": "ncryptify:gemalto:admin:accounts:gemalto",
    "createdAt": "2020-07-14T11:19:49.821134916Z",
    "name": "rotate AWS keys",
    "updatedAt": "2020-07-14T11:19:49.821134916Z",
    "description": "This is to rotate AWS keys",
    "operation": "cckm_key_rotation",
    "run_at": "0 1 * * *",
    "run_on": "any",
    "job_config_params": {
        "cloud_name": "aws"
    }
}

The sample output shows that a job configuration is created and a unique ID (94f04fba-c9b2-49f9-a211-b595345ac238) for the job configuration is returned.

To know more about response parameters, refer to Response Parameters.

Response Codes

Response CodeDescription
2xxSuccess
4xxClient errors
5xxServer errors

Refer to HTTP status codes for details.

Fetching List of Job Configurations

Use the get /v1/scheduler/job-configs API to view the list of job configurations for a specified account. The results can be filtered using the query parameters.

Syntax

curl -k '<IP>/api/v1/scheduler/job-configs?skip=0&limit=10' -H 'Authorization: Bearer AUTHTOKEN' --compressed

Request Parameter

ParameterTypeDescription
AUTHTOKENstringAuthorization token.

Request Query Parameters

ParameterTypeDescription
skipintegerNumber of records to skip. For example, if "skip":5 is specified, the first five records will not be displayed in the output.
limitintegerNumbers of records to display. For example, if "limit":10 is specified, then the next 10 records (after skipping the number of records specified in the skip parameter) will be displayed in the output.
sortstringComma-delimited list of properties to sort the results.
namestringName of the job configuration.
idstringID of the job configuration.
operationstringName of the operation.
disabledstringDisabled job configuration.
cloud_namestringName of the cloud. Refer to Rotation Parameters.
expire_instringPeriod during which certain keys are going to expire. Refer to Rotation Parameters.
createdBeforestringJob configuration created on or before the specified time.
createdAfterstringJob configuration created on or after the specified time.

Example Request

curl -k 'https://127.0.0.1/api/v1/scheduler/job-configs?skip=0&limit=10' -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiIzMTNhMDc2ZS1kOTU4LTRjZTktYTY3Ni1lNDYyNzI1YjFhYTciLCJzdWIiOiJsb2NhbHxkNWM5Njk4Zi0xZmQ2LTRiN2MtODBhZi05YTU4ZmE0OGQzNWQiLCJpc3MiOiJreWxvIiwiYWNjIjoia3lsbyIsInByZWZlcnJlZF91c2VybmFtZSI6ImFkbWluIiwiY3VzdCI6eyJkb21haW5faWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJncm91cHMiOlsiYWRtaW4iXSwic2lkIjoiOWJiMmNlMmEtZmI2My00MTczLWFhOGItNTA1N2M0OTdkZTJkIiwiem9uZV9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCJ9LCJqd3RpZCI6ImE3M2IwM2RmLWNkMDQtNGMyMi04N2JlLWI3ZWI5OTk4MjlhNyIsImlhdCI6MTU5NTU4NDY5NywiZXhwIjoxNTk1NTg0OTk3fQ.J1abeDodJdkXcp_nIDbn__qDPg4F8xjwLbm6Wx5DOKY' --compressed

Example Response

{
    "skip": 0,
    "limit": 10,
    "total": 2,
    "resources": [
        {
            "id": "c574efd3-10f2-48c6-ae18-e0700ac8145e",
            "uri": "kylo:kylo:scheduler:job_configs:c574efd3-10f2-48c6-ae18-e0700ac8145e",
            "account": "kylo:kylo:admin:accounts:kylo",
            "application": "ncryptify:gemalto:admin:apps:kylo",
            "devAccount": "ncryptify:gemalto:admin:accounts:gemalto",
            "createdAt": "2020-07-14T11:21:06.571758Z",
            "name": "rotate AWS keys",
            "updatedAt": "2020-07-14T11:25:24.817444Z",
            "description": "rotate all AWS keys",
            "operation": "cckm_key_rotation",
            "run_at": "0 1 * * *",
            "run_on": "any",
            "job_config_params": {
            "cloud_name": "aws"
            }
        },
        {
            "id": "94f04fba-c9b2-49f9-a211-b595345ac238",
            "uri": "kylo:kylo:scheduler:job_configs:94f04fba-c9b2-49f9-a211-b595345ac238",
            "account": "kylo:kylo:admin:accounts:kylo",
            "application": "ncryptify:gemalto:admin:apps:kylo",
            "devAccount": "ncryptify:gemalto:admin:accounts:gemalto",
            "createdAt": "2020-07-14T11:19:49.821135Z",
            "name": "rotate AWS keys",
            "updatedAt": "2020-07-14T11:19:49.821135Z",
            "description": "This is to rotate AWS keys",
            "operation": "cckm_key_rotation",
            "run_at": "0 1 * * *",
            "run_on": "any",
            "job_config_params": {
            "cloud_name": "aws"
            }
        }
    ]
}

The sample output shows the list of job configurations for a specified account.

To know more about response parameters, refer to Response Parameters.

Response Codes

Response CodeDescription
2xxSuccess
4xxClient errors
5xxServer errors

Refer to HTTP status codes for details.

Viewing Details of Job Configurations

Use the get /v1/scheduler/job-configs/{id} API to view the details of a job configuration with a specific ID.

Syntax

curl -k '<IP>/api/v1/scheduler/job-configs/{id}' -H 'Authorization: Bearer AUTHTOKEN' --compressed

Here, {id} represents the ID of the job configuration.

Request Parameter

ParameterTypeDescription
AUTHTOKENstringAuthorization token.

Example Request

curl -k 'https://127.0.0.1/api/v1/scheduler/job-configs/94f04fba-c9b2-49f9-a211-b595345ac238' -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJiYzc5M2E4ZC00YWVhLTRlM2EtYWRiYy05YmRlMDhjYjE5MDYiLCJzdWIiOiJsb2NhbHw2MjgyZDZkNC0wZGI5LTRmZmEtYjc4Ny0xNzY0NTFiMmViNGQiLCJpc3MiOiJreWxvIiwiYWNjIjoia3lsbyIsInByZWZlcnJlZF91c2VybmFtZSI6ImFkbWluIiwiY3VzdCI6eyJkb21haW5faWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJncm91cHMiOlsiYWRtaW4iXSwic2lkIjoiODI1OWFhZTEtNjkzMi00NzE2LTlhMjItNzAzZWFlNzc2MWUzIiwiem9uZV9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCJ9LCJqd3RpZCI6IjU4OWU2NjBjLWU1MzgtNGZmOS04MWQzLWNiMWI3MWYzZDNhYiIsImlhdCI6MTU5NDcyNjE3OCwiZXhwIjoxNTk0NzI2NDc4fQ.xzoksM7OjCC65lPg3keDS3iGnz4C6ZHFUgNlAHl7dVQ' --compressed

Example Response

{
    "id": "94f04fba-c9b2-49f9-a211-b595345ac238",
    "uri": "kylo:kylo:scheduler:job_configs:94f04fba-c9b2-49f9-a211-b595345ac238",
    "account": "kylo:kylo:admin:accounts:kylo",
    "application": "ncryptify:gemalto:admin:apps:kylo",
    "devAccount": "ncryptify:gemalto:admin:accounts:gemalto",
    "createdAt": "2020-07-14T11:19:49.821135Z",
    "name": "rotate AWS keys",
    "updatedAt": "2020-07-14T11:19:49.821135Z",
    "description": "This is to rotate AWS keys",
    "operation": "cckm_key_rotation",
    "run_at": "0 1 * * *",
    "run_on": "any",
    "job_config_params": {

        "cloud_name": "aws"
    }
}

The sample output shows the details corresponding to a specific job configuration ID (94f04fba-c9b2-49f9-a211-b595345ac238).

To know more about response parameters, refer to Response Parameters.

Response Codes

Response CodeDescription
2xxSuccess
4xxClient errors
5xxServer errors

Refer to HTTP status codes for details.

Updating Job Configurations

Use the patch /v1/scheduler/job-configs/{id} API to update an existing job configuration. You can modify key rotation parameters such as aws_param, sfdc_param, expire_in, and expiration.

Syntax

curl -k '<IP>/api/v1/scheduler/job-configs/{id}' -X PATCH -H 'Authorization: Bearer AUTHTOKEN' -H 'Content-Type: application/json' --data-binary $'{ \n    "cckm_key_rotation_params": {<key rotation parameters>}' --compressed

Here, {id} represents the ID of the job configuration.

Request Parameters

ParameterTypeDescription
AUTHTOKENstringAuthorization token.
cckm_key_rotation_paramsJSONKey rotation parameters. Refer to Rotation Parameters for details.

Rotation Parameters

ParameterTypeDescription
aws_paramjson(Applicable to the AWS cloud) Whether to retain the key alias with timestamp on the archived key after rotation. Set "retain_alias": true to retain the alias. If set to false, the alias is not retained after rotation.
expirationstringExpiration time of the new key that is created through rotation. If not specified, the new key material never expires. For example, if you set expiration to 6d, the key material of the new key will expire after six days of its creation. The options are:
Xd for x days
Yh for y hours
expire_instringPeriod during which certain keys are going to expire. When the scheduler is run, it rotates the keys that are expiring in this period. If not specified, the scheduler rotates all the keys. For example, if you want the scheduler to rotate the keys that are expiring within six hours of the schedule run, set expire_in to 6h. This parameter is not valid for cloud_name "gcp". The options are:
Xd for x days
Yh for y hours
rotation_afterstring(Applicable when cloud_name is set to aws or AzureCloud.) Number of days after which the keys will be rotated. Specify Xd for x days. The first key rotation will happen after x days of key creation. Subsequent key rotations will happen after every x days of the last rotation date.
For example, if you set rotation_after to 6d, the first key rotation will happen after six days of key creation. Subsequently, the keys will be rotated after every six days.
sfdc_paramjson(Applicable to the Salesforce cloud) Salesforce specific parameters. Refer to Salesforce Parameters for details.

Salesforce Parameters

ParameterTypeDescription
certificate_idstringID of the certificate whose public key will be used to encrypt the tenant secret.
domain_idstring(Applicable to DSM as key source) ID of the DSM domain where the key will be created to upload to Salesforce. Specify domain_id if key_source is dsm.
key_derivation_modestringKey derivation mode. The modes can be:
• PBKDF2
• NONE
key_sourcestringSource of the key material. The source can be:
• native
• dsm
• ciphertrust
key_typearray of stringsType of the Salesforce tenant secret for which the keys will be rotated. The key type can be:
• Data
• EventBus
• SearchIndex
• DeterministicData
• Analytics
organization_idstringID of the Salesforce organization to which the tenant secret belongs.

Example Request

curl -k 'https://127.0.0.1/api/v1/scheduler/job-configs/94f04fba-c9b2-49f9-a211-b595345ac238' -X PATCH -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJiYzc5M2E4ZC00YWVhLTRlM2EtYWRiYy05YmRlMDhjYjE5MDYiLCJzdWIiOiJsb2NhbHw2MjgyZDZkNC0wZGI5LTRmZmEtYjc4Ny0xNzY0NTFiMmViNGQiLCJpc3MiOiJreWxvIiwiYWNjIjoia3lsbyIsInByZWZlcnJlZF91c2VybmFtZSI6ImFkbWluIiwiY3VzdCI6eyJkb21haW5faWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJncm91cHMiOlsiYWRtaW4iXSwic2lkIjoiODI1OWFhZTEtNjkzMi00NzE2LTlhMjItNzAzZWFlNzc2MWUzIiwiem9uZV9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCJ9LCJqd3RpZCI6IjU4OWU2NjBjLWU1MzgtNGZmOS04MWQzLWNiMWI3MWYzZDNhYiIsImlhdCI6MTU5NDcyNjE3OCwiZXhwIjoxNTk0NzI2NDc4fQ.xzoksM7OjCC65lPg3keDS3iGnz4C6ZHFUgNlAHl7dVQ' -H 'Content-Type: application/json' --data-binary $'{ \n    "cckm_key_rotation_params": {\n        "expire_in": "2d"\n    }\n}' --compressed

Example Response

{
            "id": "94f04fba-c9b2-49f9-a211-b595345ac238",
            "uri": "kylo:kylo:scheduler:job_configs:94f04fba-c9b2-49f9-a211-b595345ac238",
            "account": "kylo:kylo:admin:accounts:kylo",
            "application": "ncryptify:gemalto:admin:apps:kylo",
            "devAccount": "ncryptify:gemalto:admin:accounts:gemalto",
            "createdAt": "2020-07-14T11:19:49.821135Z",
            "name": "rotate AWS keys",
            "updatedAt": "2020-07-14T11:19:49.821135Z",
            "description": "This is to rotate AWS keys",
            "operation": "cckm_key_rotation",
            "run_at": "0 1 * * *",
            "run_on": "any",
            "job_config_params": {
                "expire_in": "2d",
                "cloud_name": "aws"
}

The sample output shows that the expire_in parameter is modified to 2d which means that the scheduler will rotate all the keys that will expire in 2 days.

To know more about response parameters, refer to Response Parameters.

Response Codes

Response CodeDescription
2xxSuccess
4xxClient errors
5xxServer errors

Refer to HTTP status codes for details.

Deleting Job Configurations

Use the delete /v1/scheduler/job-configs/{id} API to delete a job configuration.

Syntax

curl -k 'https://<IP>/api/v1/scheduler/job-configs/{id}' -X DELETE -H 'Authorization: Bearer AUTHTOKEN' --compressed

Here, {id} represents the ID of the job configuration.

Request Parameter

ParameterTypeDescription
AUTHTOKENstringAuthorization token.

Example Request

curl -k 'https://127.0.0.1/api/v1/scheduler/job-configs/94f04fba-c9b2-49f9-a211-b595345ac238' -X DELETE -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJiYzc5M2E4ZC00YWVhLTRlM2EtYWRiYy05YmRlMDhjYjE5MDYiLCJzdWIiOiJsb2NhbHw2MjgyZDZkNC0wZGI5LTRmZmEtYjc4Ny0xNzY0NTFiMmViNGQiLCJpc3MiOiJreWxvIiwiYWNjIjoia3lsbyIsInByZWZlcnJlZF91c2VybmFtZSI6ImFkbWluIiwiY3VzdCI6eyJkb21haW5faWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJncm91cHMiOlsiYWRtaW4iXSwic2lkIjoiODI1OWFhZTEtNjkzMi00NzE2LTlhMjItNzAzZWFlNzc2MWUzIiwiem9uZV9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCJ9LCJqd3RpZCI6IjU4OWU2NjBjLWU1MzgtNGZmOS04MWQzLWNiMWI3MWYzZDNhYiIsImlhdCI6MTU5NDcyNjE3OCwiZXhwIjoxNTk0NzI2NDc4fQ.xzoksM7OjCC65lPg3keDS3iGnz4C6ZHFUgNlAHl7dVQ' --compressed

Example Response

{
"status": 204
}

The sample output shows that the job configuration is deleted successfully and "status": 204 is returned in response.

Manually Running Jobs

Use the post /v1/scheduler/job-configs/{id}/run-now API to manually run a job when needed.

Syntax

curl -k '<IP>/api/v1/scheduler/job-configs/{id}/run-now' -X POST -H 'Authorization: Bearer AUTHTOKEN' --compressed

Here, {id} represents the ID of the job configuration.

Request Parameter

ParameterTypeDescription
AUTHTOKENstringAuthorization token.

Example Request

curl -k 'https://127.0.0.1/api/v1/scheduler/job-configs/94f04fba-c9b2-49f9-a211-b595345ac238/run-now' -X POST -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJiYzc5M2E4ZC00YWVhLTRlM2EtYWRiYy05YmRlMDhjYjE5MDYiLCJzdWIiOiJsb2NhbHw2MjgyZDZkNC0wZGI5LTRmZmEtYjc4Ny0xNzY0NTFiMmViNGQiLCJpc3MiOiJreWxvIiwiYWNjIjoia3lsbyIsInByZWZlcnJlZF91c2VybmFtZSI6ImFkbWluIiwiY3VzdCI6eyJkb21haW5faWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJncm91cHMiOlsiYWRtaW4iXSwic2lkIjoiODI1OWFhZTEtNjkzMi00NzE2LTlhMjItNzAzZWFlNzc2MWUzIiwiem9uZV9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCJ9LCJqd3RpZCI6IjU4OWU2NjBjLWU1MzgtNGZmOS04MWQzLWNiMWI3MWYzZDNhYiIsImlhdCI6MTU5NDcyNjE3OCwiZXhwIjoxNTk0NzI2NDc4fQ.xzoksM7OjCC65lPg3keDS3iGnz4C6ZHFUgNlAHl7dVQ' --compressed

Example Response

{
    "job_id": "a858090b-fd49-46ad-a775-f0936c3d7cbc",
    "job_config_id": "94f04fba-c9b2-49f9-a211-b595345ac238"
}

This API creates a new job and waits for the job to be posted on the job queue. A "job_id" is returned if the job is posted within about 30 seconds.

To know more about response parameters, refer to Response Parameters.

Response Codes

Response CodeDescription
2xxSuccess
4xxClient errors
5xxServer errors

Refer to HTTP status codes for details.

Viewing List of Job Runs

Use the get /v1/scheduler/jobs API to view the list of job runs for the logged in account. You can view the results of jobs executed in the past, including status and error count.

Syntax

curl -k '<IP>/api/v1/scheduler/jobs?skip=0&limit=10' -H 'Authorization: Bearer AUTHTOKEN' --compressed

Request Parameter

ParameterTypeDescription
AUTHTOKENstringAuthorization token.

Request Query Parameters

ParameterTypeDescription
skipintegerNumber of records to skip. For example, if "skip":5 is specified, the first five records will not be displayed in the output.
limitintegerNumbers of records to display. For example, if "limit":10 is specified, then the next 10 records (after skipping the number of records specified in the skip parameter) will be displayed in the output.
sortstringComma-delimited list of properties to sort the results.
idstringID of the scheduler job.
namestringName of the job configuration.
accountstringName of the logged in account.
job_config_idstringID of the job configuration.
operationstringName of the operation.
statusstringStatus of the job run.
createdBeforestringJobs created on or before the specified time.
createdAfterstringJobs created on or after the specified time.
processing_nodestringNode or IP address on which the job is run.

Example Request

curl -k 'https://127.0.0.1/api/v1/scheduler/jobs?skip=0&limit=10' -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiIyYWUwY2UxMy1lYzFhLTRiYmYtYTA5Yi02MDYzYzdkNjZiNzMiLCJzdWIiOiJsb2NhbHxmMjYyYTc5MS0wYzgyLTQ2MTYtOGJlNi0xMDhjYzFlNzI2MDEiLCJpc3MiOiJreWxvIiwiYWNjIjoia3lsbyIsInByZWZlcnJlZF91c2VybmFtZSI6ImFkbWluIiwiY3VzdCI6eyJkb21haW5faWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJncm91cHMiOlsiYWRtaW4iXSwic2lkIjoiMThjM2Q2NDAtN2Q2NS00NjdjLTk3ZmQtN2ZkODY4NDVlMzNiIiwiem9uZV9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCJ9LCJqd3RpZCI6ImQ3ODQ0NDQxLTViOWItNDQzYy05NThiLWQ3ZGQ3MjJiNjFmYSIsImlhdCI6MTU5NTMyOTQxMywiZXhwIjoxNTk1MzI5NzEzfQ.n3fk1Ft70G695YM8I0cUb3InItuPCqP1AhrbzxkHpfM' --compressed

Example Response

{
    "skip": 0,
    "limit": 10,
    "total": 1,
    "resources": [
        {
            "id": "a858090b-fd49-46ad-a775-f0936c3d7cbc",
            "uri": "kylo:kylo:scheduler:jobs:a858090b-fd49-46ad-a775-f0936c3d7cbc",
            "account": "kylo:kylo:admin:accounts:kylo",
            "application": "ncryptify:gemalto:admin:apps:kylo",
            "devAccount": "ncryptify:gemalto:admin:accounts:gemalto",
            "createdAt": "2020-07-21T09:59:43.258025Z",
            "name": "rotate aws keys",
            "updatedAt": "2020-07-21T10:00:05.297503Z",
            "job_config_id": "94f04fba-c9b2-49f9-a211-b595345ac238",
            "description": "This is to rotate aws keys",
            "operation": "cckm_key_rotation",
            "job_config_params": {
                "cloud_name": "aws"
            },
            "enqueued_at": "2020-07-21T09:59:43.25751Z",
            "status": "completed",
            "processing_node": "local-node",
            "details": {
                "job_id": "a858090b-fd49-46ad-a775-f0936c3d7cbc",
                "job_config_id": "94f04fba-c9b2-49f9-a211-b595345ac238",
                "name": "rotate aws keys",
                "operation": "cckm_key_rotation",
                "status": "completed",
                "details": {
                    "total_keys": 6,
                    "num_rotated": 6
                }
            }
        }
    ]
}

The sample output shows the list of jobs for a logged in account.

To know more about response parameters, refer to Response Parameters.

Response Codes

Response CodeDescription
2xxSuccess
4xxClient errors
5xxServer errors

Refer to HTTP status codes for details.

Viewing Details of Job Runs

Use the get /v1/scheduler/jobs/{id} API to view details of a specific job run.

Syntax

curl -k '<IP>/api/v1/scheduler/jobs/{id}' -H 'Authorization: Bearer AUTHTOKEN' --compressed

Here, {id} represents the ID of the scheduler job.

Request Parameter

ParameterTypeDescription
AUTHTOKENstringAuthorization token.

Example Request

curl -k 'https://127.0.0.1/api/v1/scheduler/jobs/a858090b-fd49-46ad-a775-f0936c3d7cbc' -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJiYzc5M2E4ZC00YWVhLTRlM2EtYWRiYy05YmRlMDhjYjE5MDYiLCJzdWIiOiJsb2NhbHw2MjgyZDZkNC0wZGI5LTRmZmEtYjc4Ny0xNzY0NTFiMmViNGQiLCJpc3MiOiJreWxvIiwiYWNjIjoia3lsbyIsInByZWZlcnJlZF91c2VybmFtZSI6ImFkbWluIiwiY3VzdCI6eyJkb21haW5faWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJncm91cHMiOlsiYWRtaW4iXSwic2lkIjoiODI1OWFhZTEtNjkzMi00NzE2LTlhMjItNzAzZWFlNzc2MWUzIiwiem9uZV9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCJ9LCJqd3RpZCI6IjU4OWU2NjBjLWU1MzgtNGZmOS04MWQzLWNiMWI3MWYzZDNhYiIsImlhdCI6MTU5NDcyNjE3OCwiZXhwIjoxNTk0NzI2NDc4fQ.xzoksM7OjCC65lPg3keDS3iGnz4C6ZHFUgNlAHl7dVQ' --compressed

Example Response

{
           "id": "a858090b-fd49-46ad-a775-f0936c3d7cbc",
            "uri": "kylo:kylo:scheduler:jobs:a858090b-fd49-46ad-a775-f0936c3d7cbc",
            "account": "kylo:kylo:admin:accounts:kylo",
            "application": "ncryptify:gemalto:admin:apps:kylo",
            "devAccount": "ncryptify:gemalto:admin:accounts:gemalto",
            "createdAt": "2020-07-21T09:59:43.258025Z",
            "name": "rotate aws keys",
            "updatedAt": "2020-07-21T10:00:05.297503Z",
            "job_config_id": "94f04fba-c9b2-49f9-a211-b595345ac238",
            "description": "This is to rotate aws keys",
            "operation": "cckm_key_rotation",
            "job_config_params": {
                "cloud_name": "aws"
            },
            "enqueued_at": "2020-07-21T09:59:43.25751Z",
            "status": "completed",
            "processing_node": "local-node",
            "details": {
                "job_id": "a858090b-fd49-46ad-a775-f0936c3d7cbc",
                "job_config_id": "94f04fba-c9b2-49f9-a211-b595345ac238",
                "name": "rotate aws keys",
                "operation": "cckm_key_rotation",
                "status": "completed",
                "details": {
                    "total_keys": 6,
                    "num_rotated": 6
                }
            }
}

The sample output shows the details corresponding to a specific job ID (a858090b-fd49-46ad-a775-f0936c3d7cbc).

To know more about response parameters, refer to Response Parameters.

Response Codes

Response CodeDescription
2xxSuccess
4xxClient errors
5xxServer errors

Refer to HTTP status codes for details.

Deleting Job Runs

Use the delete /v1/scheduler/jobs/{id} API to delete a job run.

Syntax

curl -k '<IP>/api/v1/scheduler/jobs/{id}' -X DELETE -H 'Authorization: Bearer AUTHTOKEN' --compressed

Here, {id} represents the ID of the scheduler job.

Request Parameter

ParameterTypeDescription
AUTHTOKENstringAuthorization token.

Example Request

curl -k 'https://127.0.0.1/api/v1/scheduler/jobs/a858090b-fd49-46ad-a775-f0936c3d7cbc' -X DELETE -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJiYzc5M2E4ZC00YWVhLTRlM2EtYWRiYy05YmRlMDhjYjE5MDYiLCJzdWIiOiJsb2NhbHw2MjgyZDZkNC0wZGI5LTRmZmEtYjc4Ny0xNzY0NTFiMmViNGQiLCJpc3MiOiJreWxvIiwiYWNjIjoia3lsbyIsInByZWZlcnJlZF91c2VybmFtZSI6ImFkbWluIiwiY3VzdCI6eyJkb21haW5faWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJncm91cHMiOlsiYWRtaW4iXSwic2lkIjoiODI1OWFhZTEtNjkzMi00NzE2LTlhMjItNzAzZWFlNzc2MWUzIiwiem9uZV9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCJ9LCJqd3RpZCI6IjRjYzQ4Y2I1LTRjMGQtNGZiOS1hMmE1LTg4Njg3ZDE1YzQ4MyIsImlhdCI6MTU5NDcyNjU1MSwiZXhwIjoxNTk0NzI2ODUxfQ.Nx2JsU7eD1QUdPOxE94DbCuWBjh9N5a6c96oVpnaKLs' --compressed

Example Response

{
"status": 204
}

The sample output shows that the job is deleted successfully and "status": 204 is returned in response.

Response Codes

Response CodeDescription
2xxSuccess
4xxClient errors
5xxServer errors

Refer to HTTP status codes for details.