Update an Instance Pool

PUT /instance-pool/{id}

Path parameters

  • id string(uuid) Required
application/json

Body Required

  • anti-affinity-groups array[anti-affinity-group] | null

    Anti-affinity Group

    Hide anti-affinity-groups attributes Show anti-affinity-groups attributes anti-affinity-group
    • name string

      Anti-affinity Group name

      Minimum length is 1, maximum length is 255.

    • Anti-affinity Group description

      Maximum length is 255.

  • Instance Pool description

    Maximum length is 255.

  • public-ip-assignment public-ip-assignment

    Instance public IP assignment

    Values are inet4, dual, or none.

  • labels labels

    Resource labels

    Hide labels attribute Show labels attribute
  • security-groups array[security-group] | null

    Security Group

    Hide security-groups attributes Show security-groups attributes security-group
    • name string

      Security Group name

      Minimum length is 1, maximum length is 255.

    • Security Group description

      Maximum length is 255.

    • external-sources array[string]

      Security Group external sources

    • rules array[security-group-rule]

      Security Group rule

      Hide rules attributes Show rules attributes security-group-rule
      • Security Group rule description

        Maximum length is 255.

      • start-port integer(int64)

        Start port of the range

        Minimum value is 1, maximum value is 65535.

      • protocol string

        Network protocol

        Values are tcp, esp, icmp, udp, gre, ah, ipip, or icmpv6.

      • icmp object

        ICMP details

        Hide icmp attributes Show icmp attributes
        • code integer(int64)

          Minimum value is -1, maximum value is 254.

        • type integer(int64)

          Minimum value is -1, maximum value is 254.

      • end-port integer(int64)

        End port of the range

        Minimum value is 1, maximum value is 65535.

      • security-group security-group-resource

        Security Group allowed

        Hide security-group attributes Show security-group attributes
        • name string

          Security Group name

          Minimum length is 1, maximum length is 255.

        • Whether this points to a public security group. This is only valid when in the context of a rule addition which uses a public security group as a source or destination.

          Values are private or public.

      • network string

        CIDR-formatted network allowed

      • Network flow direction to match

        Values are ingress or egress.

  • elastic-ips array[elastic-ip] | null

    Elastic IP

    Hide elastic-ips attributes Show elastic-ips attributes elastic-ip
    • Elastic IP description

      Maximum length is 255.

    • healthcheck elastic-ip-healthcheck

      Elastic IP healthcheck

      Hide healthcheck attributes Show healthcheck attributes
      • strikes-ok integer(int64)

        Number of attempts before considering the target healthy (default: 2)

        Minimum value is 1, maximum value is 20.

      • Skip TLS verification

      • tls-sni string

        An optional domain or subdomain to check TLS against

        Minimum length is 1, maximum length is 255.

      • strikes-fail integer(int64)

        Number of attempts before considering the target unhealthy (default: 3)

        Minimum value is 1, maximum value is 20.

      • mode string Required

        Health check mode

        Values are tcp, http, or https.

      • port integer(int64) Required

        Health check port

        Minimum value is 1, maximum value is 65535.

      • uri string

        An endpoint to use for the health check, for example '/status'

        Minimum length is 1, maximum length is 255.

      • interval integer(int64)

        Interval between the checks in seconds (default: 10)

        Minimum value is 5, maximum value is 300.

      • timeout integer(int64)

        Health check timeout value in seconds (default: 2)

        Minimum value is 2, maximum value is 60.

    • labels labels

      Resource labels

      Hide labels attribute Show labels attribute
  • name string

    Instance Pool name

    Minimum length is 1, maximum length is 255.

  • instance-type instance-type

    Instance Type

  • min-available integer(int64) | null

    Minimum number of running Instances

    Minimum value is 0.

  • private-networks array[private-network] | null

    Private Network

    Hide private-networks attributes Show private-networks attributes private-network
    • name string

      Private Network name

      Minimum length is 1, maximum length is 255.

    • Private Network description

      Maximum length is 255.

    • netmask string(ipv4)

      Private Network netmask

    • start-ip string(ipv4)

      Private Network start IP address

    • end-ip string(ipv4)

      Private Network end IP address

    • labels labels

      Resource labels

      Hide labels attribute Show labels attribute
  • template template

    Instance Template

    Hide template attributes Show template attributes
    • Template description

      Maximum length is 255.

    • Enable SSH key-based login

    • name string

      Template name

      Minimum length is 1, maximum length is 255.

    • Template default user

      Minimum length is 1, maximum length is 255.

    • size integer(int64)

      Template size

      Minimum value is 0.

    • Enable password-based login

    • checksum string

      Template MD5 checksum

    • Boot mode (default: legacy)

      Values are legacy or uefi.

    • zones array[zone-name]

      Zones availability

      Values are ch-dk-2, de-muc-1, ch-gva-2, at-vie-1, de-fra-1, bg-sof-1, or at-vie-2.

    • url string

      Template source URL

  • ssh-key ssh-key

    Instance SSH Key

    Hide ssh-key attribute Show ssh-key attribute
    • name string

      SSH key name

      Minimum length is 1, maximum length is 255.

  • instance-prefix string | null

    Prefix to apply to Instances names (default: pool)

  • user-data string | null

    Instances Cloud-init user-data

    Minimum length is 1.

  • deploy-target deploy-target

    Instance Deploy Target

    Hide deploy-target attributes Show deploy-target attributes
    • id string(uuid) Required

      Deploy Target ID

    • name string

      Deploy Target name

      Minimum length is 1, maximum length is 255.

    • type string

      Deploy Target type

      Values are edge or dedicated.

    • Deploy Target description

      Maximum length is 255.

  • Enable IPv6. DEPRECATED: use public-ip-assignments.

  • disk-size integer(int64)

    Instances disk size in GB

    Minimum value is 10, maximum value is 50000.

  • ssh-keys array[ssh-key] | null

    Instance SSH Key

    Hide ssh-keys attribute Show ssh-keys attribute ssh-key
    • name string

      SSH key name

      Minimum length is 1, maximum length is 255.

