Update a Node Pool

JFrog REST APIs

Products
JFrog Xray
Content Type
REST API
ft:sourceType
Paligo

Description: Updates a node pool.

Security: Requires admin credentials

Usage: PUT api/v1/nodePools/{nodePoolId}

Produces: application/json

URL Parameters:

Parameter

Data Type

Description

nodePoolId

Integer

Numeric node pool Id

Parameters:

Parameter

Data Type

Description

Required/Optional

name

String

Name of the node pool.

Required

environments

String

An array of string environments to which the node pool is available in the project.

Optional

operatingSystem

String

Operating systems supported for the selected architecture.

For a list of supported OS and architecture combinations, refer to Runtime Images.

Required

timeoutMS

Integer

The maximum time (in minutes) after which pipeline steps will timeout. This timeout is used when your step does not have any timeout specified.

Default value for timeout is 60 minutes.

Optional

maxDiskUsagePercentage

Integer

Limits the maximum disk usage. A build node that exceeds this maximum will be marked as failed.

Integer between 0 and 100

Optional

diskSizeinGB

Integer

Configure dynamic node disk size.

The minimum limit is:

  • AWS (Windows): 120 GB

  • Azure (Windows): 128 GB

  • Others: 60 GB

Note

  • This option is available for Pipelines on-premise versions only.

  • If the disk size is not specified, the node will use the image’s disk size by default.

Optional

nodeIdleIntervalInMins

Integer

Number of minutes a node can be idle before it is destroyed.

Required for dynamic node pools (if isOnDemand is set as true).

isNatEnabled

Boolean

When set to true, enables NAT.

Optional

isCacheEnabled

Boolean

When set to true, enables node caching.Administering Dynamic Node Pools

Optional

cacheSettingsPropertyBag

Integer

Object containing cache settings if isCacheEnabled is set to true.

  • nodeStopSetting

  • nodeStopDayOfWeek: On the day of the week

  • nodeStopIntervalDays: By the number of days

Example

"cacheSettingsPropertyBag": {

"nodeStopSetting": "nodeStopIntervalDays",

"nodeStopDayOfWeek": "sunday";

"nodeStopIntervalDays": 1;

Optional

buildPlaneImageId

Integer

The build plane image Id. For more information, see Get Build Plane Image Ids.

Required for static node pool.

projectIntegrationId

Integer

The project integration Id. For information about obtaining integration Id's, see Get All Integrations.

For more information, see Dynamic Node Integrations.

Required for dynamic node pool.

providerMetadataPropertyBag

Object

Object containing configuration for the cloud provider of on-demand nodePool.

You can set the following properties:

  • sshUser

  • sshPort

  • keyPairName

  • securityGroupId

  • subnetId

  • instanceSize

  • subnetName

  • networkTags

  • zone

  • assignPublicIp

  • publicSshKey

  • subscriptionId

  • resourceGroupName

  • securityGroupName

  • vnetName

  • adminUsername

  • adminPassword

  • cpu

  • memory

  • storageClass

  • labels

  • namespace

Optional

permissions

Object

Set permissions to restrict node pool use.

You can set the following properties:

  • allowAllPipelineSources: Add all the existing and future Pipeline Sources including to this permission target.

  • includePatterns: Specify an include pattern.

  • excludePatterns: Specify an exclude pattern.

Optional

allowAllPipelineSources

Boolean

When set to true, pipelines loaded from any pipeline source can use this node pool.

Set to false to restrict node pool use to a set of pipeline sources.Managing Pipelines Node Pools

Optional

initPropertyBag

Object

Contains configuration to be applied during node initialization.

The following property can be set:

insecureDockerRegistries: List of insecure docker registries to be allowed on the node.

Optional

Response:

{
    "providerMetadataPropertyBag": null,
    "numberOfNodes": 1,
    "id": 6,
    "projectId": 1,
    "name": "node_pool",
    “Environments”: [“DEV”,”PROD”],
    "isOnDemand": false,
    “isCacheEnabled”: null,
    “architecture”: “x86_64”,
    “operatingSystem”: “Ubuntu_18.04”,
    “cacheSettingsPropertyBag”: null,
    "isNatEnabled": false,
    "updatedAt": "2019-05-31T23:22:26.681Z",
    "createdAt": "2019-05-31T23:22:26.681Z",
    "queueName": null,
    "maxDiskUsagePercentage": 90,
    "timeoutMS": null,
    "permissions": {
      "pipelineSources": {
        "allowAllPipelineSources": true
      }
    },
    "initPropertyBag": {
      "insecureDockerRegistries": [
                "0.0.0.0"
        ]
    }
}