# Models

## The ErrorResponse object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"ErrorResponse":{"type":"object","properties":{"computeFault":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"details":{"type":"string"}}}}}}}}
```

## The Version object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"Version":{"type":"object","properties":{"id":{"description":"A common name for the version","type":"string"},"status":{"description":"The status of this API version","enum":["CURRENT","DEPRECATED"],"type":"string"},"version":{"description":"The maximum microversion supported (empty for legacy v2.0)","type":"string"},"min_version":{"description":"The minimum microversion supported (empty for legacy v2.0)","type":"string"},"updated":{"format":"date-time","description":"The date and time when the version was updated","type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}}}},"Link":{"type":"object","properties":{"href":{"format":"uri","type":"string"},"rel":{"enum":["self","bookmark","next","prev"],"type":"string"},"type":{"type":"string"}}}}}}
```

## The Link object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"Link":{"type":"object","properties":{"href":{"format":"uri","type":"string"},"rel":{"enum":["self","bookmark","next","prev"],"type":"string"},"type":{"type":"string"}}}}}}
```

## The ServerSummary object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"ServerSummary":{"type":"object","properties":{"id":{"format":"uuid","description":"The UUID of the server","type":"string"},"name":{"description":"The server name","type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}}}},"Link":{"type":"object","properties":{"href":{"format":"uri","type":"string"},"rel":{"enum":["self","bookmark","next","prev"],"type":"string"},"type":{"type":"string"}}}}}}
```

## The ServerDetailed object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"ServerDetailed":{"allOf":[{"$ref":"#/components/schemas/ServerSummary"},{"type":"object","properties":{"accessIPv4":{"format":"ipv4","description":"IPv4 address that should be used to access this server","type":"string"},"accessIPv6":{"format":"ipv6","description":"IPv6 address that should be used to access this server","type":"string"},"addresses":{"description":"The addresses for the server","type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/NetworkAddress"}}},"config_drive":{"description":"Indicates whether a config drive was used","type":"string"},"created":{"format":"date-time","description":"The date and time when the resource was created","type":"string"},"flavor":{"oneOf":[{"$ref":"#/components/schemas/FlavorReference"},{"$ref":"#/components/schemas/FlavorDetailed"}]},"hostId":{"description":"An ID string representing the host (hashed)","type":"string"},"image":{"$ref":"#/components/schemas/ImageReference"},"key_name":{"nullable":true,"description":"The name of associated key pair","type":"string"},"metadata":{"description":"Server metadata key-value pairs","type":"object","additionalProperties":{"type":"string"}},"status":{"description":"The server status","enum":["ACTIVE","BUILD","DELETED","ERROR","HARD_REBOOT","MIGRATING","PASSWORD","PAUSED","REBOOT","REBUILD","RESCUE","RESIZE","REVERT_RESIZE","SHELVED","SHELVED_OFFLOADED","SHUTOFF","SOFT_DELETED","SUSPENDED","UNKNOWN","VERIFY_RESIZE"],"type":"string"},"tenant_id":{"format":"uuid","description":"The UUID of the tenant","type":"string"},"user_id":{"format":"uuid","description":"The user ID of the user who owns the server","type":"string"},"updated":{"format":"date-time","description":"The date and time when the resource was updated","type":"string"},"OS-DCF:diskConfig":{"description":"Disk configuration","enum":["AUTO","MANUAL"],"type":"string"},"OS-EXT-AZ:availability_zone":{"description":"The availability zone name","type":"string"},"OS-EXT-SRV-ATTR:host":{"nullable":true,"description":"The name of the compute host (admin only)","type":"string"},"OS-EXT-SRV-ATTR:hostname":{"nullable":true,"description":"The hostname of the instance","type":"string"},"OS-EXT-SRV-ATTR:hypervisor_hostname":{"nullable":true,"description":"The hypervisor host name (admin only)","type":"string"},"OS-EXT-SRV-ATTR:instance_name":{"nullable":true,"description":"The instance name (admin only)","type":"string"},"OS-EXT-SRV-ATTR:kernel_id":{"nullable":true,"description":"The UUID of the kernel image when using an AMI","type":"string"},"OS-EXT-SRV-ATTR:launch_index":{"nullable":true,"description":"The sequence in which the servers were launched","type":"integer"},"OS-EXT-SRV-ATTR:ramdisk_id":{"nullable":true,"description":"The UUID of the ramdisk image when using an AMI","type":"string"},"OS-EXT-SRV-ATTR:reservation_id":{"nullable":true,"description":"The reservation id for the server","type":"string"},"OS-EXT-SRV-ATTR:root_device_name":{"nullable":true,"description":"The root device name for the instance","type":"string"},"OS-EXT-SRV-ATTR:user_data":{"nullable":true,"description":"The user_data the instance was created with","type":"string"},"OS-EXT-STS:power_state":{"description":"The power state of the instance:\n0: NOSTATE, 1: RUNNING, 3: PAUSED, 4: SHUTDOWN, 6: CRASHED, 7: SUSPENDED\n","enum":[0,1,3,4,6,7],"type":"integer"},"OS-EXT-STS:task_state":{"nullable":true,"description":"The task state of the instance","type":"string"},"OS-EXT-STS:vm_state":{"description":"The VM state","type":"string"},"os-extended-volumes:volumes_attached":{"description":"The attached volumes","type":"array","items":{"$ref":"#/components/schemas/AttachedVolume"}},"OS-SRV-USG:launched_at":{"nullable":true,"format":"date-time","description":"The date and time when the server was launched","type":"string"},"OS-SRV-USG:terminated_at":{"nullable":true,"format":"date-time","description":"The date and time when the server was deleted","type":"string"},"fault":{"$ref":"#/components/schemas/ServerFault"},"locked":{"description":"True if the instance is locked","type":"boolean"},"locked_reason":{"nullable":true,"description":"The reason behind locking a server","type":"string"},"host_status":{"nullable":true,"description":"The host status (admin only)","enum":["UP","DOWN","MAINTENANCE","UNKNOWN",""],"type":"string"},"description":{"nullable":true,"description":"The description of the server","type":"string"},"tags":{"description":"A list of tags","maxItems":50,"type":"array","items":{"type":"string"}},"trusted_image_certificates":{"nullable":true,"description":"A list of trusted certificate IDs","maxItems":50,"type":"array","items":{"format":"uuid","type":"string"}},"progress":{"nullable":true,"description":"A percentage value of the operation progress","maximum":100,"minimum":0,"type":"integer"},"security_groups":{"description":"One or more security groups","type":"array","items":{"$ref":"#/components/schemas/SecurityGroup"}},"pinned_availability_zone":{"nullable":true,"description":"The availability zone requested during server creation","type":"string"},"scheduler_hints":{"nullable":true,"description":"The dictionary of hints sent to the scheduler during server creation time","type":"object"}}}]},"ServerSummary":{"type":"object","properties":{"id":{"format":"uuid","description":"The UUID of the server","type":"string"},"name":{"description":"The server name","type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}}}},"Link":{"type":"object","properties":{"href":{"format":"uri","type":"string"},"rel":{"enum":["self","bookmark","next","prev"],"type":"string"},"type":{"type":"string"}}},"NetworkAddress":{"type":"object","properties":{"addr":{"description":"The IP address","type":"string"},"version":{"description":"The IP version","enum":[4,6],"type":"integer"},"OS-EXT-IPS:type":{"description":"The type of address","enum":["fixed","floating"],"type":"string"},"OS-EXT-IPS-MAC:mac_addr":{"description":"The MAC address","type":"string"}}},"FlavorReference":{"type":"object","properties":{"id":{"description":"The ID of the flavor","type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}}}},"FlavorDetailed":{"allOf":[{"$ref":"#/components/schemas/FlavorSummary"},{"type":"object","properties":{"disk":{"description":"The size of the root disk in GiB","type":"integer"},"ephemeral":{"description":"The size of the ephemeral disk in GiB","type":"integer"},"ram":{"description":"The amount of RAM in MiB","type":"integer"},"swap":{"description":"The size of a dedicated swap disk in MiB","type":"integer"},"vcpus":{"description":"The number of virtual CPUs","type":"integer"},"original_name":{"description":"The display name of a flavor","type":"string"},"extra_specs":{"description":"A dictionary of the flavor's extra-specs key-and-value pairs","type":"object","additionalProperties":{"type":"string"}},"OS-FLV-DISABLED:disabled":{"description":"Whether the flavor is disabled","type":"boolean"},"OS-FLV-EXT-DATA:ephemeral":{"description":"The size of the ephemeral disk","type":"integer"},"os-flavor-access:is_public":{"description":"Whether the flavor is public","type":"boolean"},"rxtx_factor":{"description":"The receive/transmit factor","type":"number"}}}]},"FlavorSummary":{"type":"object","properties":{"id":{"description":"The ID of the flavor","type":"string"},"name":{"description":"The flavor name","type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}}}},"ImageReference":{"type":"object","properties":{"id":{"format":"uuid","description":"The UUID of the image","type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}},"properties":{"description":"Image properties","type":"object"}}},"AttachedVolume":{"type":"object","properties":{"id":{"format":"uuid","description":"The attached volume ID","type":"string"},"delete_on_termination":{"description":"Whether the volume will be deleted when the server is deleted","type":"boolean"}}},"ServerFault":{"type":"object","properties":{"code":{"description":"The error response code","type":"integer"},"message":{"description":"The error message","type":"string"},"details":{"description":"The stack trace","type":"string"},"created":{"format":"date-time","description":"The date and time when the exception was raised","type":"string"}}},"SecurityGroup":{"type":"object","properties":{"name":{"description":"The security group name","type":"string"}}}}}}
```

## The NetworkAddress object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"NetworkAddress":{"type":"object","properties":{"addr":{"description":"The IP address","type":"string"},"version":{"description":"The IP version","enum":[4,6],"type":"integer"},"OS-EXT-IPS:type":{"description":"The type of address","enum":["fixed","floating"],"type":"string"},"OS-EXT-IPS-MAC:mac_addr":{"description":"The MAC address","type":"string"}}}}}}
```

