AWSDeadlineCloud

2026/04/02 - AWSDeadlineCloud - 3 updated api methods

Changes  AWS Deadline Cloud now supports configurable scheduling on each queue. The scheduling configuration controls how workers are distributed across jobs.

CreateQueue (updated) Link ¶
Changes (request)
{'schedulingConfiguration': {'priorityBalanced': {'renderingTaskBuffer': 'integer'},
                             'priorityFifo': {},
                             'weightedBalanced': {'errorWeight': 'double',
                                                  'maxPriorityOverride': {'alwaysScheduleFirst': {}},
                                                  'minPriorityOverride': {'alwaysScheduleLast': {}},
                                                  'priorityWeight': 'double',
                                                  'renderingTaskBuffer': 'integer',
                                                  'renderingTaskWeight': 'double',
                                                  'submissionTimeWeight': 'double'}}}

Creates a queue to coordinate the order in which jobs run on a farm. A queue can also specify where to pull resources and indicate where to output completed jobs.

See also: AWS API Documentation

Request Syntax

client.create_queue(
    farmId='string',
    clientToken='string',
    displayName='string',
    description='string',
    defaultBudgetAction='NONE'|'STOP_SCHEDULING_AND_COMPLETE_TASKS'|'STOP_SCHEDULING_AND_CANCEL_TASKS',
    jobAttachmentSettings={
        's3BucketName': 'string',
        'rootPrefix': 'string'
    },
    roleArn='string',
    jobRunAsUser={
        'posix': {
            'user': 'string',
            'group': 'string'
        },
        'windows': {
            'user': 'string',
            'passwordArn': 'string'
        },
        'runAs': 'QUEUE_CONFIGURED_USER'|'WORKER_AGENT_USER'
    },
    requiredFileSystemLocationNames=[
        'string',
    ],
    allowedStorageProfileIds=[
        'string',
    ],
    tags={
        'string': 'string'
    },
    schedulingConfiguration={
        'priorityFifo': {}
        ,
        'priorityBalanced': {
            'renderingTaskBuffer': 123
        },
        'weightedBalanced': {
            'priorityWeight': 123.0,
            'errorWeight': 123.0,
            'submissionTimeWeight': 123.0,
            'renderingTaskWeight': 123.0,
            'renderingTaskBuffer': 123,
            'maxPriorityOverride': {
                'alwaysScheduleFirst': {}

            },
            'minPriorityOverride': {
                'alwaysScheduleLast': {}

            }
        }
    }
)
type farmId:

string

param farmId:

[REQUIRED]

The farm ID of the farm to connect to the queue.

type clientToken:

string

param clientToken:

The unique token which the server uses to recognize retries of the same request.

This field is autopopulated if not provided.

type displayName:

string

param displayName:

[REQUIRED]

The display name of the queue.

type description:

string

param description:

The description of the queue.

type defaultBudgetAction:

string

param defaultBudgetAction:

The default action to take on a queue if a budget isn't configured.

type jobAttachmentSettings:

dict

param jobAttachmentSettings:

The job attachment settings for the queue. These are the Amazon S3 bucket name and the Amazon S3 prefix.

  • s3BucketName (string) -- [REQUIRED]

    The Amazon S3 bucket name.

  • rootPrefix (string) -- [REQUIRED]

    The root prefix.

type roleArn:

string

param roleArn:

The IAM role ARN that workers will use while running jobs for this queue.

type jobRunAsUser:

dict

param jobRunAsUser:

The jobs in the queue run as the specified POSIX user.

  • posix (dict) --

    The user and group that the jobs in the queue run as.

    • user (string) -- [REQUIRED]

      The name of the POSIX user.

    • group (string) -- [REQUIRED]

      The name of the POSIX user's group.

  • windows (dict) --

    Identifies a Microsoft Windows user.

    • user (string) -- [REQUIRED]

      The user.

    • passwordArn (string) -- [REQUIRED]

      The password ARN for the Windows user.

  • runAs (string) -- [REQUIRED]

    Specifies whether the job should run using the queue's system user or if the job should run using the worker agent system user.

