# 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"}}}}}}
```