## The FlavorReference object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"FlavorReference":{"type":"object","properties":{"id":{"description":"The ID of the flavor","type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}}}},"Link":{"type":"object","properties":{"href":{"format":"uri","type":"string"},"rel":{"enum":["self","bookmark","next","prev"],"type":"string"},"type":{"type":"string"}}}}}}
```

## The FlavorSummary object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"FlavorSummary":{"type":"object","properties":{"id":{"description":"The ID of the flavor","type":"string"},"name":{"description":"The flavor name","type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}}}},"Link":{"type":"object","properties":{"href":{"format":"uri","type":"string"},"rel":{"enum":["self","bookmark","next","prev"],"type":"string"},"type":{"type":"string"}}}}}}
```

## The FlavorDetailed object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"FlavorDetailed":{"allOf":[{"$ref":"#/components/schemas/FlavorSummary"},{"type":"object","properties":{"disk":{"description":"The size of the root disk in GiB","type":"integer"},"ephemeral":{"description":"The size of the ephemeral disk in GiB","type":"integer"},"ram":{"description":"The amount of RAM in MiB","type":"integer"},"swap":{"description":"The size of a dedicated swap disk in MiB","type":"integer"},"vcpus":{"description":"The number of virtual CPUs","type":"integer"},"original_name":{"description":"The display name of a flavor","type":"string"},"extra_specs":{"description":"A dictionary of the flavor's extra-specs key-and-value pairs","type":"object","additionalProperties":{"type":"string"}},"OS-FLV-DISABLED:disabled":{"description":"Whether the flavor is disabled","type":"boolean"},"OS-FLV-EXT-DATA:ephemeral":{"description":"The size of the ephemeral disk","type":"integer"},"os-flavor-access:is_public":{"description":"Whether the flavor is public","type":"boolean"},"rxtx_factor":{"description":"The receive/transmit factor","type":"number"}}}]},"FlavorSummary":{"type":"object","properties":{"id":{"description":"The ID of the flavor","type":"string"},"name":{"description":"The flavor name","type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}}}},"Link":{"type":"object","properties":{"href":{"format":"uri","type":"string"},"rel":{"enum":["self","bookmark","next","prev"],"type":"string"},"type":{"type":"string"}}}}}}
```

## The ImageReference object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"ImageReference":{"type":"object","properties":{"id":{"format":"uuid","description":"The UUID of the image","type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}},"properties":{"description":"Image properties","type":"object"}}},"Link":{"type":"object","properties":{"href":{"format":"uri","type":"string"},"rel":{"enum":["self","bookmark","next","prev"],"type":"string"},"type":{"type":"string"}}}}}}
```