type requiredFileSystemLocationNames:

list

param requiredFileSystemLocationNames:

The file system location name to include in the queue.

  • (string) --

type allowedStorageProfileIds:

list

param allowedStorageProfileIds:

The storage profile IDs to include in the queue.

  • (string) --

type tags:

dict

param tags:

Each tag consists of a tag key and a tag value. Tag keys and values are both required, but tag values can be empty strings.

  • (string) --

    • (string) --

type schedulingConfiguration:

dict

param schedulingConfiguration:

The scheduling configuration for the queue. This configuration determines how workers are assigned to jobs in the queue.

If not specified, the queue defaults to the priorityFifo scheduling configuration.

  • priorityFifo (dict) --

    Workers are assigned to the highest-priority job first. When multiple jobs share the same priority, the job submitted earliest receives workers first. This is the default scheduling configuration for new queues.

  • priorityBalanced (dict) --

    Workers are distributed evenly across all jobs at the highest priority level. When workers cannot be evenly divided, the extra workers are assigned to the jobs submitted earliest. If a job has fewer remaining tasks than its share of workers, the surplus workers are redistributed to other jobs at the same priority level.

    • renderingTaskBuffer (integer) --

      The rendering task buffer controls worker stickiness. A worker only switches from its current job to another job at the same priority if the other job has fewer rendering tasks by more than this buffer value. Higher values make workers stickier to their current jobs. The default value is 1.

  • weightedBalanced (dict) --

    Workers are assigned to jobs based on a weighted formula that considers job priority, error count, submission time, and the number of tasks currently rendering. Each factor has a configurable weight that determines its influence on scheduling decisions.

    • priorityWeight (float) --

      The weight applied to job priority in the scheduling formula. Higher values give more influence to job priority. A value of 0 means priority is ignored. The default value is 100.0.

    • errorWeight (float) --

      The weight applied to the number of errors on a job. A negative value means jobs without errors are scheduled first. A value of 0 means errors are ignored. The default value is -10.0.

    • submissionTimeWeight (float) --

      The weight applied to job submission time. A positive value means earlier jobs are scheduled first. A value of 0 means submission time is ignored. The default value is 3.0.

    • renderingTaskWeight (float) --

      The weight applied to the number of tasks currently rendering on a job. A negative value means jobs that are not already rendering are scheduled next. A value of 0 means the rendering state is ignored. The default value is -100.0.

    • renderingTaskBuffer (integer) --

      The rendering task buffer is subtracted from the number of rendering tasks before applying the rendering task weight. This creates a stickiness effect where workers prefer to stay with their current job. Higher values make workers stickier. The default value is 1. The buffer is only applied in the weight calculation for a job if the worker is currently assigned to that job.

    • maxPriorityOverride (dict) --

      Overrides the weighted scheduling formula for jobs at the maximum priority (100). When set, jobs with priority 100 are always scheduled first regardless of their calculated weight. When absent, maximum priority jobs use the standard weighted formula.

      • alwaysScheduleFirst (dict) --

        Jobs at the maximum priority (100) are always scheduled before other jobs, regardless of the weighted scheduling formula. If multiple jobs have priority 100, ties are broken using the standard weighted formula.

    • minPriorityOverride (dict) --

      Overrides the weighted scheduling formula for jobs at the minimum priority (0). When set, jobs with priority 0 are always scheduled last regardless of their calculated weight. When absent, minimum priority jobs use the standard weighted formula.

      • alwaysScheduleLast (dict) --

        Jobs at the minimum priority (0) are always scheduled after all other jobs, regardless of the weighted scheduling formula. If multiple jobs have priority 0, ties are broken using the standard weighted formula.

rtype:

dict

returns:

Response Syntax

{
    'queueId': 'string'
}

Response Structure

  • (dict) --

    Mixin that adds an optional ARN field to response structures. Apply to SummaryMixins (flows into Get, Summary, and BatchGet) and Create outputs.

    • queueId (string) --

      The queue ID.