Responses

  • 200 application/json

    200

    Hide response attributes Show response attributes operation
    • id string(uuid)

      Operation ID

    • reason string

      Operation failure reason

      Values are incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, or conflict.

    • Related resource reference

      Hide reference attributes Show reference attributes
      • id string(uuid)

        Reference ID

      • command string

        Command name

    • message string

      Operation message

    • state string

      Operation status

      Values are failure, pending, success, or timeout.

PUT /instance-pool/{id}
curl \
 -X PUT https://api-ch-gva-2.exoscale.com/v2/instance-pool/{id} \
 -H "Content-Type: application/json" \
 -d '{"anti-affinity-groups":[{"name":"string","description":"string"}],"description":"string","public-ip-assignment":"inet4","labels":{},"security-groups":[{"name":"string","description":"string","external-sources":["string"],"rules":[{"description":"string","start-port":42,"protocol":"tcp","icmp":{"code":42,"type":42},"end-port":42,"security-group":{"name":"string","visibility":"private"},"network":"string","flow-direction":"ingress"}]}],"elastic-ips":[{"description":"string","healthcheck":{"strikes-ok":42,"tls-skip-verify":true,"tls-sni":"string","strikes-fail":42,"mode":"tcp","port":42,"uri":"string","interval":42,"timeout":42},"labels":{}}],"name":"string","instance-type":{},"min-available":42,"private-networks":[{"name":"string","description":"string","netmask":"string","start-ip":"string","end-ip":"string","labels":{}}],"template":{"description":"string","ssh-key-enabled":true,"name":"string","default-user":"string","size":42,"password-enabled":true,"checksum":"string","boot-mode":"legacy","zones":["ch-dk-2"],"url":"string"},"ssh-key":{"name":"string"},"instance-prefix":"string","user-data":"string","deploy-target":{"id":"string","name":"string","type":"edge","description":"string"},"ipv6-enabled":true,"disk-size":42,"ssh-keys":[{"name":"string"}]}'
Request example
{
  "anti-affinity-groups": [
    {
      "name": "string",
      "description": "string"
    }
  ],
  "description": "string",
  "public-ip-assignment": "inet4",
  "labels": {},
  "security-groups": [
    {
      "name": "string",
      "description": "string",
      "external-sources": [
        "string"
      ],
      "rules": [
        {
          "description": "string",
          "start-port": 42,
          "protocol": "tcp",
          "icmp": {
            "code": 42,
            "type": 42
          },
          "end-port": 42,
          "security-group": {
            "name": "string",
            "visibility": "private"
          },
          "network": "string",
          "flow-direction": "ingress"
        }
      ]
    }
  ],
  "elastic-ips": [
    {
      "description": "string",
      "healthcheck": {
        "strikes-ok": 42,
        "tls-skip-verify": true,
        "tls-sni": "string",
        "strikes-fail": 42,
        "mode": "tcp",
        "port": 42,
        "uri": "string",
        "interval": 42,
        "timeout": 42
      },
      "labels": {}
    }
  ],
  "name": "string",
  "instance-type": {},
  "min-available": 42,
  "private-networks": [
    {
      "name": "string",
      "description": "string",
      "netmask": "string",
      "start-ip": "string",
      "end-ip": "string",
      "labels": {}
    }
  ],
  "template": {
    "description": "string",
    "ssh-key-enabled": true,
    "name": "string",
    "default-user": "string",
    "size": 42,
    "password-enabled": true,
    "checksum": "string",
    "boot-mode": "legacy",
    "zones": [
      "ch-dk-2"
    ],
    "url": "string"
  },
  "ssh-key": {
    "name": "string"
  },
  "instance-prefix": "string",
  "user-data": "string",
  "deploy-target": {
    "id": "string",
    "name": "string",
    "type": "edge",
    "description": "string"
  },
  "ipv6-enabled": true,
  "disk-size": 42,
  "ssh-keys": [
    {
      "name": "string"
    }
  ]
}
Response examples (200)
{
  "id": "string",
  "reason": "incorrect",
  "reference": {
    "id": "string",
    "link": "string",
    "command": "string"
  },
  "message": "string",
  "state": "failure"
}