## The AttachedVolume object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"AttachedVolume":{"type":"object","properties":{"id":{"format":"uuid","description":"The attached volume ID","type":"string"},"delete_on_termination":{"description":"Whether the volume will be deleted when the server is deleted","type":"boolean"}}}}}}
```

## The ServerFault object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"ServerFault":{"type":"object","properties":{"code":{"description":"The error response code","type":"integer"},"message":{"description":"The error message","type":"string"},"details":{"description":"The stack trace","type":"string"},"created":{"format":"date-time","description":"The date and time when the exception was raised","type":"string"}}}}}}
```

## The SecurityGroup object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"SecurityGroup":{"type":"object","properties":{"name":{"description":"The security group name","type":"string"}}}}}}
```

## The CreateServerRequest object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"CreateServerRequest":{"required":["name","flavorRef"],"type":"object","properties":{"name":{"description":"The server name","type":"string"},"imageRef":{"format":"uuid","description":"The UUID of the image (not required for boot from volume)","type":"string"},"flavorRef":{"description":"The flavor reference (UUID or full URL)","type":"string"},"adminPass":{"description":"The administrative password of the server","type":"string"},"networks":{"oneOf":[{"description":"Special network allocation values","enum":["auto","none"],"type":"string"},{"description":"A list of networks","type":"array","items":{"$ref":"#/components/schemas/ServerNetwork"}}]},"block_device_mapping_v2":{"description":"Block device mapping for boot from volume","type":"array","items":{"$ref":"#/components/schemas/BlockDeviceMappingV2"}},"availability_zone":{"description":"The availability zone from which to launch the server","type":"string"},"user_data":{"format":"byte","description":"Configuration information or scripts (Base64 encoded)","type":"string"},"metadata":{"description":"Metadata key and value pairs","type":"object","additionalProperties":{"type":"string"}},"personality":{"description":"File path and contents to inject (deprecated in 2.57)","type":"array","items":{"$ref":"#/components/schemas/PersonalityFile"}},"security_groups":{"description":"One or more security groups","type":"array","items":{"type":"object","properties":{"name":{"type":"string"}}}},"key_name":{"description":"Key pair name","type":"string"},"config_drive":{"description":"Indicates whether a config drive enables metadata injection","type":"boolean"},"OS-DCF:diskConfig":{"description":"Controls how the API partitions the disk","enum":["AUTO","MANUAL"],"type":"string"},"accessIPv4":{"format":"ipv4","description":"IPv4 address that should be used to access this server","type":"string"},"accessIPv6":{"format":"ipv6","description":"IPv6 address that should be used to access this server","type":"string"},"description":{"description":"A free form description of the server","type":"string"},"hostname":{"description":"The hostname to configure for the instance","type":"string"},"tags":{"description":"A list of tags","maxItems":50,"type":"array","items":{"type":"string"}},"trusted_image_certificates":{"description":"A list of trusted certificate IDs","maxItems":50,"type":"array","items":{"format":"uuid","type":"string"}},"host":{"description":"The name of the compute service host (admin only)","type":"string"},"hypervisor_hostname":{"description":"The hostname of the hypervisor (admin only)","type":"string"}}},"ServerNetwork":{"type":"object","properties":{"uuid":{"format":"uuid","description":"The UUID of the network","type":"string"},"port":{"format":"uuid","description":"The UUID of an existing port","type":"string"},"fixed_ip":{"format":"ipv4","description":"A fixed IPv4 address for the NIC","type":"string"},"tag":{"description":"A device role tag for the network interface","type":"string"}}},"BlockDeviceMappingV2":{"required":["boot_index"],"type":"object","properties":{"boot_index":{"description":"The boot order of the device","minimum":0,"type":"integer"},"uuid":{"format":"uuid","description":"The UUID of the source resource","type":"string"},"source_type":{"description":"The source type of the block device","enum":["volume","image","snapshot","blank"],"type":"string"},"destination_type":{"description":"Where the block device mapping will reside","enum":["volume","local"],"type":"string"},"delete_on_termination":{"description":"Whether to delete the volume when the server is destroyed","default":false,"type":"boolean"},"device_name":{"description":"A path to the device for the volume","type":"string"},"device_type":{"description":"The device type","enum":["disk","cdrom","floppy","lun"],"type":"string"},"disk_bus":{"description":"Disk bus type","enum":["ide","usb","virtio","scsi","sata","uml","xen","lxc"],"type":"string"},"guest_format":{"description":"Guest server disk file system format","type":"string"},"no_device":{"description":"Whether this is a no device mapping","type":"boolean"},"volume_size":{"description":"The size of the volume in GiB","maximum":2147483647,"minimum":1,"type":"integer"},"tag":{"description":"A device role tag for the block device","type":"string"},"volume_type":{"description":"The volume type","type":"string"}}},"PersonalityFile":{"required":["path","contents"],"type":"object","properties":{"path":{"description":"The file path","maxLength":255,"type":"string"},"contents":{"format":"byte","description":"The file contents (Base64 encoded)","type":"string"}}}}}}
```