GetQueue (updated) Link ¶
Changes (response)
{'schedulingConfiguration': {'priorityBalanced': {'renderingTaskBuffer': 'integer'},
                             'priorityFifo': {},
                             'weightedBalanced': {'errorWeight': 'double',
                                                  'maxPriorityOverride': {'alwaysScheduleFirst': {}},
                                                  'minPriorityOverride': {'alwaysScheduleLast': {}},
                                                  'priorityWeight': 'double',
                                                  'renderingTaskBuffer': 'integer',
                                                  'renderingTaskWeight': 'double',
                                                  'submissionTimeWeight': 'double'}}}

Gets a queue.

See also: AWS API Documentation

Request Syntax

client.get_queue(
    farmId='string',
    queueId='string'
)
type farmId:

string

param farmId:

[REQUIRED]

The farm ID of the farm in the queue.

type queueId:

string

param queueId:

[REQUIRED]

The queue ID for the queue to retrieve.

rtype:

dict

returns:

Response Syntax

{
    'farmId': 'string',
    'queueId': 'string',
    'displayName': 'string',
    'status': 'IDLE'|'SCHEDULING'|'SCHEDULING_BLOCKED',
    'defaultBudgetAction': 'NONE'|'STOP_SCHEDULING_AND_COMPLETE_TASKS'|'STOP_SCHEDULING_AND_CANCEL_TASKS',
    'blockedReason': 'NO_BUDGET_CONFIGURED'|'BUDGET_THRESHOLD_REACHED',
    'createdAt': datetime(2015, 1, 1),
    'createdBy': 'string',
    'updatedAt': datetime(2015, 1, 1),
    'updatedBy': 'string',
    'description': 'string',
    'jobAttachmentSettings': {
        's3BucketName': 'string',
        'rootPrefix': 'string'
    },
    'roleArn': 'string',
    'requiredFileSystemLocationNames': [
        'string',
    ],
    'allowedStorageProfileIds': [
        'string',
    ],
    'jobRunAsUser': {
        'posix': {
            'user': 'string',
            'group': 'string'
        },
        'windows': {
            'user': 'string',
            'passwordArn': 'string'
        },
        'runAs': 'QUEUE_CONFIGURED_USER'|'WORKER_AGENT_USER'
    },
    'schedulingConfiguration': {
        'priorityFifo': {},
        'priorityBalanced': {
            'renderingTaskBuffer': 123
        },
        'weightedBalanced': {
            'priorityWeight': 123.0,
            'errorWeight': 123.0,
            'submissionTimeWeight': 123.0,
            'renderingTaskWeight': 123.0,
            'renderingTaskBuffer': 123,
            'maxPriorityOverride': {
                'alwaysScheduleFirst': {}
            },
            'minPriorityOverride': {
                'alwaysScheduleLast': {}
            }
        }
    }
}

