Skip to main content

Fully update an existing virtual machine

PUT 

/projects/:projectId/zones/:zoneName/virtualmachines/:virtualMachineId

Update virtual machine. If the body contains an image change in parameter, then the virtual machine must be rebuilt.

Request

Path Parameters

    projectId stringrequired

    Project Identifier

    zoneName stringrequired

    Zone name

    virtualMachineId stringrequired

    Virtual machine Identifier

Header Parameters

    X-API-Key string

    Your SIU token if you use this API through Orange Developer.

    Authorization string

    Bearer access token authentication if you use this API through Orange Developer or Orange Developer Inside.

    X-Requester-Id string

    Your SIU Id if you use this API through Orange Developer Inside.

Body

required

All parameters are replaced during this update operation, if an optional parameter is not given then it is erased. Name, flavor, serverGroupRef, configurationDrive, keyPairRef parameters are not updatable.

    name stringrequired

    Possible values: <= 40 characters, Value must match regular expression [A-Za-z0-9-]

    Unique resource name. This attribute can not be updated.

    description string

    Resource description

    tags

    object

    Tags associated with the resource

    property name* string
    image string

    VM image. Name to be selected from the result of GET images. If not provided, a bootable volume ref must be provided. This attribute can not be updated.

    bootVolumeRef

    object

    The class represents a reference to a unique resource in API. Such reference refers to an resource either by its identifier, or by its name, or by both.

    id uuid

    Identifier of the referred resource. If not provided, either name or hRef must be filled. This parameter can not be updated.

    name string

    Possible values: non-empty and <= 40 characters

    Name of the referred resource. If not provided, either hRef or identifier must be filled. This parameter can not be updated.

    hRef uri

    hRef of the referred resource. If not provided, either name or identifier must be filled. This parameter can not be updated.

    bootVolumeDiskBus bootVolumeDiskBusEnum (string)

    Possible values: [virtio, ide, scsi, usb]

    Type of the disk driver to use to boot on the Volume. Default value: virtio. To be used for exceptions. This attribute can not be updated.

    flavor stringrequired

    VM flavor. Name to be selected from the result of GET flavors. This attribute can not be updated.

    serverGroupRef

    object

    The class represents a reference to a unique resource in API. Such reference refers to an resource either by its identifier, or by its name, or by both.

    id uuid

    Identifier of the referred resource. If not provided, either name or hRef must be filled. This parameter can not be updated.

    name string

    Possible values: non-empty and <= 40 characters

    Name of the referred resource. If not provided, either hRef or identifier must be filled. This parameter can not be updated.

    hRef uri

    hRef of the referred resource. If not provided, either name or identifier must be filled. This parameter can not be updated.

    configurationDrive boolean

    Use configuration drive at VM boot. Configuration drives are special drives that are attached to a VM instance when it boots. This attribute can not be updated.

    metaData

    object

    Map of key/value that can be passed to the VM without reboot. The maximum size of the metadata key and value is 255 bytes each. The total size limit is 65535 bytes.

    property name* string
    userData string

    VM boot configuration data encoded in Base64. Max length of decoded data = 65535 characters.

    userDataUpdatePolicy UserDataUpdatePolicyEnum (string)

    Possible values: [ignore, replace]

    Update policy for the parameter userData :

    • ignore : the modifications are recorded but no taken into account by the VNF
    • replace : the modifications are taken into account by the VNF at rebuild

    keyPairRef

    object

    The class represents a reference to a unique resource in API. Such reference refers to an resource either by its identifier, or by its name, or by both.

    id uuid

    Identifier of the referred resource. If not provided, either name or hRef must be filled. This parameter can not be updated.

    name string

    Possible values: non-empty and <= 40 characters

    Name of the referred resource. If not provided, either hRef or identifier must be filled. This parameter can not be updated.

    hRef uri

    hRef of the referred resource. If not provided, either name or identifier must be filled. This parameter can not be updated.

    volumeRefs

    object[]

    List of Volumes to attach to the VM. Each Volume can be referenced by its identifier, its name, or its Hypertext reference.

  • Array [

  • id uuid

    Identifier of the referred resource. If not provided, either name or hRef must be filled. This parameter can not be updated.

    name string

    Possible values: non-empty and <= 40 characters

    Name of the referred resource. If not provided, either hRef or identifier must be filled. This parameter can not be updated.

    hRef uri

    hRef of the referred resource. If not provided, either name or identifier must be filled. This parameter can not be updated.

  • ]

  • interfaces

    object[]

    required

    Possible values: >= 1

    List of Interfaces of the VM.

  • Array [

  • name stringrequired

    Possible values: <= 40 characters, Value must match regular expression [A-Za-z0-9-]

    Name of the interface, must be unique on the VM.

    description string

    Description of the interface.

    enabled boolean

    Default value: true

    Enable the interface. The interface can be disabled/enabled by updating this parameter or by using the disable/enable actions. By default, the interface is enabled.

    virtualNetworkRef

    object

    required

    Identifier of the virtual network to which the interface is linked. This attribute can not be updated.

    id uuid

    Identifier of the referred resource. If not provided, either name or hRef must be filled. This parameter can not be updated.

    name string

    Possible values: non-empty and <= 40 characters

    Name of the referred resource. If not provided, either hRef or identifier must be filled. This parameter can not be updated.

    hRef uri

    hRef of the referred resource. If not provided, either name or identifier must be filled. This parameter can not be updated.

    ipAddresses

    object[]

    required

    Possible values: >= 1

    List of the IP addresses of the interface.

  • Array [

  • ipAddress stringrequired

    Possible values: Value must match regular expression ^(?:(?:(?:1\d{2}|[1-9]?\d|2[0-4]\d|25[0-5])(?:\.(?!$)|$)){4})|(?:(?:(?:[a-f1-9A-F][a-fA-F\d]{1,3}|[a-fA-F\d])(?::(?!$)|$)){8})$

    IP address.

    family IpFamilyEnum (string)

    Possible values: [ipv4, ipv6]

    IP Family Enum (ipv6 not available yet).

    isIpLocal boolean

    Scope of the IP address:

    • "true": the IP address cannot be routed outside the local network (NB: not compatible with BGPaaS)
    • "false": the IP address can be routed outside the local network
  • ]

  • floatingIpAddress string

    Possible values: Value must match regular expression ^(?:(?:(?:1\d{2}|[1-9]?\d|2[0-4]\d|25[0-5])(?:\.(?!$)|$)){4})|(?:(?:(?:[a-f1-9A-F][a-fA-F\d]{1,3}|[a-fA-F\d])(?::(?!$)|$)){8})$

    Floating IP address reserved with Orange associated with the interface. This attribute can not be updated.

    floatingPrivateIpAddress string

    Possible values: Value must match regular expression ^(?:(?:(?:1\d{2}|[1-9]?\d|2[0-4]\d|25[0-5])(?:\.(?!$)|$)){4})|(?:(?:(?:[a-f1-9A-F][a-fA-F\d]{1,3}|[a-fA-F\d])(?::(?!$)|$)){8})$

    Fixed IP address mapped to the public IP address used as floating IP

    securityGroupRefs

    object[]

    Identifiers of the security group.

  • Array [

  • id uuid

    Identifier of the referred resource. If not provided, either name or hRef must be filled. This parameter can not be updated.

    name string

    Possible values: non-empty and <= 40 characters

    Name of the referred resource. If not provided, either hRef or identifier must be filled. This parameter can not be updated.

    hRef uri

    hRef of the referred resource. If not provided, either name or identifier must be filled. This parameter can not be updated.

  • ]

  • allowedIpAddressPairs

    object[]

    Other IP address pairs to realize nominal/backup

  • Array [

  • ipAddress stringrequired

    Virtual IP address.

    mode AddressPairModeEnum (string)

    Possible values: [active-active, active-standby]

    VRRP mode.

    macAddress string

    Possible values: Value must match regular expression ^[\da-fA-F]{2}(?:-[\da-fA-F]{2}){5}$

    MAC address associated to the Virtual IP address. If not provided, the MAC address of the active interface will be used.

  • ]

  • macAddress string

    Possible values: Value must match regular expression ^[\da-fA-F][02468aACEce](?:-[\da-fA-F]{2}){5}$

    Mac address of the interface. Automatically assigned by system if not provided. Automatically calculated with md5sum on the interface name if empty.

    interfaceRoutes

    object[]

    Interface loopback prefixe(s) and attributes to advertise.

  • Array [

  • prefix stringrequired

    Subnet in CIDR format.

    communityTags string[]

    Community Tags.

  • ]

  • subInterfaces

    object

    Subinterfaces supported on the interface

    name stringrequired

    Possible values: <= 40 characters, Value must match regular expression [A-Za-z0-9-]

    Name of the subinterface. Must be unique for the interface. This attribute can not be updated.

    description string

    Possible values: <= 100 characters, Value must match regular expression ^[ -Za-zà-ë_]

    Subinterface description.

    enabled boolean

    Default value: true

    Enable the subinterface. The interface can be disabled/enabled by updating this parameter.

    virtualNetworkRef

    object

    required

    The class represents a reference to a unique resource in API. Such reference refers to an resource either by its identifier, or by its name, or by both.

    id uuid

    Identifier of the referred resource. If not provided, either name or hRef must be filled. This parameter can not be updated.

    name string

    Possible values: non-empty and <= 40 characters

    Name of the referred resource. If not provided, either hRef or identifier must be filled. This parameter can not be updated.

    hRef uri

    hRef of the referred resource. If not provided, either name or identifier must be filled. This parameter can not be updated.

    vlanId int32required

    802.1Q VLAN tag (range [100-199] recommended). This attribute can not be updated.

    ipAddresses

    object[]

    required

    List of the IP addresses of the subinterface.

  • Array [

  • ipAddress stringrequired

    Possible values: Value must match regular expression ^(?:(?:(?:1\d{2}|[1-9]?\d|2[0-4]\d|25[0-5])(?:\.(?!$)|$)){4})|(?:(?:(?:[a-f1-9A-F][a-fA-F\d]{1,3}|[a-fA-F\d])(?::(?!$)|$)){8})$

    IP address.

    family IpFamilyEnum (string)

    Possible values: [ipv4, ipv6]

    IP Family Enum (ipv6 not available yet).

    isIpLocal boolean

    Scope of the IP address:

    • "true": the IP address cannot be routed outside the local network (NB: not compatible with BGPaaS)
    • "false": the IP address can be routed outside the local network
  • ]

  • floatingIpAddress string

    The floating IP is used to configure 1-to-1 NAT on the subinterface. This parameter specifies the Public IP address to use for NAT. This attribute can not be updated.

    floatingPrivateIpAddress string

    The floating IP is used to configure 1-to-1 NAT on the subinterface. This parameter specifies the Private IP address to use for NAT in case multiple IP addresses have been configured (this is recommended in this case, otherwise the private IP address will be selected randomly).

    securityGroupRefs

    object

    The class represents a reference to a unique resource in API. Such reference refers to an resource either by its identifier, or by its name, or by both.

    id uuid

    Identifier of the referred resource. If not provided, either name or hRef must be filled. This parameter can not be updated.

    name string

    Possible values: non-empty and <= 40 characters

    Name of the referred resource. If not provided, either hRef or identifier must be filled. This parameter can not be updated.

    hRef uri

    hRef of the referred resource. If not provided, either name or identifier must be filled. This parameter can not be updated.

    allowedIpAddressPairs

    object[]

    List of Virtual IP addresses (VRRP protocol).

  • Array [

  • ipAddress stringrequired

    Virtual IP address.

    mode AddressPairModeEnum (string)

    Possible values: [active-active, active-standby]

    VRRP mode.

    macAddress string

    Possible values: Value must match regular expression ^[\da-fA-F]{2}(?:-[\da-fA-F]{2}){5}$

    MAC address associated to the Virtual IP address. If not provided, the MAC address of the active interface will be used.

  • ]

  • macAddress string

    Possible values: Value must match regular expression ^[\da-fA-F][02468aACEce](?:-[\da-fA-F]{2}){5}$

    Mac address of the subinterface. Only Unicast MAC addresses are accepted. If not provided, the MAC address will be calculated automatically from a md5 hash of the subinterface name.

    interfaceRoutes

    object[]

    Subinterface loopback prefixe(s) and attributes to advertise.

  • Array [

  • prefix stringrequired

    Subnet in CIDR format.

    communityTags string[]

    Community Tags.

  • ]

  • bgpaas

    object

    BGPAAS option

    autonomousSystem int32required

    Peer Autonomous System (2 or 4 bytes). Modifying it will cause a BGP flap.

    adminSessionState AdminSessionStateEnum (string)

    Possible values: [up, down]

    Bgpaas session admin state.

    asOverride boolean

    AS override replaces all occurrences of the peer ASN in the AS-path with the system AS. NB: This is a tricky option, do not use without prior knowledge.

    localAutonomousSystem int32

    Local Autonomous System used for this particular session. If configured, this overrides the backbone Autonomous System. Modifying it will cause a BGP flap.

    bgpAddressFamilies BGPAddressFamilyEnum (string)[]

    Possible values: [inet, inet6]

    List of BGP address families supported on this session (v6 is implemented according to RFC 2545). By default, this list contains only "inet"

    maxRoutes int32

    Default value: 10000

    Maximum number of BGP routes allowed by the BGPaaS session. This attribute can not be updated.

    loopCount int32

    Possible values: <= 3

    Default value: 0

    Allows the vRouter to accept its own AS system in the AS path, a certain number of times defined by the loop count.

    holdTime int32

    Possible values: >= 45 and <= 65535

    Default value: 60

    BGP hold time (standard BGP) (seconds). Max time to detect liveliness of peer.

    bgpaas

    object

    BGPAAS option

    autonomousSystem int32required

    Peer Autonomous System (2 or 4 bytes). Modifying it will cause a BGP flap.

    adminSessionState AdminSessionStateEnum (string)

    Possible values: [up, down]

    Bgpaas session admin state.

    asOverride boolean

    AS override replaces all occurrences of the peer ASN in the AS-path with the system AS. NB: This is a tricky option, do not use without prior knowledge.

    localAutonomousSystem int32

    Local Autonomous System used for this particular session. If configured, this overrides the backbone Autonomous System. Modifying it will cause a BGP flap.

    bgpAddressFamilies BGPAddressFamilyEnum (string)[]

    Possible values: [inet, inet6]

    List of BGP address families supported on this session (v6 is implemented according to RFC 2545). By default, this list contains only "inet"

    maxRoutes int32

    Default value: 10000

    Maximum number of BGP routes allowed by the BGPaaS session. This attribute can not be updated.

    loopCount int32

    Possible values: <= 3

    Default value: 0

    Allows the vRouter to accept its own AS system in the AS path, a certain number of times defined by the loop count.

    holdTime int32

    Possible values: >= 45 and <= 65535

    Default value: 60

    BGP hold time (standard BGP) (seconds). Max time to detect liveliness of peer.

  • ]

Responses

Ok

Response Headers

  • X-Job-Href

    string

    Href of the asynchronous job that will process the request, in order to track its status.

  • X-Retry-After

    integer

    The number of seconds to wait before checking the status of the job.

Schema

    id uuidrequired

    Resource identifier.

    hRef urirequired

    Hypertext reference of the resource.

Loading...