## The ServerNetwork object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"ServerNetwork":{"type":"object","properties":{"uuid":{"format":"uuid","description":"The UUID of the network","type":"string"},"port":{"format":"uuid","description":"The UUID of an existing port","type":"string"},"fixed_ip":{"format":"ipv4","description":"A fixed IPv4 address for the NIC","type":"string"},"tag":{"description":"A device role tag for the network interface","type":"string"}}}}}}
```

## The BlockDeviceMappingV2 object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"BlockDeviceMappingV2":{"required":["boot_index"],"type":"object","properties":{"boot_index":{"description":"The boot order of the device","minimum":0,"type":"integer"},"uuid":{"format":"uuid","description":"The UUID of the source resource","type":"string"},"source_type":{"description":"The source type of the block device","enum":["volume","image","snapshot","blank"],"type":"string"},"destination_type":{"description":"Where the block device mapping will reside","enum":["volume","local"],"type":"string"},"delete_on_termination":{"description":"Whether to delete the volume when the server is destroyed","default":false,"type":"boolean"},"device_name":{"description":"A path to the device for the volume","type":"string"},"device_type":{"description":"The device type","enum":["disk","cdrom","floppy","lun"],"type":"string"},"disk_bus":{"description":"Disk bus type","enum":["ide","usb","virtio","scsi","sata","uml","xen","lxc"],"type":"string"},"guest_format":{"description":"Guest server disk file system format","type":"string"},"no_device":{"description":"Whether this is a no device mapping","type":"boolean"},"volume_size":{"description":"The size of the volume in GiB","maximum":2147483647,"minimum":1,"type":"integer"},"tag":{"description":"A device role tag for the block device","type":"string"},"volume_type":{"description":"The volume type","type":"string"}}}}}}
```

## The PersonalityFile object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"PersonalityFile":{"required":["path","contents"],"type":"object","properties":{"path":{"description":"The file path","maxLength":255,"type":"string"},"contents":{"format":"byte","description":"The file contents (Base64 encoded)","type":"string"}}}}}}
```

## The SchedulerHints object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"SchedulerHints":{"description":"The dictionary of data to send to the scheduler","type":"object","properties":{"build_near_host_ip":{"format":"ipv4","description":"Schedule the server on a host in the network","type":"string"},"cidr":{"description":"Schedule the server on a host in the network specified with an IP address","type":"string"},"different_cell":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}],"description":"Schedule the server in a cell that is not specified"},"different_host":{"oneOf":[{"format":"uuid","type":"string"},{"type":"array","items":{"format":"uuid","type":"string"}}],"description":"Schedule the server on a different host from a set of servers"},"group":{"format":"uuid","description":"The server group UUID","type":"string"},"query":{"description":"Schedule the server by using a custom filter in JSON format","type":"string"},"same_host":{"oneOf":[{"format":"uuid","type":"string"},{"type":"array","items":{"format":"uuid","type":"string"}}],"description":"Schedule the server on the same host as another server"},"target_cell":{"description":"A target cell name","type":"string"}}}}}}
```

## The ServerResponse object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"ServerResponse":{"type":"object","properties":{"id":{"format":"uuid","description":"The UUID of the server","type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}},"OS-DCF:diskConfig":{"description":"Disk configuration","enum":["AUTO","MANUAL"],"type":"string"},"adminPass":{"description":"The administrative password for the server","type":"string"},"security_groups":{"type":"array","items":{"$ref":"#/components/schemas/SecurityGroup"}}}},"Link":{"type":"object","properties":{"href":{"format":"uri","type":"string"},"rel":{"enum":["self","bookmark","next","prev"],"type":"string"},"type":{"type":"string"}}},"SecurityGroup":{"type":"object","properties":{"name":{"description":"The security group name","type":"string"}}}}}}
```

## The UpdateServerRequest object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"UpdateServerRequest":{"type":"object","properties":{"name":{"description":"The server name","type":"string"},"description":{"description":"A free form description of the server","type":"string"},"hostname":{"description":"The hostname to configure for the instance","type":"string"},"accessIPv4":{"format":"ipv4","description":"IPv4 address that should be used to access this server","type":"string"},"accessIPv6":{"format":"ipv6","description":"IPv6 address that should be used to access this server","type":"string"}}}}}}
```

## The RebootAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"RebootAction":{"required":["reboot"],"type":"object","properties":{"reboot":{"required":["type"],"type":"object","properties":{"type":{"description":"The type of reboot","enum":["HARD","SOFT"],"type":"string"}}}}}}}}
```

## The RebuildAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"RebuildAction":{"required":["rebuild"],"type":"object","properties":{"rebuild":{"required":["imageRef"],"type":"object","properties":{"imageRef":{"format":"uuid","description":"The UUID of the image to rebuild from","type":"string"},"name":{"description":"The server name","type":"string"},"adminPass":{"description":"The administrative password","type":"string"},"metadata":{"description":"Metadata key and value pairs","type":"object","additionalProperties":{"type":"string"}},"personality":{"description":"File path and contents to inject (deprecated in 2.57)","type":"array","items":{"$ref":"#/components/schemas/PersonalityFile"}},"user_data":{"format":"byte","description":"Configuration information or scripts (Base64 encoded)","type":"string"},"key_name":{"description":"Key pair name","type":"string"},"description":{"description":"A free form description of the server","type":"string"},"trusted_image_certificates":{"description":"A list of trusted certificate IDs","maxItems":50,"type":"array","items":{"format":"uuid","type":"string"}}}}}},"PersonalityFile":{"required":["path","contents"],"type":"object","properties":{"path":{"description":"The file path","maxLength":255,"type":"string"},"contents":{"format":"byte","description":"The file contents (Base64 encoded)","type":"string"}}}}}}
```

## The ResizeAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"ResizeAction":{"required":["resize"],"type":"object","properties":{"resize":{"required":["flavorRef"],"type":"object","properties":{"flavorRef":{"description":"The flavor reference (UUID or full URL)","type":"string"},"OS-DCF:diskConfig":{"description":"Controls how the API partitions the disk","enum":["AUTO","MANUAL"],"type":"string"}}}}}}}}
```

## The ConfirmResizeAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"ConfirmResizeAction":{"required":["confirmResize"],"type":"object","properties":{"confirmResize":{"nullable":true,"description":"Confirm resize action","type":"object"}}}}}}
```