Response Structure

  • (dict) --

    Mixin that adds an optional ARN field to response structures. Apply to SummaryMixins (flows into Get, Summary, and BatchGet) and Create outputs.

    • farmId (string) --

      The farm ID for the queue.

    • queueId (string) --

      The queue ID.

    • displayName (string) --

      The display name of the queue.

    • status (string) --

      The status of the queue.

      • ACTIVE–The queue is active.

      • SCHEDULING–The queue is scheduling.

      • SCHEDULING_BLOCKED–The queue scheduling is blocked. See the provided reason.

    • defaultBudgetAction (string) --

      The default action taken on a queue if a budget wasn't configured.

    • blockedReason (string) --

      The reason the queue was blocked.

    • createdAt (datetime) --

      The date and time the resource was created.

    • createdBy (string) --

      The user or system that created this resource.

    • updatedAt (datetime) --

      The date and time the resource was updated.

    • updatedBy (string) --

      The user or system that updated this resource.

    • description (string) --

      The description of the queue.

    • jobAttachmentSettings (dict) --

      The job attachment settings for the queue.

      • s3BucketName (string) --

        The Amazon S3 bucket name.

      • rootPrefix (string) --

        The root prefix.

    • roleArn (string) --

      The IAM role ARN.

    • requiredFileSystemLocationNames (list) --

      A list of the required file system location names in the queue.

      • (string) --

    • allowedStorageProfileIds (list) --

      The storage profile IDs for the queue.

      • (string) --

    • jobRunAsUser (dict) --

      The jobs in the queue ran as this specified POSIX user.

      • posix (dict) --

        The user and group that the jobs in the queue run as.

        • user (string) --

          The name of the POSIX user.

        • group (string) --

          The name of the POSIX user's group.

      • windows (dict) --

        Identifies a Microsoft Windows user.

        • user (string) --

          The user.

        • passwordArn (string) --

          The password ARN for the Windows user.

      • runAs (string) --

        Specifies whether the job should run using the queue's system user or if the job should run using the worker agent system user.

    • schedulingConfiguration (dict) --

      The scheduling configuration for the queue. This configuration determines how workers are assigned to jobs in the queue.

      • priorityFifo (dict) --

        Workers are assigned to the highest-priority job first. When multiple jobs share the same priority, the job submitted earliest receives workers first. This is the default scheduling configuration for new queues.

      • priorityBalanced (dict) --

        Workers are distributed evenly across all jobs at the highest priority level. When workers cannot be evenly divided, the extra workers are assigned to the jobs submitted earliest. If a job has fewer remaining tasks than its share of workers, the surplus workers are redistributed to other jobs at the same priority level.

        • renderingTaskBuffer (integer) --

          The rendering task buffer controls worker stickiness. A worker only switches from its current job to another job at the same priority if the other job has fewer rendering tasks by more than this buffer value. Higher values make workers stickier to their current jobs. The default value is 1.

      • weightedBalanced (dict) --

        Workers are assigned to jobs based on a weighted formula that considers job priority, error count, submission time, and the number of tasks currently rendering. Each factor has a configurable weight that determines its influence on scheduling decisions.

        • priorityWeight (float) --

          The weight applied to job priority in the scheduling formula. Higher values give more influence to job priority. A value of 0 means priority is ignored. The default value is 100.0.

        • errorWeight (float) --

          The weight applied to the number of errors on a job. A negative value means jobs without errors are scheduled first. A value of 0 means errors are ignored. The default value is -10.0.

        • submissionTimeWeight (float) --

          The weight applied to job submission time. A positive value means earlier jobs are scheduled first. A value of 0 means submission time is ignored. The default value is 3.0.

        • renderingTaskWeight (float) --

          The weight applied to the number of tasks currently rendering on a job. A negative value means jobs that are not already rendering are scheduled next. A value of 0 means the rendering state is ignored. The default value is -100.0.

        • renderingTaskBuffer (integer) --

          The rendering task buffer is subtracted from the number of rendering tasks before applying the rendering task weight. This creates a stickiness effect where workers prefer to stay with their current job. Higher values make workers stickier. The default value is 1. The buffer is only applied in the weight calculation for a job if the worker is currently assigned to that job.

        • maxPriorityOverride (dict) --

          Overrides the weighted scheduling formula for jobs at the maximum priority (100). When set, jobs with priority 100 are always scheduled first regardless of their calculated weight. When absent, maximum priority jobs use the standard weighted formula.

          • alwaysScheduleFirst (dict) --

            Jobs at the maximum priority (100) are always scheduled before other jobs, regardless of the weighted scheduling formula. If multiple jobs have priority 100, ties are broken using the standard weighted formula.

        • minPriorityOverride (dict) --

          Overrides the weighted scheduling formula for jobs at the minimum priority (0). When set, jobs with priority 0 are always scheduled last regardless of their calculated weight. When absent, minimum priority jobs use the standard weighted formula.

          • alwaysScheduleLast (dict) --

            Jobs at the minimum priority (0) are always scheduled after all other jobs, regardless of the weighted scheduling formula. If multiple jobs have priority 0, ties are broken using the standard weighted formula.