## The RevertResizeAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"RevertResizeAction":{"required":["revertResize"],"type":"object","properties":{"revertResize":{"nullable":true,"description":"Revert resize action","type":"object"}}}}}}
```

## The CreateImageAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"CreateImageAction":{"required":["createImage"],"type":"object","properties":{"createImage":{"required":["name"],"type":"object","properties":{"name":{"description":"The name of the image to create","type":"string"},"metadata":{"description":"Metadata for the image","type":"object","additionalProperties":{"type":"string"}}}}}}}}}
```

## The ChangePasswordAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"ChangePasswordAction":{"required":["changePassword"],"type":"object","properties":{"changePassword":{"required":["adminPass"],"type":"object","properties":{"adminPass":{"description":"The new administrative password","type":"string"}}}}}}}}
```

## The StartAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"StartAction":{"required":["os-start"],"type":"object","properties":{"os-start":{"nullable":true,"description":"Start server action","type":"object"}}}}}}
```

## The StopAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"StopAction":{"required":["os-stop"],"type":"object","properties":{"os-stop":{"nullable":true,"description":"Stop server action","type":"object"}}}}}}
```

## The ShelveAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"ShelveAction":{"required":["shelve"],"type":"object","properties":{"shelve":{"nullable":true,"description":"Shelve server action","type":"object"}}}}}}
```

## The UnshelveAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"UnshelveAction":{"required":["unshelve"],"type":"object","properties":{"unshelve":{"nullable":true,"description":"Unshelve server action","type":"object"}}}}}}
```

## The SuspendAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"SuspendAction":{"required":["suspend"],"type":"object","properties":{"suspend":{"nullable":true,"description":"Suspend server action","type":"object"}}}}}}
```

## The ResumeAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"ResumeAction":{"required":["resume"],"type":"object","properties":{"resume":{"nullable":true,"description":"Resume server action","type":"object"}}}}}}
```

## The PauseAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"PauseAction":{"required":["pause"],"type":"object","properties":{"pause":{"nullable":true,"description":"Pause server action","type":"object"}}}}}}
```

## The UnpauseAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"UnpauseAction":{"required":["unpause"],"type":"object","properties":{"unpause":{"nullable":true,"description":"Unpause server action","type":"object"}}}}}}
```

## The LockAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"LockAction":{"required":["lock"],"type":"object","properties":{"lock":{"type":"object","properties":{"locked_reason":{"description":"The reason for locking the server","type":"string"}}}}}}}}
```

## The UnlockAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"UnlockAction":{"required":["unlock"],"type":"object","properties":{"unlock":{"nullable":true,"description":"Unlock server action","type":"object"}}}}}}
```

## The RescueAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"RescueAction":{"required":["rescue"],"type":"object","properties":{"rescue":{"type":"object","properties":{"adminPass":{"description":"The password for the rescue instance","type":"string"},"rescue_image_ref":{"format":"uuid","description":"The UUID of the image to use for rescue","type":"string"}}}}}}}}
```

## The UnrescueAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"UnrescueAction":{"required":["unrescue"],"type":"object","properties":{"unrescue":{"nullable":true,"description":"Unrescue server action","type":"object"}}}}}}
```

## The EvacuateAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"EvacuateAction":{"required":["evacuate"],"type":"object","properties":{"evacuate":{"type":"object","properties":{"host":{"description":"The name or ID of the host to evacuate to","type":"string"},"adminPass":{"description":"The administrative password for the evacuated instance","type":"string"},"onSharedStorage":{"description":"Whether the instance is on shared storage","type":"boolean"},"force":{"description":"Force the evacuation","default":false,"type":"boolean"}}}}}}}}
```

## The MigrateAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"MigrateAction":{"required":["migrate"],"type":"object","properties":{"migrate":{"type":"object","properties":{"host":{"description":"The destination host for the migration","type":"string"}}}}}}}}
```

## The LiveMigrateAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"LiveMigrateAction":{"required":["os-migrateLive"],"type":"object","properties":{"os-migrateLive":{"required":["host"],"type":"object","properties":{"host":{"nullable":true,"description":"The destination host for the live migration","type":"string"},"block_migration":{"oneOf":[{"type":"boolean"},{"enum":["auto"],"type":"string"}],"description":"Whether to use block migration"},"disk_over_commit":{"description":"Whether to allow disk over commit","type":"boolean"},"force":{"description":"Force the live migration","default":false,"type":"boolean"}}}}}}}}
```

## The CreateBackupAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"CreateBackupAction":{"required":["createBackup"],"type":"object","properties":{"createBackup":{"required":["name","backup_type","rotation"],"type":"object","properties":{"name":{"description":"The name of the backup image","type":"string"},"backup_type":{"description":"The backup type (e.g., daily)","type":"string"},"rotation":{"description":"The number of backups to keep","minimum":0,"type":"integer"},"metadata":{"description":"Metadata for the backup image","type":"object","additionalProperties":{"type":"string"}}}}}}}}}
```

## The TriggerCrashDumpAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"TriggerCrashDumpAction":{"required":["trigger_crash_dump"],"type":"object","properties":{"trigger_crash_dump":{"nullable":true,"description":"Trigger crash dump action","type":"object"}}}}}}
```

## The KeypairSummary object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"KeypairSummary":{"type":"object","properties":{"keypair":{"type":"object","properties":{"name":{"description":"The keypair name","type":"string"},"type":{"description":"The type of the keypair","enum":["ssh","x509"],"type":"string"},"public_key":{"description":"The public key","type":"string"},"fingerprint":{"description":"The keypair fingerprint","type":"string"}}}}}}}}
```

## The KeypairDetailed object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"KeypairDetailed":{"allOf":[{"$ref":"#/components/schemas/KeypairSummary"},{"type":"object","properties":{"keypair":{"type":"object","properties":{"user_id":{"format":"uuid","description":"The user ID","type":"string"},"created_at":{"format":"date-time","description":"The date and time when the resource was created","type":"string"},"deleted":{"description":"Whether the keypair is deleted","type":"boolean"},"deleted_at":{"nullable":true,"format":"date-time","description":"The date and time when the keypair was deleted","type":"string"},"id":{"description":"The keypair ID","type":"integer"},"is_deleted":{"description":"Whether the keypair is deleted","type":"boolean"},"updated_at":{"nullable":true,"format":"date-time","description":"The date and time when the resource was updated","type":"string"}}}}}]},"KeypairSummary":{"type":"object","properties":{"keypair":{"type":"object","properties":{"name":{"description":"The keypair name","type":"string"},"type":{"description":"The type of the keypair","enum":["ssh","x509"],"type":"string"},"public_key":{"description":"The public key","type":"string"},"fingerprint":{"description":"The keypair fingerprint","type":"string"}}}}}}}}
```

## The CreateKeypairRequest object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"CreateKeypairRequest":{"required":["name"],"type":"object","properties":{"name":{"description":"The name of the keypair","type":"string"},"type":{"description":"The type of the keypair","default":"ssh","enum":["ssh","x509"],"type":"string"},"public_key":{"description":"The public key to import","type":"string"},"user_id":{"format":"uuid","description":"The user ID (admin only)","type":"string"}}}}}}
```

## The Limits object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"Limits":{"type":"object","properties":{"rate":{"description":"Rate limits","type":"array","items":{"$ref":"#/components/schemas/RateLimit"}},"absolute":{"$ref":"#/components/schemas/AbsoluteLimits"}}},"RateLimit":{"type":"object","properties":{"uri":{"description":"The URI pattern","type":"string"},"regex":{"description":"The URI regex pattern","type":"string"},"limit":{"type":"array","items":{"$ref":"#/components/schemas/RateLimitValue"}}}},"RateLimitValue":{"type":"object","properties":{"value":{"description":"The maximum number of requests","type":"integer"},"verb":{"description":"The HTTP method","type":"string"},"remaining":{"description":"The remaining number of requests","type":"integer"},"unit":{"description":"The time unit","type":"string"},"next-available":{"format":"date-time","description":"When the limit resets","type":"string"}}},"AbsoluteLimits":{"type":"object","properties":{"maxServerMeta":{"description":"Maximum number of metadata key-value pairs per server","type":"integer"},"maxTotalInstances":{"description":"Maximum number of instances","type":"integer"},"maxTotalCores":{"description":"Maximum number of CPU cores","type":"integer"},"maxTotalRAMSize":{"description":"Maximum amount of RAM in MiB","type":"integer"},"maxTotalKeypairs":{"description":"Maximum number of keypairs","type":"integer"},"maxServerGroups":{"description":"Maximum number of server groups","type":"integer"},"maxServerGroupMembers":{"description":"Maximum number of members per server group","type":"integer"},"totalInstancesUsed":{"description":"Number of instances currently used","type":"integer"},"totalCoresUsed":{"description":"Number of cores currently used","type":"integer"},"totalRAMUsed":{"description":"Amount of RAM currently used in MiB","type":"integer"},"totalServerGroupsUsed":{"description":"Number of server groups currently used","type":"integer"}}}}}}
```

## The RateLimit object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"RateLimit":{"type":"object","properties":{"uri":{"description":"The URI pattern","type":"string"},"regex":{"description":"The URI regex pattern","type":"string"},"limit":{"type":"array","items":{"$ref":"#/components/schemas/RateLimitValue"}}}},"RateLimitValue":{"type":"object","properties":{"value":{"description":"The maximum number of requests","type":"integer"},"verb":{"description":"The HTTP method","type":"string"},"remaining":{"description":"The remaining number of requests","type":"integer"},"unit":{"description":"The time unit","type":"string"},"next-available":{"format":"date-time","description":"When the limit resets","type":"string"}}}}}}
```

## The RateLimitValue object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"RateLimitValue":{"type":"object","properties":{"value":{"description":"The maximum number of requests","type":"integer"},"verb":{"description":"The HTTP method","type":"string"},"remaining":{"description":"The remaining number of requests","type":"integer"},"unit":{"description":"The time unit","type":"string"},"next-available":{"format":"date-time","description":"When the limit resets","type":"string"}}}}}}
```

## The AbsoluteLimits object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"AbsoluteLimits":{"type":"object","properties":{"maxServerMeta":{"description":"Maximum number of metadata key-value pairs per server","type":"integer"},"maxTotalInstances":{"description":"Maximum number of instances","type":"integer"},"maxTotalCores":{"description":"Maximum number of CPU cores","type":"integer"},"maxTotalRAMSize":{"description":"Maximum amount of RAM in MiB","type":"integer"},"maxTotalKeypairs":{"description":"Maximum number of keypairs","type":"integer"},"maxServerGroups":{"description":"Maximum number of server groups","type":"integer"},"maxServerGroupMembers":{"description":"Maximum number of members per server group","type":"integer"},"totalInstancesUsed":{"description":"Number of instances currently used","type":"integer"},"totalCoresUsed":{"description":"Number of cores currently used","type":"integer"},"totalRAMUsed":{"description":"Amount of RAM currently used in MiB","type":"integer"},"totalServerGroupsUsed":{"description":"Number of server groups currently used","type":"integer"}}}}}}
```

## The AvailabilityZone object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"AvailabilityZone":{"type":"object","properties":{"zoneName":{"description":"The availability zone name","type":"string"},"zoneState":{"type":"object","properties":{"available":{"description":"Whether the zone is available","type":"boolean"}}}}}}}}
```