UpdateQueue (updated) Link ¶
Changes (request)
{'schedulingConfiguration': {'priorityBalanced': {'renderingTaskBuffer': 'integer'},
                             'priorityFifo': {},
                             'weightedBalanced': {'errorWeight': 'double',
                                                  'maxPriorityOverride': {'alwaysScheduleFirst': {}},
                                                  'minPriorityOverride': {'alwaysScheduleLast': {}},
                                                  'priorityWeight': 'double',
                                                  'renderingTaskBuffer': 'integer',
                                                  'renderingTaskWeight': 'double',
                                                  'submissionTimeWeight': 'double'}}}

Updates a queue.

See also: AWS API Documentation

Request Syntax

client.update_queue(
    farmId='string',
    queueId='string',
    clientToken='string',
    displayName='string',
    description='string',
    defaultBudgetAction='NONE'|'STOP_SCHEDULING_AND_COMPLETE_TASKS'|'STOP_SCHEDULING_AND_CANCEL_TASKS',
    jobAttachmentSettings={
        's3BucketName': 'string',
        'rootPrefix': 'string'
    },
    roleArn='string',
    jobRunAsUser={
        'posix': {
            'user': 'string',
            'group': 'string'
        },
        'windows': {
            'user': 'string',
            'passwordArn': 'string'
        },
        'runAs': 'QUEUE_CONFIGURED_USER'|'WORKER_AGENT_USER'
    },
    requiredFileSystemLocationNamesToAdd=[
        'string',
    ],
    requiredFileSystemLocationNamesToRemove=[
        'string',
    ],
    allowedStorageProfileIdsToAdd=[
        'string',
    ],
    allowedStorageProfileIdsToRemove=[
        'string',
    ],
    schedulingConfiguration={
        'priorityFifo': {}
        ,
        'priorityBalanced': {
            'renderingTaskBuffer': 123
        },
        'weightedBalanced': {
            'priorityWeight': 123.0,
            'errorWeight': 123.0,
            'submissionTimeWeight': 123.0,
            'renderingTaskWeight': 123.0,
            'renderingTaskBuffer': 123,
            'maxPriorityOverride': {
                'alwaysScheduleFirst': {}

            },
            'minPriorityOverride': {
                'alwaysScheduleLast': {}

            }
        }
    }
)
type farmId:

string

param farmId:

[REQUIRED]

The farm ID to update in the queue.

type queueId:

string

param queueId:

[REQUIRED]

The queue ID to update.

type clientToken:

string

param clientToken:

The idempotency token to update in the queue.

This field is autopopulated if not provided.

type displayName:

string

param displayName:

The display name of the queue to update.

type description:

string

param description:

The description of the queue to update.

type defaultBudgetAction:

string

param defaultBudgetAction:

The default action to take for a queue update if a budget isn't configured.

type jobAttachmentSettings:

dict

param jobAttachmentSettings:

The job attachment settings to update for the queue.

  • s3BucketName (string) -- [REQUIRED]

    The Amazon S3 bucket name.

  • rootPrefix (string) -- [REQUIRED]

    The root prefix.

type roleArn:

string

param roleArn:

The IAM role ARN that's used to run jobs from this queue.

type jobRunAsUser:

dict

param jobRunAsUser:

Update the jobs in the queue to run as a specified POSIX user.

  • posix (dict) --

    The user and group that the jobs in the queue run as.

    • user (string) -- [REQUIRED]

      The name of the POSIX user.

    • group (string) -- [REQUIRED]

      The name of the POSIX user's group.

  • windows (dict) --

    Identifies a Microsoft Windows user.

    • user (string) -- [REQUIRED]

      The user.

    • passwordArn (string) -- [REQUIRED]

      The password ARN for the Windows user.

  • runAs (string) -- [REQUIRED]

    Specifies whether the job should run using the queue's system user or if the job should run using the worker agent system user.