## The AvailabilityZoneDetailed object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"AvailabilityZoneDetailed":{"allOf":[{"$ref":"#/components/schemas/AvailabilityZone"},{"type":"object","properties":{"hosts":{"description":"The hosts in the availability zone","type":"object","additionalProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ServiceState"}}}}}]},"AvailabilityZone":{"type":"object","properties":{"zoneName":{"description":"The availability zone name","type":"string"},"zoneState":{"type":"object","properties":{"available":{"description":"Whether the zone is available","type":"boolean"}}}}},"ServiceState":{"type":"object","properties":{"available":{"description":"Whether the service is available","type":"boolean"},"active":{"description":"Whether the service is active","type":"boolean"},"updated_at":{"format":"date-time","description":"When the service was last updated","type":"string"}}}}}}
```

## The ServiceState object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"ServiceState":{"type":"object","properties":{"available":{"description":"Whether the service is available","type":"boolean"},"active":{"description":"Whether the service is active","type":"boolean"},"updated_at":{"format":"date-time","description":"When the service was last updated","type":"string"}}}}}}
```

## The HypervisorSummary object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"HypervisorSummary":{"type":"object","properties":{"id":{"description":"The hypervisor ID","type":"string"},"hypervisor_hostname":{"description":"The hypervisor hostname","type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}}}},"Link":{"type":"object","properties":{"href":{"format":"uri","type":"string"},"rel":{"enum":["self","bookmark","next","prev"],"type":"string"},"type":{"type":"string"}}}}}}
```

## The HypervisorDetailed object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"HypervisorDetailed":{"allOf":[{"$ref":"#/components/schemas/HypervisorSummary"},{"type":"object","properties":{"status":{"description":"The hypervisor status","enum":["enabled","disabled"],"type":"string"},"state":{"description":"The hypervisor state","enum":["up","down"],"type":"string"},"host_ip":{"format":"ipv4","description":"The IP address of the hypervisor","type":"string"},"free_disk_gb":{"description":"Free disk space in GiB","type":"integer"},"free_ram_mb":{"description":"Free RAM in MiB","type":"integer"},"hypervisor_type":{"description":"The hypervisor type","type":"string"},"hypervisor_version":{"description":"The hypervisor version","type":"integer"},"local_gb":{"description":"Total disk space in GiB","type":"integer"},"local_gb_used":{"description":"Used disk space in GiB","type":"integer"},"memory_mb":{"description":"Total RAM in MiB","type":"integer"},"memory_mb_used":{"description":"Used RAM in MiB","type":"integer"},"running_vms":{"description":"Number of running VMs","type":"integer"},"vcpus":{"description":"Total virtual CPUs","type":"integer"},"vcpus_used":{"description":"Used virtual CPUs","type":"integer"},"cpu_info":{"description":"CPU information (JSON object)","type":"object"},"disk_available_least":{"description":"Least available disk space in GiB","type":"integer"},"service":{"$ref":"#/components/schemas/Service"},"servers":{"description":"Servers running on the hypervisor","type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"uuid":{"format":"uuid","type":"string"}}}}}}]},"HypervisorSummary":{"type":"object","properties":{"id":{"description":"The hypervisor ID","type":"string"},"hypervisor_hostname":{"description":"The hypervisor hostname","type":"string"},"links":{"type":"array","items":{"$ref":"#/components/schemas/Link"}}}},"Link":{"type":"object","properties":{"href":{"format":"uri","type":"string"},"rel":{"enum":["self","bookmark","next","prev"],"type":"string"},"type":{"type":"string"}}},"Service":{"type":"object","properties":{"id":{"format":"uuid","description":"The service UUID","type":"string"},"binary":{"description":"The service binary name","type":"string"},"host":{"description":"The host name","type":"string"},"zone":{"description":"The availability zone","type":"string"},"status":{"description":"The service status","enum":["enabled","disabled"],"type":"string"},"state":{"description":"The service state","enum":["up","down"],"type":"string"},"updated_at":{"format":"date-time","description":"When the service was last updated","type":"string"},"disabled_reason":{"nullable":true,"description":"The reason the service was disabled","type":"string"},"forced_down":{"description":"Whether the service was forced down","type":"boolean"}}}}}}
```

## The HypervisorUptime object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"HypervisorUptime":{"type":"object","properties":{"id":{"description":"The hypervisor ID","type":"string"},"hypervisor_hostname":{"description":"The hypervisor hostname","type":"string"},"uptime":{"description":"The uptime information","type":"string"}}}}}}
```

## The Service object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"Service":{"type":"object","properties":{"id":{"format":"uuid","description":"The service UUID","type":"string"},"binary":{"description":"The service binary name","type":"string"},"host":{"description":"The host name","type":"string"},"zone":{"description":"The availability zone","type":"string"},"status":{"description":"The service status","enum":["enabled","disabled"],"type":"string"},"state":{"description":"The service state","enum":["up","down"],"type":"string"},"updated_at":{"format":"date-time","description":"When the service was last updated","type":"string"},"disabled_reason":{"nullable":true,"description":"The reason the service was disabled","type":"string"},"forced_down":{"description":"Whether the service was forced down","type":"boolean"}}}}}}
```

## The EnableServiceRequest object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"EnableServiceRequest":{"type":"object","properties":{"status":{"enum":["enabled"],"type":"string"},"disabled_reason":{"nullable":true,"type":"string"}}}}}}
```

## The DisableServiceRequest object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"DisableServiceRequest":{"type":"object","properties":{"status":{"enum":["disabled"],"type":"string"},"disabled_reason":{"type":"string"}}}}}}
```

## The ForceDownServiceRequest object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"ForceDownServiceRequest":{"type":"object","properties":{"forced_down":{"type":"boolean"}}}}}}
```

## The Aggregate object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"Aggregate":{"type":"object","properties":{"id":{"description":"The aggregate ID","type":"string"},"uuid":{"format":"uuid","description":"The aggregate UUID","type":"string"},"name":{"description":"The aggregate name","type":"string"},"availability_zone":{"nullable":true,"description":"The availability zone","type":"string"},"hosts":{"description":"The list of hosts","type":"array","items":{"type":"string"}},"metadata":{"description":"The aggregate metadata","type":"object","additionalProperties":{"type":"string"}},"created_at":{"format":"date-time","description":"When the aggregate was created","type":"string"},"updated_at":{"format":"date-time","description":"When the aggregate was updated","type":"string"},"deleted_at":{"nullable":true,"format":"date-time","description":"When the aggregate was deleted","type":"string"},"deleted":{"description":"Whether the aggregate is deleted","type":"boolean"}}}}}}
```

## The CreateAggregateRequest object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"CreateAggregateRequest":{"required":["name"],"type":"object","properties":{"name":{"description":"The aggregate name","type":"string"},"availability_zone":{"description":"The availability zone","type":"string"}}}}}}
```

## The UpdateAggregateRequest object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"UpdateAggregateRequest":{"type":"object","properties":{"name":{"description":"The aggregate name","type":"string"},"availability_zone":{"description":"The availability zone","type":"string"}}}}}}
```

## The AddHostAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"AddHostAction":{"required":["add_host"],"type":"object","properties":{"add_host":{"required":["host"],"type":"object","properties":{"host":{"description":"The host name","type":"string"}}}}}}}}
```

## The RemoveHostAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"RemoveHostAction":{"required":["remove_host"],"type":"object","properties":{"remove_host":{"required":["host"],"type":"object","properties":{"host":{"description":"The host name","type":"string"}}}}}}}}
```

## The SetMetadataAction object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"SetMetadataAction":{"required":["set_metadata"],"type":"object","properties":{"set_metadata":{"required":["metadata"],"type":"object","properties":{"metadata":{"description":"The metadata to set","type":"object","additionalProperties":{"type":"string"}}}}}}}}}
```

## The ServerGroup object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"ServerGroup":{"type":"object","properties":{"id":{"format":"uuid","description":"The server group UUID","type":"string"},"name":{"description":"The server group name","type":"string"},"policies":{"description":"The list of policies","type":"array","items":{"enum":["anti-affinity","affinity","soft-anti-affinity","soft-affinity"],"type":"string"}},"policy":{"description":"The policy (deprecated, use policies)","enum":["anti-affinity","affinity","soft-anti-affinity","soft-affinity"],"type":"string"},"rules":{"description":"The policy rules","type":"object","additionalProperties":{"type":"string"}},"members":{"description":"The list of server UUIDs in the group","type":"array","items":{"format":"uuid","type":"string"}},"project_id":{"format":"uuid","description":"The project UUID","type":"string"},"user_id":{"format":"uuid","description":"The user UUID","type":"string"}}}}}}
```

## The CreateServerGroupRequest object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"CreateServerGroupRequest":{"required":["name","policies"],"type":"object","properties":{"name":{"description":"The server group name","type":"string"},"policies":{"description":"The list of policies","maxItems":1,"minItems":1,"type":"array","items":{"enum":["anti-affinity","affinity","soft-anti-affinity","soft-affinity"],"type":"string"}},"policy":{"description":"The policy (deprecated, use policies)","enum":["anti-affinity","affinity","soft-anti-affinity","soft-affinity"],"type":"string"},"rules":{"description":"The policy rules","type":"object","additionalProperties":{"type":"string"}}}}}}}
```

## The QuotaSet object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"QuotaSet":{"type":"object","properties":{"id":{"format":"uuid","description":"The project UUID","type":"string"},"cores":{"description":"The number of allowed server cores","type":"integer"},"instances":{"description":"The number of allowed servers","type":"integer"},"key_pairs":{"description":"The number of allowed key pairs","type":"integer"},"metadata_items":{"description":"The number of allowed metadata items per server","type":"integer"},"ram":{"description":"The amount of allowed server RAM in MiB","type":"integer"},"server_groups":{"description":"The number of allowed server groups","type":"integer"},"server_group_members":{"description":"The number of allowed members per server group","type":"integer"}}}}}}
```

## The QuotaSetDetailed object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"QuotaSetDetailed":{"type":"object","properties":{"id":{"format":"uuid","description":"The project UUID","type":"string"},"cores":{"$ref":"#/components/schemas/QuotaDetail"},"instances":{"$ref":"#/components/schemas/QuotaDetail"},"key_pairs":{"$ref":"#/components/schemas/QuotaDetail"},"metadata_items":{"$ref":"#/components/schemas/QuotaDetail"},"ram":{"$ref":"#/components/schemas/QuotaDetail"},"server_groups":{"$ref":"#/components/schemas/QuotaDetail"},"server_group_members":{"$ref":"#/components/schemas/QuotaDetail"}}},"QuotaDetail":{"type":"object","properties":{"limit":{"description":"The quota limit","type":"integer"},"in_use":{"description":"The current usage","type":"integer"},"reserved":{"description":"The reserved amount","type":"integer"}}}}}}
```

## The QuotaDetail object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"QuotaDetail":{"type":"object","properties":{"limit":{"description":"The quota limit","type":"integer"},"in_use":{"description":"The current usage","type":"integer"},"reserved":{"description":"The reserved amount","type":"integer"}}}}}}
```

## The UpdateQuotaSetRequest object

```json
{"openapi":"3.0.3","info":{"title":"Compute API","version":"2.96"},"components":{"schemas":{"UpdateQuotaSetRequest":{"type":"object","properties":{"cores":{"description":"The number of allowed server cores (-1 for unlimited)","minimum":-1,"type":"integer"},"instances":{"description":"The number of allowed servers (-1 for unlimited)","minimum":-1,"type":"integer"},"key_pairs":{"description":"The number of allowed key pairs (-1 for unlimited)","minimum":-1,"type":"integer"},"metadata_items":{"description":"The number of allowed metadata items per server (-1 for unlimited)","minimum":-1,"type":"integer"},"ram":{"description":"The amount of allowed server RAM in MiB (-1 for unlimited)","minimum":-1,"type":"integer"},"server_groups":{"description":"The number of allowed server groups (-1 for unlimited)","minimum":-1,"type":"integer"},"server_group_members":{"description":"The number of allowed members per server group (-1 for unlimited)","minimum":-1,"type":"integer"},"force":{"description":"Whether to force the quota update","default":false,"type":"boolean"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.platform9.com/api-docs/compute-service/models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