type requiredFileSystemLocationNamesToAdd:

list

param requiredFileSystemLocationNamesToAdd:

The required file system location names to add to the queue.

  • (string) --

type requiredFileSystemLocationNamesToRemove:

list

param requiredFileSystemLocationNamesToRemove:

The required file system location names to remove from the queue.

  • (string) --

type allowedStorageProfileIdsToAdd:

list

param allowedStorageProfileIdsToAdd:

The storage profile IDs to add.

  • (string) --

type allowedStorageProfileIdsToRemove:

list

param allowedStorageProfileIdsToRemove:

The storage profile ID to remove.

  • (string) --

type schedulingConfiguration:

dict

param schedulingConfiguration:

The scheduling configuration for the queue. This configuration determines how workers are assigned to jobs in the queue.

When updating the scheduling configuration, the entire configuration is replaced.

In-progress tasks run to completion before the new scheduling configuration takes effect.

  • priorityFifo (dict) --

    Workers are assigned to the highest-priority job first. When multiple jobs share the same priority, the job submitted earliest receives workers first. This is the default scheduling configuration for new queues.

  • priorityBalanced (dict) --

    Workers are distributed evenly across all jobs at the highest priority level. When workers cannot be evenly divided, the extra workers are assigned to the jobs submitted earliest. If a job has fewer remaining tasks than its share of workers, the surplus workers are redistributed to other jobs at the same priority level.

    • renderingTaskBuffer (integer) --

      The rendering task buffer controls worker stickiness. A worker only switches from its current job to another job at the same priority if the other job has fewer rendering tasks by more than this buffer value. Higher values make workers stickier to their current jobs. The default value is 1.

  • weightedBalanced (dict) --

    Workers are assigned to jobs based on a weighted formula that considers job priority, error count, submission time, and the number of tasks currently rendering. Each factor has a configurable weight that determines its influence on scheduling decisions.

    • priorityWeight (float) --

      The weight applied to job priority in the scheduling formula. Higher values give more influence to job priority. A value of 0 means priority is ignored. The default value is 100.0.

    • errorWeight (float) --

      The weight applied to the number of errors on a job. A negative value means jobs without errors are scheduled first. A value of 0 means errors are ignored. The default value is -10.0.

    • submissionTimeWeight (float) --

      The weight applied to job submission time. A positive value means earlier jobs are scheduled first. A value of 0 means submission time is ignored. The default value is 3.0.

    • renderingTaskWeight (float) --

      The weight applied to the number of tasks currently rendering on a job. A negative value means jobs that are not already rendering are scheduled next. A value of 0 means the rendering state is ignored. The default value is -100.0.

    • renderingTaskBuffer (integer) --

      The rendering task buffer is subtracted from the number of rendering tasks before applying the rendering task weight. This creates a stickiness effect where workers prefer to stay with their current job. Higher values make workers stickier. The default value is 1. The buffer is only applied in the weight calculation for a job if the worker is currently assigned to that job.

    • maxPriorityOverride (dict) --

      Overrides the weighted scheduling formula for jobs at the maximum priority (100). When set, jobs with priority 100 are always scheduled first regardless of their calculated weight. When absent, maximum priority jobs use the standard weighted formula.

      • alwaysScheduleFirst (dict) --

        Jobs at the maximum priority (100) are always scheduled before other jobs, regardless of the weighted scheduling formula. If multiple jobs have priority 100, ties are broken using the standard weighted formula.

    • minPriorityOverride (dict) --

      Overrides the weighted scheduling formula for jobs at the minimum priority (0). When set, jobs with priority 0 are always scheduled last regardless of their calculated weight. When absent, minimum priority jobs use the standard weighted formula.

      • alwaysScheduleLast (dict) --

        Jobs at the minimum priority (0) are always scheduled after all other jobs, regardless of the weighted scheduling formula. If multiple jobs have priority 0, ties are broken using the standard weighted formula.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --