diff --git a/next/core/core.go b/next/core/core.go index ce216fa..34a95dd 100644 --- a/next/core/core.go +++ b/next/core/core.go @@ -109,6 +109,17 @@ const ( DiskBackupPolicyNotFound DiskBackupPolicyNotFoundEnum = "disk_backup_policy_not_found" ) +// Defines values for DiskBusEnum. +const ( + Scsi DiskBusEnum = "scsi" + Virtio DiskBusEnum = "virtio" +) + +// Defines values for DiskIOProfileNotFoundEnum. +const ( + DiskIoProfileNotFound DiskIOProfileNotFoundEnum = "disk_io_profile_not_found" +) + // Defines values for DiskNotFoundEnum. const ( DiskNotFound DiskNotFoundEnum = "disk_not_found" @@ -151,6 +162,12 @@ const ( FileStorageVolumeStateEnumReady FileStorageVolumeStateEnum = "ready" ) +// Defines values for FileSystemEnum. +const ( + Ext4 FileSystemEnum = "ext4" + Xfs FileSystemEnum = "xfs" +) + // Defines values for FlexibleResourcesUnavailableToOrganizationEnum. const ( FlexibleResourcesUnavailableToOrganization FlexibleResourcesUnavailableToOrganizationEnum = "flexible_resources_unavailable_to_organization" @@ -489,6 +506,21 @@ const ( TrashObjectNotFound TrashObjectNotFoundEnum = "trash_object_not_found" ) +// Defines values for UnableToAssignEnum. +const ( + UnableToAssignEnumUnableToAssign UnableToAssignEnum = "unable_to_assign" +) + +// Defines values for UnableToUnassignEnum. +const ( + UnableToUnassignEnumUnableToUnassign UnableToUnassignEnum = "unable_to_unassign" +) + +// Defines values for UnassignedDiskEnum. +const ( + UnassignedDisk UnassignedDiskEnum = "unassigned_disk" +) + // Defines values for UnauthorizedNetworkForAPITokenEnum. const ( UnauthorizedNetworkForApiToken UnauthorizedNetworkForAPITokenEnum = "unauthorized_network_for_api_token" @@ -967,6 +999,22 @@ type DecimalOrUnlimited struct { Value nullable.Nullable[float32] `json:"value,omitempty"` } +// DeleteDisk200ResponseDisk defines model for DeleteDisk200ResponseDisk. +type DeleteDisk200ResponseDisk struct { + BusType nullable.Nullable[DiskBusEnum] `json:"bus_type,omitempty"` + CreatedAt *int `json:"created_at,omitempty"` + DataCenter *DeleteDiskPartDataCenter `json:"data_center,omitempty"` + Id *string `json:"id,omitempty"` + Installation nullable.Nullable[DiskInstallation] `json:"installation,omitempty"` + IoProfile nullable.Nullable[DiskIOProfile] `json:"io_profile,omitempty"` + Name *string `json:"name,omitempty"` + SizeInGb *int `json:"size_in_gb,omitempty"` + State *DiskStateEnum `json:"state,omitempty"` + StorageSpeed *StorageSpeedEnum `json:"storage_speed,omitempty"` + VirtualMachineDisk nullable.Nullable[DeleteDiskPartVirtualMachineDisk] `json:"virtual_machine_disk,omitempty"` + Wwn *string `json:"wwn,omitempty"` +} + // DeleteDiskBackupPolicy200ResponseDiskBackupPolicy defines model for DeleteDiskBackupPolicy200ResponseDiskBackupPolicy. type DeleteDiskBackupPolicy200ResponseDiskBackupPolicy struct { Id *string `json:"id,omitempty"` @@ -979,6 +1027,27 @@ type DeleteDiskBackupPolicySchedule200ResponseDiskBackupPolicy struct { Target *DiskBackupPolicyTarget `json:"target,omitempty"` } +// DeleteDiskPartDataCenter defines model for DeleteDiskPartDataCenter. +type DeleteDiskPartDataCenter struct { + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Permalink nullable.Nullable[string] `json:"permalink,omitempty"` +} + +// DeleteDiskPartVirtualMachine defines model for DeleteDiskPartVirtualMachine. +type DeleteDiskPartVirtualMachine struct { + Fqdn *string `json:"fqdn,omitempty"` + Id *string `json:"id,omitempty"` +} + +// DeleteDiskPartVirtualMachineDisk defines model for DeleteDiskPartVirtualMachineDisk. +type DeleteDiskPartVirtualMachineDisk struct { + AttachOnBoot *bool `json:"attach_on_boot,omitempty"` + Boot *bool `json:"boot,omitempty"` + State *VirtualMachineDiskAttachmentStateEnum `json:"state,omitempty"` + VirtualMachine *DeleteDiskPartVirtualMachine `json:"virtual_machine,omitempty"` +} + // DeleteFileStorageVolume200ResponseFileStorageVolume defines model for DeleteFileStorageVolume200ResponseFileStorageVolume. type DeleteFileStorageVolume200ResponseFileStorageVolume struct { Associations *[]string `json:"associations,omitempty"` @@ -1069,7 +1138,9 @@ type DeletionRestrictedEnum string // Disk defines model for Disk. type Disk struct { + BusType nullable.Nullable[DiskBusEnum] `json:"bus_type,omitempty"` CreatedAt *int `json:"created_at,omitempty"` + DataCenter *DataCenter `json:"data_center,omitempty"` Id *string `json:"id,omitempty"` Installation nullable.Nullable[DiskInstallation] `json:"installation,omitempty"` IoProfile nullable.Nullable[DiskIOProfile] `json:"io_profile,omitempty"` @@ -1081,6 +1152,26 @@ type Disk struct { Wwn *string `json:"wwn,omitempty"` } +// DiskArguments All 'properties[]' params are mutually exclusive, only one can be provided. +type DiskArguments struct { + BusType *DiskBusEnum `json:"bus_type,omitempty"` + + // DataCenter All 'data_center[]' params are mutually exclusive, only one can be provided. + DataCenter *DataCenterLookup `json:"data_center,omitempty"` + InitialFileSystem *FileSystemEnum `json:"initial_file_system,omitempty"` + + // IoProfile All 'io_profile[]' params are mutually exclusive, only one can be provided. + IoProfile *DiskIOProfileLookup `json:"io_profile,omitempty"` + Name *string `json:"name,omitempty"` + + // SizeInGb Only available when creating disk. Existing disks must use the resize endpoint. + SizeInGb *int `json:"size_in_gb,omitempty"` + StorageSpeed *StorageSpeedEnum `json:"storage_speed,omitempty"` + + // VirtualMachineDisk All 'virtual_machine_disk[]' params are mutually exclusive, only one can be provided. + VirtualMachineDisk *VirtualMachineDiskArguments `json:"virtual_machine_disk,omitempty"` +} + // DiskBackupPolicyArguments All 'properties[]' params are mutually exclusive, only one can be provided. type DiskBackupPolicyArguments struct { Retention *int `json:"retention,omitempty"` @@ -1107,6 +1198,9 @@ type DiskBackupPolicyTarget_Target struct { union json.RawMessage } +// DiskBusEnum defines model for DiskBusEnum. +type DiskBusEnum string + // DiskIOProfile defines model for DiskIOProfile. type DiskIOProfile struct { Id *string `json:"id,omitempty"` @@ -1116,6 +1210,22 @@ type DiskIOProfile struct { SpeedInMb nullable.Nullable[int] `json:"speed_in_mb,omitempty"` } +// DiskIOProfileLookup All 'io_profile[]' params are mutually exclusive, only one can be provided. +type DiskIOProfileLookup struct { + Id *string `json:"id,omitempty"` + Permalink *string `json:"permalink,omitempty"` +} + +// DiskIOProfileNotFoundEnum defines model for DiskIOProfileNotFoundEnum. +type DiskIOProfileNotFoundEnum string + +// DiskIOProfileNotFoundSchema No disk IO profile was found matching any of the criteria provided in the arguments +type DiskIOProfileNotFoundSchema struct { + Code *DiskIOProfileNotFoundEnum `json:"code,omitempty"` + Description *string `json:"description,omitempty"` + Detail *map[string]interface{} `json:"detail,omitempty"` +} + // DiskInstallation defines model for DiskInstallation. type DiskInstallation struct { Attributes *[]DiskInstallationAttribute `json:"attributes,omitempty"` @@ -1140,6 +1250,13 @@ type DiskLookup struct { // DiskNotFoundEnum defines model for DiskNotFoundEnum. type DiskNotFoundEnum string +// DiskNotFoundSchema No disk was found matching any of the criteria provided in the arguments +type DiskNotFoundSchema struct { + Code *DiskNotFoundEnum `json:"code,omitempty"` + Description *string `json:"description,omitempty"` + Detail *map[string]interface{} `json:"detail,omitempty"` +} + // DiskStateEnum defines model for DiskStateEnum. type DiskStateEnum string @@ -1204,6 +1321,9 @@ type FileStorageVolumeNotFoundEnum string // FileStorageVolumeStateEnum defines model for FileStorageVolumeStateEnum. type FileStorageVolumeStateEnum string +// FileSystemEnum defines model for FileSystemEnum. +type FileSystemEnum string + // FlexibleResourcesUnavailableToOrganizationEnum defines model for FlexibleResourcesUnavailableToOrganizationEnum. type FlexibleResourcesUnavailableToOrganizationEnum string @@ -1317,7 +1437,9 @@ type GetDataCentersPartCountry struct { // GetDisk200ResponseDisk defines model for GetDisk200ResponseDisk. type GetDisk200ResponseDisk struct { + BusType nullable.Nullable[DiskBusEnum] `json:"bus_type,omitempty"` CreatedAt *int `json:"created_at,omitempty"` + DataCenter *GetDiskPartDataCenter `json:"data_center,omitempty"` Id *string `json:"id,omitempty"` Installation nullable.Nullable[DiskInstallation] `json:"installation,omitempty"` IoProfile nullable.Nullable[DiskIOProfile] `json:"io_profile,omitempty"` @@ -1354,6 +1476,13 @@ type GetDiskDiskBackupPoliciesPartSchedule struct { NextInvocationAt *int `json:"next_invocation_at,omitempty"` } +// GetDiskPartDataCenter defines model for GetDiskPartDataCenter. +type GetDiskPartDataCenter struct { + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Permalink nullable.Nullable[string] `json:"permalink,omitempty"` +} + // GetDiskPartVirtualMachine defines model for GetDiskPartVirtualMachine. type GetDiskPartVirtualMachine struct { Fqdn *string `json:"fqdn,omitempty"` @@ -2377,6 +2506,16 @@ type OneOfDataCenterNotFoundVirtualMachinePackageNotFoundZoneNotFound404Res stru union json.RawMessage } +// OneOfDiskIOProfileNotFoundDiskNotFound404Res defines model for OneOfDiskIOProfileNotFoundDiskNotFound404Res. +type OneOfDiskIOProfileNotFoundDiskNotFound404Res struct { + union json.RawMessage +} + +// OneOfDiskNotFoundVirtualMachineNotFound404Res defines model for OneOfDiskNotFoundVirtualMachineNotFound404Res. +type OneOfDiskNotFoundVirtualMachineNotFound404Res struct { + union json.RawMessage +} + // OneOfFlexibleResourcesUnavailableToOrganizationPermissionDenied403Res defines model for OneOfFlexibleResourcesUnavailableToOrganizationPermissionDenied403Res. type OneOfFlexibleResourcesUnavailableToOrganizationPermissionDenied403Res struct { union json.RawMessage @@ -2477,6 +2616,11 @@ type OneOfPermissionDenied403Res struct { union json.RawMessage } +// OneOfUnassignedDiskValidationError422Res defines model for OneOfUnassignedDiskValidationError422Res. +type OneOfUnassignedDiskValidationError422Res struct { + union json.RawMessage +} + // OneOfVirtualMachineNotFoundVirtualMachinePackageNotFound404Res defines model for OneOfVirtualMachineNotFoundVirtualMachinePackageNotFound404Res. type OneOfVirtualMachineNotFoundVirtualMachinePackageNotFound404Res struct { union json.RawMessage @@ -2605,6 +2749,22 @@ type PaginationObject struct { TotalPages nullable.Nullable[int] `json:"total_pages,omitempty"` } +// PatchDisk200ResponseDisk defines model for PatchDisk200ResponseDisk. +type PatchDisk200ResponseDisk struct { + BusType nullable.Nullable[DiskBusEnum] `json:"bus_type,omitempty"` + CreatedAt *int `json:"created_at,omitempty"` + DataCenter *PatchDiskPartDataCenter `json:"data_center,omitempty"` + Id *string `json:"id,omitempty"` + Installation nullable.Nullable[DiskInstallation] `json:"installation,omitempty"` + IoProfile nullable.Nullable[DiskIOProfile] `json:"io_profile,omitempty"` + Name *string `json:"name,omitempty"` + SizeInGb *int `json:"size_in_gb,omitempty"` + State *DiskStateEnum `json:"state,omitempty"` + StorageSpeed *StorageSpeedEnum `json:"storage_speed,omitempty"` + VirtualMachineDisk nullable.Nullable[PatchDiskPartVirtualMachineDisk] `json:"virtual_machine_disk,omitempty"` + Wwn *string `json:"wwn,omitempty"` +} + // PatchDiskBackupPolicy200ResponseDiskBackupPolicy defines model for PatchDiskBackupPolicy200ResponseDiskBackupPolicy. type PatchDiskBackupPolicy200ResponseDiskBackupPolicy struct { Id *string `json:"id,omitempty"` @@ -2613,6 +2773,27 @@ type PatchDiskBackupPolicy200ResponseDiskBackupPolicy struct { Target *DiskBackupPolicyTarget `json:"target,omitempty"` } +// PatchDiskPartDataCenter defines model for PatchDiskPartDataCenter. +type PatchDiskPartDataCenter struct { + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Permalink nullable.Nullable[string] `json:"permalink,omitempty"` +} + +// PatchDiskPartVirtualMachine defines model for PatchDiskPartVirtualMachine. +type PatchDiskPartVirtualMachine struct { + Fqdn *string `json:"fqdn,omitempty"` + Id *string `json:"id,omitempty"` +} + +// PatchDiskPartVirtualMachineDisk defines model for PatchDiskPartVirtualMachineDisk. +type PatchDiskPartVirtualMachineDisk struct { + AttachOnBoot *bool `json:"attach_on_boot,omitempty"` + Boot *bool `json:"boot,omitempty"` + State *VirtualMachineDiskAttachmentStateEnum `json:"state,omitempty"` + VirtualMachine *PatchDiskPartVirtualMachine `json:"virtual_machine,omitempty"` +} + // PatchFileStorageVolume200ResponseFileStorageVolume defines model for PatchFileStorageVolume200ResponseFileStorageVolume. type PatchFileStorageVolume200ResponseFileStorageVolume struct { Associations *[]string `json:"associations,omitempty"` @@ -2771,6 +2952,117 @@ type PermissionDeniedSchema struct { Detail *PermissionDenied `json:"detail,omitempty"` } +// PostDiskAssign200ResponseDisk defines model for PostDiskAssign200ResponseDisk. +type PostDiskAssign200ResponseDisk struct { + BusType nullable.Nullable[DiskBusEnum] `json:"bus_type,omitempty"` + CreatedAt *int `json:"created_at,omitempty"` + DataCenter *PostDiskAssignPartDataCenter `json:"data_center,omitempty"` + Id *string `json:"id,omitempty"` + Installation nullable.Nullable[DiskInstallation] `json:"installation,omitempty"` + IoProfile nullable.Nullable[DiskIOProfile] `json:"io_profile,omitempty"` + Name *string `json:"name,omitempty"` + SizeInGb *int `json:"size_in_gb,omitempty"` + State *DiskStateEnum `json:"state,omitempty"` + StorageSpeed *StorageSpeedEnum `json:"storage_speed,omitempty"` + VirtualMachineDisk nullable.Nullable[PostDiskAssignPartVirtualMachineDisk] `json:"virtual_machine_disk,omitempty"` + Wwn *string `json:"wwn,omitempty"` +} + +// PostDiskAssignPartDataCenter defines model for PostDiskAssignPartDataCenter. +type PostDiskAssignPartDataCenter struct { + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Permalink nullable.Nullable[string] `json:"permalink,omitempty"` +} + +// PostDiskAssignPartVirtualMachine defines model for PostDiskAssignPartVirtualMachine. +type PostDiskAssignPartVirtualMachine struct { + Fqdn *string `json:"fqdn,omitempty"` + Id *string `json:"id,omitempty"` +} + +// PostDiskAssignPartVirtualMachineDisk defines model for PostDiskAssignPartVirtualMachineDisk. +type PostDiskAssignPartVirtualMachineDisk struct { + AttachOnBoot *bool `json:"attach_on_boot,omitempty"` + Boot *bool `json:"boot,omitempty"` + State *VirtualMachineDiskAttachmentStateEnum `json:"state,omitempty"` + VirtualMachine *PostDiskAssignPartVirtualMachine `json:"virtual_machine,omitempty"` +} + +// PostDiskAttach200ResponseDisk defines model for PostDiskAttach200ResponseDisk. +type PostDiskAttach200ResponseDisk struct { + BusType nullable.Nullable[DiskBusEnum] `json:"bus_type,omitempty"` + CreatedAt *int `json:"created_at,omitempty"` + DataCenter *PostDiskAttachPartDataCenter `json:"data_center,omitempty"` + Id *string `json:"id,omitempty"` + Installation nullable.Nullable[DiskInstallation] `json:"installation,omitempty"` + IoProfile nullable.Nullable[DiskIOProfile] `json:"io_profile,omitempty"` + Name *string `json:"name,omitempty"` + SizeInGb *int `json:"size_in_gb,omitempty"` + State *DiskStateEnum `json:"state,omitempty"` + StorageSpeed *StorageSpeedEnum `json:"storage_speed,omitempty"` + VirtualMachineDisk nullable.Nullable[PostDiskAttachPartVirtualMachineDisk] `json:"virtual_machine_disk,omitempty"` + Wwn *string `json:"wwn,omitempty"` +} + +// PostDiskAttachPartDataCenter defines model for PostDiskAttachPartDataCenter. +type PostDiskAttachPartDataCenter struct { + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Permalink nullable.Nullable[string] `json:"permalink,omitempty"` +} + +// PostDiskAttachPartVirtualMachine defines model for PostDiskAttachPartVirtualMachine. +type PostDiskAttachPartVirtualMachine struct { + Fqdn *string `json:"fqdn,omitempty"` + Id *string `json:"id,omitempty"` +} + +// PostDiskAttachPartVirtualMachineDisk defines model for PostDiskAttachPartVirtualMachineDisk. +type PostDiskAttachPartVirtualMachineDisk struct { + AttachOnBoot *bool `json:"attach_on_boot,omitempty"` + Boot *bool `json:"boot,omitempty"` + State *VirtualMachineDiskAttachmentStateEnum `json:"state,omitempty"` + VirtualMachine *PostDiskAttachPartVirtualMachine `json:"virtual_machine,omitempty"` +} + +// PostDiskDetach200ResponseDisk defines model for PostDiskDetach200ResponseDisk. +type PostDiskDetach200ResponseDisk struct { + BusType nullable.Nullable[DiskBusEnum] `json:"bus_type,omitempty"` + CreatedAt *int `json:"created_at,omitempty"` + DataCenter *PostDiskDetachPartDataCenter `json:"data_center,omitempty"` + Id *string `json:"id,omitempty"` + Installation nullable.Nullable[DiskInstallation] `json:"installation,omitempty"` + IoProfile nullable.Nullable[DiskIOProfile] `json:"io_profile,omitempty"` + Name *string `json:"name,omitempty"` + SizeInGb *int `json:"size_in_gb,omitempty"` + State *DiskStateEnum `json:"state,omitempty"` + StorageSpeed *StorageSpeedEnum `json:"storage_speed,omitempty"` + VirtualMachineDisk nullable.Nullable[PostDiskDetachPartVirtualMachineDisk] `json:"virtual_machine_disk,omitempty"` + Wwn *string `json:"wwn,omitempty"` +} + +// PostDiskDetachPartDataCenter defines model for PostDiskDetachPartDataCenter. +type PostDiskDetachPartDataCenter struct { + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Permalink nullable.Nullable[string] `json:"permalink,omitempty"` +} + +// PostDiskDetachPartVirtualMachine defines model for PostDiskDetachPartVirtualMachine. +type PostDiskDetachPartVirtualMachine struct { + Fqdn *string `json:"fqdn,omitempty"` + Id *string `json:"id,omitempty"` +} + +// PostDiskDetachPartVirtualMachineDisk defines model for PostDiskDetachPartVirtualMachineDisk. +type PostDiskDetachPartVirtualMachineDisk struct { + AttachOnBoot *bool `json:"attach_on_boot,omitempty"` + Boot *bool `json:"boot,omitempty"` + State *VirtualMachineDiskAttachmentStateEnum `json:"state,omitempty"` + VirtualMachine *PostDiskDetachPartVirtualMachine `json:"virtual_machine,omitempty"` +} + // PostDiskDiskBackupPolicies200ResponseDiskBackupPolicy defines model for PostDiskDiskBackupPolicies200ResponseDiskBackupPolicy. type PostDiskDiskBackupPolicies200ResponseDiskBackupPolicy struct { AutoMoveToTrashAt nullable.Nullable[int] `json:"auto_move_to_trash_at,omitempty"` @@ -2781,6 +3073,43 @@ type PostDiskDiskBackupPolicies200ResponseDiskBackupPolicy struct { TotalSize *float32 `json:"total_size,omitempty"` } +// PostDiskUnassign200ResponseDisk defines model for PostDiskUnassign200ResponseDisk. +type PostDiskUnassign200ResponseDisk struct { + BusType nullable.Nullable[DiskBusEnum] `json:"bus_type,omitempty"` + CreatedAt *int `json:"created_at,omitempty"` + DataCenter *PostDiskUnassignPartDataCenter `json:"data_center,omitempty"` + Id *string `json:"id,omitempty"` + Installation nullable.Nullable[DiskInstallation] `json:"installation,omitempty"` + IoProfile nullable.Nullable[DiskIOProfile] `json:"io_profile,omitempty"` + Name *string `json:"name,omitempty"` + SizeInGb *int `json:"size_in_gb,omitempty"` + State *DiskStateEnum `json:"state,omitempty"` + StorageSpeed *StorageSpeedEnum `json:"storage_speed,omitempty"` + VirtualMachineDisk nullable.Nullable[PostDiskUnassignPartVirtualMachineDisk] `json:"virtual_machine_disk,omitempty"` + Wwn *string `json:"wwn,omitempty"` +} + +// PostDiskUnassignPartDataCenter defines model for PostDiskUnassignPartDataCenter. +type PostDiskUnassignPartDataCenter struct { + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Permalink nullable.Nullable[string] `json:"permalink,omitempty"` +} + +// PostDiskUnassignPartVirtualMachine defines model for PostDiskUnassignPartVirtualMachine. +type PostDiskUnassignPartVirtualMachine struct { + Fqdn *string `json:"fqdn,omitempty"` + Id *string `json:"id,omitempty"` +} + +// PostDiskUnassignPartVirtualMachineDisk defines model for PostDiskUnassignPartVirtualMachineDisk. +type PostDiskUnassignPartVirtualMachineDisk struct { + AttachOnBoot *bool `json:"attach_on_boot,omitempty"` + Boot *bool `json:"boot,omitempty"` + State *VirtualMachineDiskAttachmentStateEnum `json:"state,omitempty"` + VirtualMachine *PostDiskUnassignPartVirtualMachine `json:"virtual_machine,omitempty"` +} + // PostLoadBalancerRules200ResponseLoadBalancerRule defines model for PostLoadBalancerRules200ResponseLoadBalancerRule. type PostLoadBalancerRules200ResponseLoadBalancerRule struct { Algorithm *LoadBalancerRuleAlgorithmEnum `json:"algorithm,omitempty"` @@ -2817,6 +3146,43 @@ type PostLoadBalancerRulesPartLoadBalancer struct { Name *string `json:"name,omitempty"` } +// PostOrganizationDisks201ResponseDisk defines model for PostOrganizationDisks201ResponseDisk. +type PostOrganizationDisks201ResponseDisk struct { + BusType nullable.Nullable[DiskBusEnum] `json:"bus_type,omitempty"` + CreatedAt *int `json:"created_at,omitempty"` + DataCenter *PostOrganizationDisksPartDataCenter `json:"data_center,omitempty"` + Id *string `json:"id,omitempty"` + Installation nullable.Nullable[DiskInstallation] `json:"installation,omitempty"` + IoProfile nullable.Nullable[DiskIOProfile] `json:"io_profile,omitempty"` + Name *string `json:"name,omitempty"` + SizeInGb *int `json:"size_in_gb,omitempty"` + State *DiskStateEnum `json:"state,omitempty"` + StorageSpeed *StorageSpeedEnum `json:"storage_speed,omitempty"` + VirtualMachineDisk nullable.Nullable[PostOrganizationDisksPartVirtualMachineDisk] `json:"virtual_machine_disk,omitempty"` + Wwn *string `json:"wwn,omitempty"` +} + +// PostOrganizationDisksPartDataCenter defines model for PostOrganizationDisksPartDataCenter. +type PostOrganizationDisksPartDataCenter struct { + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Permalink nullable.Nullable[string] `json:"permalink,omitempty"` +} + +// PostOrganizationDisksPartVirtualMachine defines model for PostOrganizationDisksPartVirtualMachine. +type PostOrganizationDisksPartVirtualMachine struct { + Fqdn *string `json:"fqdn,omitempty"` + Id *string `json:"id,omitempty"` +} + +// PostOrganizationDisksPartVirtualMachineDisk defines model for PostOrganizationDisksPartVirtualMachineDisk. +type PostOrganizationDisksPartVirtualMachineDisk struct { + AttachOnBoot *bool `json:"attach_on_boot,omitempty"` + Boot *bool `json:"boot,omitempty"` + State *VirtualMachineDiskAttachmentStateEnum `json:"state,omitempty"` + VirtualMachine *PostOrganizationDisksPartVirtualMachine `json:"virtual_machine,omitempty"` +} + // PostOrganizationFileStorageVolumes201ResponseFileStorageVolume defines model for PostOrganizationFileStorageVolumes201ResponseFileStorageVolume. type PostOrganizationFileStorageVolumes201ResponseFileStorageVolume struct { Associations *[]string `json:"associations,omitempty"` @@ -3013,6 +3379,80 @@ type PostVirtualMachineStop200ResponseTask struct { // PrivacyTypesEnum defines model for PrivacyTypesEnum. type PrivacyTypesEnum string +// PutDiskIOProfile200ResponseDisk defines model for PutDiskIOProfile200ResponseDisk. +type PutDiskIOProfile200ResponseDisk struct { + BusType nullable.Nullable[DiskBusEnum] `json:"bus_type,omitempty"` + CreatedAt *int `json:"created_at,omitempty"` + DataCenter *PutDiskIOProfilePartDataCenter `json:"data_center,omitempty"` + Id *string `json:"id,omitempty"` + Installation nullable.Nullable[DiskInstallation] `json:"installation,omitempty"` + IoProfile nullable.Nullable[DiskIOProfile] `json:"io_profile,omitempty"` + Name *string `json:"name,omitempty"` + SizeInGb *int `json:"size_in_gb,omitempty"` + State *DiskStateEnum `json:"state,omitempty"` + StorageSpeed *StorageSpeedEnum `json:"storage_speed,omitempty"` + VirtualMachineDisk nullable.Nullable[PutDiskIOProfilePartVirtualMachineDisk] `json:"virtual_machine_disk,omitempty"` + Wwn *string `json:"wwn,omitempty"` +} + +// PutDiskIOProfilePartDataCenter defines model for PutDiskIOProfilePartDataCenter. +type PutDiskIOProfilePartDataCenter struct { + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Permalink nullable.Nullable[string] `json:"permalink,omitempty"` +} + +// PutDiskIOProfilePartVirtualMachine defines model for PutDiskIOProfilePartVirtualMachine. +type PutDiskIOProfilePartVirtualMachine struct { + Fqdn *string `json:"fqdn,omitempty"` + Id *string `json:"id,omitempty"` +} + +// PutDiskIOProfilePartVirtualMachineDisk defines model for PutDiskIOProfilePartVirtualMachineDisk. +type PutDiskIOProfilePartVirtualMachineDisk struct { + AttachOnBoot *bool `json:"attach_on_boot,omitempty"` + Boot *bool `json:"boot,omitempty"` + State *VirtualMachineDiskAttachmentStateEnum `json:"state,omitempty"` + VirtualMachine *PutDiskIOProfilePartVirtualMachine `json:"virtual_machine,omitempty"` +} + +// PutDiskResize200ResponseDisk defines model for PutDiskResize200ResponseDisk. +type PutDiskResize200ResponseDisk struct { + BusType nullable.Nullable[DiskBusEnum] `json:"bus_type,omitempty"` + CreatedAt *int `json:"created_at,omitempty"` + DataCenter *PutDiskResizePartDataCenter `json:"data_center,omitempty"` + Id *string `json:"id,omitempty"` + Installation nullable.Nullable[DiskInstallation] `json:"installation,omitempty"` + IoProfile nullable.Nullable[DiskIOProfile] `json:"io_profile,omitempty"` + Name *string `json:"name,omitempty"` + SizeInGb *int `json:"size_in_gb,omitempty"` + State *DiskStateEnum `json:"state,omitempty"` + StorageSpeed *StorageSpeedEnum `json:"storage_speed,omitempty"` + VirtualMachineDisk nullable.Nullable[PutDiskResizePartVirtualMachineDisk] `json:"virtual_machine_disk,omitempty"` + Wwn *string `json:"wwn,omitempty"` +} + +// PutDiskResizePartDataCenter defines model for PutDiskResizePartDataCenter. +type PutDiskResizePartDataCenter struct { + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + Permalink nullable.Nullable[string] `json:"permalink,omitempty"` +} + +// PutDiskResizePartVirtualMachine defines model for PutDiskResizePartVirtualMachine. +type PutDiskResizePartVirtualMachine struct { + Fqdn *string `json:"fqdn,omitempty"` + Id *string `json:"id,omitempty"` +} + +// PutDiskResizePartVirtualMachineDisk defines model for PutDiskResizePartVirtualMachineDisk. +type PutDiskResizePartVirtualMachineDisk struct { + AttachOnBoot *bool `json:"attach_on_boot,omitempty"` + Boot *bool `json:"boot,omitempty"` + State *VirtualMachineDiskAttachmentStateEnum `json:"state,omitempty"` + VirtualMachine *PutDiskResizePartVirtualMachine `json:"virtual_machine,omitempty"` +} + // RateLimitReached defines model for RateLimitReached. type RateLimitReached struct { // TotalPermitted The total number of requests per minute that are permitted @@ -3302,6 +3742,32 @@ type TrashObjectLookup struct { // TrashObjectNotFoundEnum defines model for TrashObjectNotFoundEnum. type TrashObjectNotFoundEnum string +// UnableToAssign defines model for UnableToAssign. +type UnableToAssign struct { + Errors *[]string `json:"errors,omitempty"` +} + +// UnableToAssignEnum defines model for UnableToAssignEnum. +type UnableToAssignEnum string + +// UnableToUnassign defines model for UnableToUnassign. +type UnableToUnassign struct { + Errors *[]string `json:"errors,omitempty"` +} + +// UnableToUnassignEnum defines model for UnableToUnassignEnum. +type UnableToUnassignEnum string + +// UnassignedDiskEnum defines model for UnassignedDiskEnum. +type UnassignedDiskEnum string + +// UnassignedDiskSchema Disk is not assigned to a virtual machine. +type UnassignedDiskSchema struct { + Code *UnassignedDiskEnum `json:"code,omitempty"` + Description *string `json:"description,omitempty"` + Detail *map[string]interface{} `json:"detail,omitempty"` +} + // UnauthorizedNetworkForAPIToken defines model for UnauthorizedNetworkForAPIToken. type UnauthorizedNetworkForAPIToken struct { // IpAddress The IP address the request was received from @@ -3395,6 +3861,19 @@ type VirtualMachineDisk struct { VirtualMachine *VirtualMachine `json:"virtual_machine,omitempty"` } +// VirtualMachineDiskArguments All 'virtual_machine_disk[]' params are mutually exclusive, only one can be provided. +type VirtualMachineDiskArguments struct { + // Attach Attach the disk once built. If the virtual machine is not running the disk will attach when started. Only available when creating disk, existing disks must use the attach endpoint. + Attach *bool `json:"attach,omitempty"` + + // AttachOnBoot Attach the disk during virtual machine start up. Default is true. + AttachOnBoot *bool `json:"attach_on_boot,omitempty"` + Boot *bool `json:"boot,omitempty"` + + // VirtualMachine All 'virtual_machine[]' params are mutually exclusive, only one can be provided. + VirtualMachine *VirtualMachineLookup `json:"virtual_machine,omitempty"` +} + // VirtualMachineDiskAttachmentStateEnum defines model for VirtualMachineDiskAttachmentStateEnum. type VirtualMachineDiskAttachmentStateEnum string @@ -3655,6 +4134,9 @@ type DiskBackupPolicyNotFoundResponse struct { Detail *map[string]interface{} `json:"detail,omitempty"` } +// DiskIOProfileNotFoundDiskNotFound404Res defines model for DiskIOProfileNotFoundDiskNotFound404Res. +type DiskIOProfileNotFoundDiskNotFound404Res = OneOfDiskIOProfileNotFoundDiskNotFound404Res + // DiskNotFoundResponse defines model for DiskNotFoundResponse. type DiskNotFoundResponse struct { Code *DiskNotFoundEnum `json:"code,omitempty"` @@ -3662,6 +4144,9 @@ type DiskNotFoundResponse struct { Detail *map[string]interface{} `json:"detail,omitempty"` } +// DiskNotFoundVirtualMachineNotFound404Res defines model for DiskNotFoundVirtualMachineNotFound404Res. +type DiskNotFoundVirtualMachineNotFound404Res = OneOfDiskNotFoundVirtualMachineNotFound404Res + // DiskTemplateNotFoundResponse defines model for DiskTemplateNotFoundResponse. type DiskTemplateNotFoundResponse struct { Code *DiskTemplateNotFoundEnum `json:"code,omitempty"` @@ -3890,6 +4375,30 @@ type TrashObjectNotFoundResponse struct { Detail *map[string]interface{} `json:"detail,omitempty"` } +// UnableToAssignResponse defines model for UnableToAssignResponse. +type UnableToAssignResponse struct { + Code *UnableToAssignEnum `json:"code,omitempty"` + Description *string `json:"description,omitempty"` + Detail *UnableToAssign `json:"detail,omitempty"` +} + +// UnableToUnassignResponse defines model for UnableToUnassignResponse. +type UnableToUnassignResponse struct { + Code *UnableToUnassignEnum `json:"code,omitempty"` + Description *string `json:"description,omitempty"` + Detail *UnableToUnassign `json:"detail,omitempty"` +} + +// UnassignedDiskResponse defines model for UnassignedDiskResponse. +type UnassignedDiskResponse struct { + Code *UnassignedDiskEnum `json:"code,omitempty"` + Description *string `json:"description,omitempty"` + Detail *map[string]interface{} `json:"detail,omitempty"` +} + +// UnassignedDiskValidationError422Res defines model for UnassignedDiskValidationError422Res. +type UnassignedDiskValidationError422Res = OneOfUnassignedDiskValidationError422Res + // ValidationErrorResponse defines model for ValidationErrorResponse. type ValidationErrorResponse struct { Code *ValidationErrorEnum `json:"code,omitempty"` @@ -4157,12 +4666,48 @@ type GetDiskTemplateVersionsParams struct { PerPage *int `form:"per_page,omitempty" json:"per_page,omitempty"` } +// DeleteDiskJSONBody defines parameters for DeleteDisk. +type DeleteDiskJSONBody struct { + // Disk All 'disk[]' params are mutually exclusive, only one can be provided. + Disk DiskLookup `json:"disk"` +} + // GetDiskParams defines parameters for GetDisk. type GetDiskParams struct { // DiskId The disk to return. All 'disk[]' params are mutually exclusive, only one can be provided. DiskId *string `form:"disk[id],omitempty" json:"disk[id],omitempty"` } +// PatchDiskJSONBody defines parameters for PatchDisk. +type PatchDiskJSONBody struct { + // Disk All 'disk[]' params are mutually exclusive, only one can be provided. + Disk DiskLookup `json:"disk"` + + // Properties All 'properties[]' params are mutually exclusive, only one can be provided. + Properties DiskArguments `json:"properties"` +} + +// PostDiskAssignJSONBody defines parameters for PostDiskAssign. +type PostDiskAssignJSONBody struct { + // Disk All 'disk[]' params are mutually exclusive, only one can be provided. + Disk DiskLookup `json:"disk"` + + // VirtualMachine All 'virtual_machine[]' params are mutually exclusive, only one can be provided. + VirtualMachine VirtualMachineLookup `json:"virtual_machine"` +} + +// PostDiskAttachJSONBody defines parameters for PostDiskAttach. +type PostDiskAttachJSONBody struct { + // Disk All 'disk[]' params are mutually exclusive, only one can be provided. + Disk DiskLookup `json:"disk"` +} + +// PostDiskDetachJSONBody defines parameters for PostDiskDetach. +type PostDiskDetachJSONBody struct { + // Disk All 'disk[]' params are mutually exclusive, only one can be provided. + Disk DiskLookup `json:"disk"` +} + // GetDiskDiskBackupPoliciesParams defines parameters for GetDiskDiskBackupPolicies. type GetDiskDiskBackupPoliciesParams struct { // DiskId The disk to return disk backup policies for. All 'disk[]' params are mutually exclusive, only one can be provided. @@ -4180,6 +4725,28 @@ type PostDiskDiskBackupPoliciesJSONBody struct { Properties DiskBackupPolicyArguments `json:"properties"` } +// PutDiskIoProfileJSONBody defines parameters for PutDiskIoProfile. +type PutDiskIoProfileJSONBody struct { + // Disk All 'disk[]' params are mutually exclusive, only one can be provided. + Disk DiskLookup `json:"disk"` + + // IoProfile All 'io_profile[]' params are mutually exclusive, only one can be provided. + IoProfile DiskIOProfileLookup `json:"io_profile"` +} + +// PutDiskResizeJSONBody defines parameters for PutDiskResize. +type PutDiskResizeJSONBody struct { + // Disk All 'disk[]' params are mutually exclusive, only one can be provided. + Disk DiskLookup `json:"disk"` + SizeInGb int `json:"size_in_gb"` +} + +// PostDiskUnassignJSONBody defines parameters for PostDiskUnassign. +type PostDiskUnassignJSONBody struct { + // Disk All 'disk[]' params are mutually exclusive, only one can be provided. + Disk DiskLookup `json:"disk"` +} + // DeleteDnsRecordJSONBody defines parameters for DeleteDnsRecord. type DeleteDnsRecordJSONBody struct { // DnsRecord All 'dns_record[]' params are mutually exclusive, only one can be provided. @@ -4470,6 +5037,17 @@ type GetOrganizationDiskBackupPoliciesParams struct { PerPage *int `form:"per_page,omitempty" json:"per_page,omitempty"` } +// GetOrganizationDiskIoProfilesParams defines parameters for GetOrganizationDiskIoProfiles. +type GetOrganizationDiskIoProfilesParams struct { + // OrganizationId The organization to find disk IO profiles for. All 'organization[]' params are mutually exclusive, only one can be provided. + OrganizationId *string `form:"organization[id],omitempty" json:"organization[id],omitempty"` + + // OrganizationSubDomain The organization to find disk IO profiles for. All 'organization[]' params are mutually exclusive, only one can be provided. + OrganizationSubDomain *string `form:"organization[sub_domain],omitempty" json:"organization[sub_domain],omitempty"` + Page *int `form:"page,omitempty" json:"page,omitempty"` + PerPage *int `form:"per_page,omitempty" json:"per_page,omitempty"` +} + // GetOrganizationDiskTemplatesParams defines parameters for GetOrganizationDiskTemplates. type GetOrganizationDiskTemplatesParams struct { // OrganizationId The organization to find disk templates for. All 'organization[]' params are mutually exclusive, only one can be provided. @@ -4498,6 +5076,15 @@ type GetOrganizationDisksParams struct { PerPage *int `form:"per_page,omitempty" json:"per_page,omitempty"` } +// PostOrganizationDisksJSONBody defines parameters for PostOrganizationDisks. +type PostOrganizationDisksJSONBody struct { + // Organization All 'organization[]' params are mutually exclusive, only one can be provided. + Organization OrganizationLookup `json:"organization"` + + // Properties All 'properties[]' params are mutually exclusive, only one can be provided. + Properties DiskArguments `json:"properties"` +} + // GetOrganizationDnsZonesParams defines parameters for GetOrganizationDnsZones. type GetOrganizationDnsZonesParams struct { // OrganizationId All 'organization[]' params are mutually exclusive, only one can be provided. @@ -5159,9 +5746,33 @@ type PatchDiskBackupPolicyJSONRequestBody PatchDiskBackupPolicyJSONBody // DeleteDiskBackupPolicyScheduleJSONRequestBody defines body for DeleteDiskBackupPolicySchedule for application/json ContentType. type DeleteDiskBackupPolicyScheduleJSONRequestBody DeleteDiskBackupPolicyScheduleJSONBody +// DeleteDiskJSONRequestBody defines body for DeleteDisk for application/json ContentType. +type DeleteDiskJSONRequestBody DeleteDiskJSONBody + +// PatchDiskJSONRequestBody defines body for PatchDisk for application/json ContentType. +type PatchDiskJSONRequestBody PatchDiskJSONBody + +// PostDiskAssignJSONRequestBody defines body for PostDiskAssign for application/json ContentType. +type PostDiskAssignJSONRequestBody PostDiskAssignJSONBody + +// PostDiskAttachJSONRequestBody defines body for PostDiskAttach for application/json ContentType. +type PostDiskAttachJSONRequestBody PostDiskAttachJSONBody + +// PostDiskDetachJSONRequestBody defines body for PostDiskDetach for application/json ContentType. +type PostDiskDetachJSONRequestBody PostDiskDetachJSONBody + // PostDiskDiskBackupPoliciesJSONRequestBody defines body for PostDiskDiskBackupPolicies for application/json ContentType. type PostDiskDiskBackupPoliciesJSONRequestBody PostDiskDiskBackupPoliciesJSONBody +// PutDiskIoProfileJSONRequestBody defines body for PutDiskIoProfile for application/json ContentType. +type PutDiskIoProfileJSONRequestBody PutDiskIoProfileJSONBody + +// PutDiskResizeJSONRequestBody defines body for PutDiskResize for application/json ContentType. +type PutDiskResizeJSONRequestBody PutDiskResizeJSONBody + +// PostDiskUnassignJSONRequestBody defines body for PostDiskUnassign for application/json ContentType. +type PostDiskUnassignJSONRequestBody PostDiskUnassignJSONBody + // DeleteDnsRecordJSONRequestBody defines body for DeleteDnsRecord for application/json ContentType. type DeleteDnsRecordJSONRequestBody DeleteDnsRecordJSONBody @@ -5216,6 +5827,9 @@ type PatchLoadBalancersRulesLoadBalancerRuleJSONRequestBody PatchLoadBalancersRu // PostOrganizationAddressListsJSONRequestBody defines body for PostOrganizationAddressLists for application/json ContentType. type PostOrganizationAddressListsJSONRequestBody PostOrganizationAddressListsJSONBody +// PostOrganizationDisksJSONRequestBody defines body for PostOrganizationDisks for application/json ContentType. +type PostOrganizationDisksJSONRequestBody PostOrganizationDisksJSONBody + // PostOrganizationDnsZonesJSONRequestBody defines body for PostOrganizationDnsZones for application/json ContentType. type PostOrganizationDnsZonesJSONRequestBody PostOrganizationDnsZonesJSONBody @@ -5734,6 +6348,130 @@ func (t *OneOfDataCenterNotFoundVirtualMachinePackageNotFoundZoneNotFound404Res) return err } +// AsDiskNotFoundSchema returns the union data inside the OneOfDiskIOProfileNotFoundDiskNotFound404Res as a DiskNotFoundSchema +func (t OneOfDiskIOProfileNotFoundDiskNotFound404Res) AsDiskNotFoundSchema() (DiskNotFoundSchema, error) { + var body DiskNotFoundSchema + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromDiskNotFoundSchema overwrites any union data inside the OneOfDiskIOProfileNotFoundDiskNotFound404Res as the provided DiskNotFoundSchema +func (t *OneOfDiskIOProfileNotFoundDiskNotFound404Res) FromDiskNotFoundSchema(v DiskNotFoundSchema) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeDiskNotFoundSchema performs a merge with any union data inside the OneOfDiskIOProfileNotFoundDiskNotFound404Res, using the provided DiskNotFoundSchema +func (t *OneOfDiskIOProfileNotFoundDiskNotFound404Res) MergeDiskNotFoundSchema(v DiskNotFoundSchema) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsDiskIOProfileNotFoundSchema returns the union data inside the OneOfDiskIOProfileNotFoundDiskNotFound404Res as a DiskIOProfileNotFoundSchema +func (t OneOfDiskIOProfileNotFoundDiskNotFound404Res) AsDiskIOProfileNotFoundSchema() (DiskIOProfileNotFoundSchema, error) { + var body DiskIOProfileNotFoundSchema + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromDiskIOProfileNotFoundSchema overwrites any union data inside the OneOfDiskIOProfileNotFoundDiskNotFound404Res as the provided DiskIOProfileNotFoundSchema +func (t *OneOfDiskIOProfileNotFoundDiskNotFound404Res) FromDiskIOProfileNotFoundSchema(v DiskIOProfileNotFoundSchema) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeDiskIOProfileNotFoundSchema performs a merge with any union data inside the OneOfDiskIOProfileNotFoundDiskNotFound404Res, using the provided DiskIOProfileNotFoundSchema +func (t *OneOfDiskIOProfileNotFoundDiskNotFound404Res) MergeDiskIOProfileNotFoundSchema(v DiskIOProfileNotFoundSchema) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t OneOfDiskIOProfileNotFoundDiskNotFound404Res) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *OneOfDiskIOProfileNotFoundDiskNotFound404Res) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsDiskNotFoundSchema returns the union data inside the OneOfDiskNotFoundVirtualMachineNotFound404Res as a DiskNotFoundSchema +func (t OneOfDiskNotFoundVirtualMachineNotFound404Res) AsDiskNotFoundSchema() (DiskNotFoundSchema, error) { + var body DiskNotFoundSchema + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromDiskNotFoundSchema overwrites any union data inside the OneOfDiskNotFoundVirtualMachineNotFound404Res as the provided DiskNotFoundSchema +func (t *OneOfDiskNotFoundVirtualMachineNotFound404Res) FromDiskNotFoundSchema(v DiskNotFoundSchema) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeDiskNotFoundSchema performs a merge with any union data inside the OneOfDiskNotFoundVirtualMachineNotFound404Res, using the provided DiskNotFoundSchema +func (t *OneOfDiskNotFoundVirtualMachineNotFound404Res) MergeDiskNotFoundSchema(v DiskNotFoundSchema) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsVirtualMachineNotFoundSchema returns the union data inside the OneOfDiskNotFoundVirtualMachineNotFound404Res as a VirtualMachineNotFoundSchema +func (t OneOfDiskNotFoundVirtualMachineNotFound404Res) AsVirtualMachineNotFoundSchema() (VirtualMachineNotFoundSchema, error) { + var body VirtualMachineNotFoundSchema + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromVirtualMachineNotFoundSchema overwrites any union data inside the OneOfDiskNotFoundVirtualMachineNotFound404Res as the provided VirtualMachineNotFoundSchema +func (t *OneOfDiskNotFoundVirtualMachineNotFound404Res) FromVirtualMachineNotFoundSchema(v VirtualMachineNotFoundSchema) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeVirtualMachineNotFoundSchema performs a merge with any union data inside the OneOfDiskNotFoundVirtualMachineNotFound404Res, using the provided VirtualMachineNotFoundSchema +func (t *OneOfDiskNotFoundVirtualMachineNotFound404Res) MergeVirtualMachineNotFoundSchema(v VirtualMachineNotFoundSchema) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t OneOfDiskNotFoundVirtualMachineNotFound404Res) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *OneOfDiskNotFoundVirtualMachineNotFound404Res) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + // AsUnauthorizedNetworkForAPITokenSchema returns the union data inside the OneOfFlexibleResourcesUnavailableToOrganizationPermissionDenied403Res as a UnauthorizedNetworkForAPITokenSchema func (t OneOfFlexibleResourcesUnavailableToOrganizationPermissionDenied403Res) AsUnauthorizedNetworkForAPITokenSchema() (UnauthorizedNetworkForAPITokenSchema, error) { var body UnauthorizedNetworkForAPITokenSchema @@ -7442,6 +8180,68 @@ func (t *OneOfPermissionDenied403Res) UnmarshalJSON(b []byte) error { return err } +// AsUnassignedDiskSchema returns the union data inside the OneOfUnassignedDiskValidationError422Res as a UnassignedDiskSchema +func (t OneOfUnassignedDiskValidationError422Res) AsUnassignedDiskSchema() (UnassignedDiskSchema, error) { + var body UnassignedDiskSchema + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromUnassignedDiskSchema overwrites any union data inside the OneOfUnassignedDiskValidationError422Res as the provided UnassignedDiskSchema +func (t *OneOfUnassignedDiskValidationError422Res) FromUnassignedDiskSchema(v UnassignedDiskSchema) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeUnassignedDiskSchema performs a merge with any union data inside the OneOfUnassignedDiskValidationError422Res, using the provided UnassignedDiskSchema +func (t *OneOfUnassignedDiskValidationError422Res) MergeUnassignedDiskSchema(v UnassignedDiskSchema) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsValidationErrorSchema returns the union data inside the OneOfUnassignedDiskValidationError422Res as a ValidationErrorSchema +func (t OneOfUnassignedDiskValidationError422Res) AsValidationErrorSchema() (ValidationErrorSchema, error) { + var body ValidationErrorSchema + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromValidationErrorSchema overwrites any union data inside the OneOfUnassignedDiskValidationError422Res as the provided ValidationErrorSchema +func (t *OneOfUnassignedDiskValidationError422Res) FromValidationErrorSchema(v ValidationErrorSchema) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeValidationErrorSchema performs a merge with any union data inside the OneOfUnassignedDiskValidationError422Res, using the provided ValidationErrorSchema +func (t *OneOfUnassignedDiskValidationError422Res) MergeValidationErrorSchema(v ValidationErrorSchema) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t OneOfUnassignedDiskValidationError422Res) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *OneOfUnassignedDiskValidationError422Res) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + // AsVirtualMachineNotFoundSchema returns the union data inside the OneOfVirtualMachineNotFoundVirtualMachinePackageNotFound404Res as a VirtualMachineNotFoundSchema func (t OneOfVirtualMachineNotFoundVirtualMachinePackageNotFound404Res) AsVirtualMachineNotFoundSchema() (VirtualMachineNotFoundSchema, error) { var body VirtualMachineNotFoundSchema @@ -7700,9 +8500,34 @@ type ClientInterface interface { // GetDiskTemplateVersions request GetDiskTemplateVersions(ctx context.Context, params *GetDiskTemplateVersionsParams, reqEditors ...RequestEditorFn) (*http.Response, error) + // DeleteDiskWithBody request with any body + DeleteDiskWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + DeleteDisk(ctx context.Context, body DeleteDiskJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + // GetDisk request GetDisk(ctx context.Context, params *GetDiskParams, reqEditors ...RequestEditorFn) (*http.Response, error) + // PatchDiskWithBody request with any body + PatchDiskWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + PatchDisk(ctx context.Context, body PatchDiskJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // PostDiskAssignWithBody request with any body + PostDiskAssignWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + PostDiskAssign(ctx context.Context, body PostDiskAssignJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // PostDiskAttachWithBody request with any body + PostDiskAttachWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + PostDiskAttach(ctx context.Context, body PostDiskAttachJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // PostDiskDetachWithBody request with any body + PostDiskDetachWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + PostDiskDetach(ctx context.Context, body PostDiskDetachJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + // GetDiskDiskBackupPolicies request GetDiskDiskBackupPolicies(ctx context.Context, params *GetDiskDiskBackupPoliciesParams, reqEditors ...RequestEditorFn) (*http.Response, error) @@ -7711,6 +8536,21 @@ type ClientInterface interface { PostDiskDiskBackupPolicies(ctx context.Context, body PostDiskDiskBackupPoliciesJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + // PutDiskIoProfileWithBody request with any body + PutDiskIoProfileWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + PutDiskIoProfile(ctx context.Context, body PutDiskIoProfileJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // PutDiskResizeWithBody request with any body + PutDiskResizeWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + PutDiskResize(ctx context.Context, body PutDiskResizeJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // PostDiskUnassignWithBody request with any body + PostDiskUnassignWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + PostDiskUnassign(ctx context.Context, body PostDiskUnassignJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + // DeleteDnsRecordWithBody request with any body DeleteDnsRecordWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) @@ -7858,12 +8698,20 @@ type ClientInterface interface { // GetOrganizationDiskBackupPolicies request GetOrganizationDiskBackupPolicies(ctx context.Context, params *GetOrganizationDiskBackupPoliciesParams, reqEditors ...RequestEditorFn) (*http.Response, error) + // GetOrganizationDiskIoProfiles request + GetOrganizationDiskIoProfiles(ctx context.Context, params *GetOrganizationDiskIoProfilesParams, reqEditors ...RequestEditorFn) (*http.Response, error) + // GetOrganizationDiskTemplates request GetOrganizationDiskTemplates(ctx context.Context, params *GetOrganizationDiskTemplatesParams, reqEditors ...RequestEditorFn) (*http.Response, error) // GetOrganizationDisks request GetOrganizationDisks(ctx context.Context, params *GetOrganizationDisksParams, reqEditors ...RequestEditorFn) (*http.Response, error) + // PostOrganizationDisksWithBody request with any body + PostOrganizationDisksWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + PostOrganizationDisks(ctx context.Context, body PostOrganizationDisksJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + // GetOrganizationDnsZones request GetOrganizationDnsZones(ctx context.Context, params *GetOrganizationDnsZonesParams, reqEditors ...RequestEditorFn) (*http.Response, error) @@ -8595,6 +9443,30 @@ func (c *Client) GetDiskTemplateVersions(ctx context.Context, params *GetDiskTem return c.Client.Do(req) } +func (c *Client) DeleteDiskWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewDeleteDiskRequestWithBody(c.Server, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) DeleteDisk(ctx context.Context, body DeleteDiskJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewDeleteDiskRequest(c.Server, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + func (c *Client) GetDisk(ctx context.Context, params *GetDiskParams, reqEditors ...RequestEditorFn) (*http.Response, error) { req, err := NewGetDiskRequest(c.Server, params) if err != nil { @@ -8607,6 +9479,102 @@ func (c *Client) GetDisk(ctx context.Context, params *GetDiskParams, reqEditors return c.Client.Do(req) } +func (c *Client) PatchDiskWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewPatchDiskRequestWithBody(c.Server, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) PatchDisk(ctx context.Context, body PatchDiskJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewPatchDiskRequest(c.Server, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) PostDiskAssignWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewPostDiskAssignRequestWithBody(c.Server, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) PostDiskAssign(ctx context.Context, body PostDiskAssignJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewPostDiskAssignRequest(c.Server, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) PostDiskAttachWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewPostDiskAttachRequestWithBody(c.Server, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) PostDiskAttach(ctx context.Context, body PostDiskAttachJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewPostDiskAttachRequest(c.Server, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) PostDiskDetachWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewPostDiskDetachRequestWithBody(c.Server, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) PostDiskDetach(ctx context.Context, body PostDiskDetachJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewPostDiskDetachRequest(c.Server, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + func (c *Client) GetDiskDiskBackupPolicies(ctx context.Context, params *GetDiskDiskBackupPoliciesParams, reqEditors ...RequestEditorFn) (*http.Response, error) { req, err := NewGetDiskDiskBackupPoliciesRequest(c.Server, params) if err != nil { @@ -8643,6 +9611,78 @@ func (c *Client) PostDiskDiskBackupPolicies(ctx context.Context, body PostDiskDi return c.Client.Do(req) } +func (c *Client) PutDiskIoProfileWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewPutDiskIoProfileRequestWithBody(c.Server, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) PutDiskIoProfile(ctx context.Context, body PutDiskIoProfileJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewPutDiskIoProfileRequest(c.Server, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) PutDiskResizeWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewPutDiskResizeRequestWithBody(c.Server, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) PutDiskResize(ctx context.Context, body PutDiskResizeJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewPutDiskResizeRequest(c.Server, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) PostDiskUnassignWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewPostDiskUnassignRequestWithBody(c.Server, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) PostDiskUnassign(ctx context.Context, body PostDiskUnassignJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewPostDiskUnassignRequest(c.Server, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + func (c *Client) DeleteDnsRecordWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { req, err := NewDeleteDnsRecordRequestWithBody(c.Server, contentType, body) if err != nil { @@ -9303,6 +10343,18 @@ func (c *Client) GetOrganizationDiskBackupPolicies(ctx context.Context, params * return c.Client.Do(req) } +func (c *Client) GetOrganizationDiskIoProfiles(ctx context.Context, params *GetOrganizationDiskIoProfilesParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewGetOrganizationDiskIoProfilesRequest(c.Server, params) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + func (c *Client) GetOrganizationDiskTemplates(ctx context.Context, params *GetOrganizationDiskTemplatesParams, reqEditors ...RequestEditorFn) (*http.Response, error) { req, err := NewGetOrganizationDiskTemplatesRequest(c.Server, params) if err != nil { @@ -9327,6 +10379,30 @@ func (c *Client) GetOrganizationDisks(ctx context.Context, params *GetOrganizati return c.Client.Do(req) } +func (c *Client) PostOrganizationDisksWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewPostOrganizationDisksRequestWithBody(c.Server, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) PostOrganizationDisks(ctx context.Context, body PostOrganizationDisksJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewPostOrganizationDisksRequest(c.Server, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + func (c *Client) GetOrganizationDnsZones(ctx context.Context, params *GetOrganizationDnsZonesParams, reqEditors ...RequestEditorFn) (*http.Response, error) { req, err := NewGetOrganizationDnsZonesRequest(c.Server, params) if err != nil { @@ -12285,6 +13361,46 @@ func NewGetDiskTemplateVersionsRequest(server string, params *GetDiskTemplateVer return req, nil } +// NewDeleteDiskRequest calls the generic DeleteDisk builder with application/json body +func NewDeleteDiskRequest(server string, body DeleteDiskJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewDeleteDiskRequestWithBody(server, "application/json", bodyReader) +} + +// NewDeleteDiskRequestWithBody generates requests for DeleteDisk with any type of body +func NewDeleteDiskRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/disks/:disk") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("DELETE", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + // NewGetDiskRequest generates requests for GetDisk func NewGetDiskRequest(server string, params *GetDiskParams) (*http.Request, error) { var err error @@ -12334,6 +13450,166 @@ func NewGetDiskRequest(server string, params *GetDiskParams) (*http.Request, err return req, nil } +// NewPatchDiskRequest calls the generic PatchDisk builder with application/json body +func NewPatchDiskRequest(server string, body PatchDiskJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewPatchDiskRequestWithBody(server, "application/json", bodyReader) +} + +// NewPatchDiskRequestWithBody generates requests for PatchDisk with any type of body +func NewPatchDiskRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/disks/:disk") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("PATCH", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewPostDiskAssignRequest calls the generic PostDiskAssign builder with application/json body +func NewPostDiskAssignRequest(server string, body PostDiskAssignJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewPostDiskAssignRequestWithBody(server, "application/json", bodyReader) +} + +// NewPostDiskAssignRequestWithBody generates requests for PostDiskAssign with any type of body +func NewPostDiskAssignRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/disks/:disk/assign") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("POST", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewPostDiskAttachRequest calls the generic PostDiskAttach builder with application/json body +func NewPostDiskAttachRequest(server string, body PostDiskAttachJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewPostDiskAttachRequestWithBody(server, "application/json", bodyReader) +} + +// NewPostDiskAttachRequestWithBody generates requests for PostDiskAttach with any type of body +func NewPostDiskAttachRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/disks/:disk/attach") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("POST", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewPostDiskDetachRequest calls the generic PostDiskDetach builder with application/json body +func NewPostDiskDetachRequest(server string, body PostDiskDetachJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewPostDiskDetachRequestWithBody(server, "application/json", bodyReader) +} + +// NewPostDiskDetachRequestWithBody generates requests for PostDiskDetach with any type of body +func NewPostDiskDetachRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/disks/:disk/detach") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("POST", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + // NewGetDiskDiskBackupPoliciesRequest generates requests for GetDiskDiskBackupPolicies func NewGetDiskDiskBackupPoliciesRequest(server string, params *GetDiskDiskBackupPoliciesParams) (*http.Request, error) { var err error @@ -12455,6 +13731,126 @@ func NewPostDiskDiskBackupPoliciesRequestWithBody(server string, contentType str return req, nil } +// NewPutDiskIoProfileRequest calls the generic PutDiskIoProfile builder with application/json body +func NewPutDiskIoProfileRequest(server string, body PutDiskIoProfileJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewPutDiskIoProfileRequestWithBody(server, "application/json", bodyReader) +} + +// NewPutDiskIoProfileRequestWithBody generates requests for PutDiskIoProfile with any type of body +func NewPutDiskIoProfileRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/disks/:disk/io_profile") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("PUT", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewPutDiskResizeRequest calls the generic PutDiskResize builder with application/json body +func NewPutDiskResizeRequest(server string, body PutDiskResizeJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewPutDiskResizeRequestWithBody(server, "application/json", bodyReader) +} + +// NewPutDiskResizeRequestWithBody generates requests for PutDiskResize with any type of body +func NewPutDiskResizeRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/disks/:disk/resize") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("PUT", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewPostDiskUnassignRequest calls the generic PostDiskUnassign builder with application/json body +func NewPostDiskUnassignRequest(server string, body PostDiskUnassignJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewPostDiskUnassignRequestWithBody(server, "application/json", bodyReader) +} + +// NewPostDiskUnassignRequestWithBody generates requests for PostDiskUnassign with any type of body +func NewPostDiskUnassignRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/disks/:disk/unassign") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("POST", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + // NewDeleteDnsRecordRequest calls the generic DeleteDnsRecord builder with application/json body func NewDeleteDnsRecordRequest(server string, body DeleteDnsRecordJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader @@ -14436,8 +15832,8 @@ func NewGetOrganizationDiskBackupPoliciesRequest(server string, params *GetOrgan return req, nil } -// NewGetOrganizationDiskTemplatesRequest generates requests for GetOrganizationDiskTemplates -func NewGetOrganizationDiskTemplatesRequest(server string, params *GetOrganizationDiskTemplatesParams) (*http.Request, error) { +// NewGetOrganizationDiskIoProfilesRequest generates requests for GetOrganizationDiskIoProfiles +func NewGetOrganizationDiskIoProfilesRequest(server string, params *GetOrganizationDiskIoProfilesParams) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -14445,7 +15841,7 @@ func NewGetOrganizationDiskTemplatesRequest(server string, params *GetOrganizati return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/disk_templates") + operationPath := fmt.Sprintf("/organizations/:organization/disk_io_profiles") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14490,38 +15886,6 @@ func NewGetOrganizationDiskTemplatesRequest(server string, params *GetOrganizati } - if params.IncludeUniversal != nil { - - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "include_universal", runtime.ParamLocationQuery, *params.IncludeUniversal); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { - return nil, err - } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } - } - } - - } - - if params.OperatingSystemId != nil { - - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "operating_system[id]", runtime.ParamLocationQuery, *params.OperatingSystemId); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { - return nil, err - } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } - } - } - - } - if params.Page != nil { if queryFrag, err := runtime.StyleParamWithLocation("form", true, "page", runtime.ParamLocationQuery, *params.Page); err != nil { @@ -14565,8 +15929,8 @@ func NewGetOrganizationDiskTemplatesRequest(server string, params *GetOrganizati return req, nil } -// NewGetOrganizationDisksRequest generates requests for GetOrganizationDisks -func NewGetOrganizationDisksRequest(server string, params *GetOrganizationDisksParams) (*http.Request, error) { +// NewGetOrganizationDiskTemplatesRequest generates requests for GetOrganizationDiskTemplates +func NewGetOrganizationDiskTemplatesRequest(server string, params *GetOrganizationDiskTemplatesParams) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -14574,7 +15938,7 @@ func NewGetOrganizationDisksRequest(server string, params *GetOrganizationDisksP return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/disks") + operationPath := fmt.Sprintf("/organizations/:organization/disk_templates") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14619,6 +15983,38 @@ func NewGetOrganizationDisksRequest(server string, params *GetOrganizationDisksP } + if params.IncludeUniversal != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "include_universal", runtime.ParamLocationQuery, *params.IncludeUniversal); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + + if params.OperatingSystemId != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "operating_system[id]", runtime.ParamLocationQuery, *params.OperatingSystemId); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + if params.Page != nil { if queryFrag, err := runtime.StyleParamWithLocation("form", true, "page", runtime.ParamLocationQuery, *params.Page); err != nil { @@ -14662,8 +16058,8 @@ func NewGetOrganizationDisksRequest(server string, params *GetOrganizationDisksP return req, nil } -// NewGetOrganizationDnsZonesRequest generates requests for GetOrganizationDnsZones -func NewGetOrganizationDnsZonesRequest(server string, params *GetOrganizationDnsZonesParams) (*http.Request, error) { +// NewGetOrganizationDisksRequest generates requests for GetOrganizationDisks +func NewGetOrganizationDisksRequest(server string, params *GetOrganizationDisksParams) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -14671,7 +16067,7 @@ func NewGetOrganizationDnsZonesRequest(server string, params *GetOrganizationDns return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/dns_zones") + operationPath := fmt.Sprintf("/organizations/:organization/disks") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14759,19 +16155,19 @@ func NewGetOrganizationDnsZonesRequest(server string, params *GetOrganizationDns return req, nil } -// NewPostOrganizationDnsZonesRequest calls the generic PostOrganizationDnsZones builder with application/json body -func NewPostOrganizationDnsZonesRequest(server string, body PostOrganizationDnsZonesJSONRequestBody) (*http.Request, error) { +// NewPostOrganizationDisksRequest calls the generic PostOrganizationDisks builder with application/json body +func NewPostOrganizationDisksRequest(server string, body PostOrganizationDisksJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader buf, err := json.Marshal(body) if err != nil { return nil, err } bodyReader = bytes.NewReader(buf) - return NewPostOrganizationDnsZonesRequestWithBody(server, "application/json", bodyReader) + return NewPostOrganizationDisksRequestWithBody(server, "application/json", bodyReader) } -// NewPostOrganizationDnsZonesRequestWithBody generates requests for PostOrganizationDnsZones with any type of body -func NewPostOrganizationDnsZonesRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { +// NewPostOrganizationDisksRequestWithBody generates requests for PostOrganizationDisks with any type of body +func NewPostOrganizationDisksRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -14779,7 +16175,7 @@ func NewPostOrganizationDnsZonesRequestWithBody(server string, contentType strin return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/dns_zones") + operationPath := fmt.Sprintf("/organizations/:organization/disks") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14799,73 +16195,8 @@ func NewPostOrganizationDnsZonesRequestWithBody(server string, contentType strin return req, nil } -// NewGetOrganizationDnsZonesNameserversRequest generates requests for GetOrganizationDnsZonesNameservers -func NewGetOrganizationDnsZonesNameserversRequest(server string, params *GetOrganizationDnsZonesNameserversParams) (*http.Request, error) { - var err error - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/organizations/:organization/dns_zones/nameservers") - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - if params != nil { - queryValues := queryURL.Query() - - if params.OrganizationId != nil { - - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "organization[id]", runtime.ParamLocationQuery, *params.OrganizationId); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { - return nil, err - } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } - } - } - - } - - if params.OrganizationSubDomain != nil { - - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "organization[sub_domain]", runtime.ParamLocationQuery, *params.OrganizationSubDomain); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { - return nil, err - } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } - } - } - - } - - queryURL.RawQuery = queryValues.Encode() - } - - req, err := http.NewRequest("GET", queryURL.String(), nil) - if err != nil { - return nil, err - } - - return req, nil -} - -// NewGetOrganizationFileStorageVolumesRequest generates requests for GetOrganizationFileStorageVolumes -func NewGetOrganizationFileStorageVolumesRequest(server string, params *GetOrganizationFileStorageVolumesParams) (*http.Request, error) { +// NewGetOrganizationDnsZonesRequest generates requests for GetOrganizationDnsZones +func NewGetOrganizationDnsZonesRequest(server string, params *GetOrganizationDnsZonesParams) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -14873,7 +16204,7 @@ func NewGetOrganizationFileStorageVolumesRequest(server string, params *GetOrgan return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/file_storage_volumes") + operationPath := fmt.Sprintf("/organizations/:organization/dns_zones") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14961,19 +16292,19 @@ func NewGetOrganizationFileStorageVolumesRequest(server string, params *GetOrgan return req, nil } -// NewPostOrganizationFileStorageVolumesRequest calls the generic PostOrganizationFileStorageVolumes builder with application/json body -func NewPostOrganizationFileStorageVolumesRequest(server string, body PostOrganizationFileStorageVolumesJSONRequestBody) (*http.Request, error) { +// NewPostOrganizationDnsZonesRequest calls the generic PostOrganizationDnsZones builder with application/json body +func NewPostOrganizationDnsZonesRequest(server string, body PostOrganizationDnsZonesJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader buf, err := json.Marshal(body) if err != nil { return nil, err } bodyReader = bytes.NewReader(buf) - return NewPostOrganizationFileStorageVolumesRequestWithBody(server, "application/json", bodyReader) + return NewPostOrganizationDnsZonesRequestWithBody(server, "application/json", bodyReader) } -// NewPostOrganizationFileStorageVolumesRequestWithBody generates requests for PostOrganizationFileStorageVolumes with any type of body -func NewPostOrganizationFileStorageVolumesRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { +// NewPostOrganizationDnsZonesRequestWithBody generates requests for PostOrganizationDnsZones with any type of body +func NewPostOrganizationDnsZonesRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -14981,7 +16312,7 @@ func NewPostOrganizationFileStorageVolumesRequestWithBody(server string, content return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/file_storage_volumes") + operationPath := fmt.Sprintf("/organizations/:organization/dns_zones") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15001,8 +16332,8 @@ func NewPostOrganizationFileStorageVolumesRequestWithBody(server string, content return req, nil } -// NewGetOrganizationIpAddressesRequest generates requests for GetOrganizationIpAddresses -func NewGetOrganizationIpAddressesRequest(server string, params *GetOrganizationIpAddressesParams) (*http.Request, error) { +// NewGetOrganizationDnsZonesNameserversRequest generates requests for GetOrganizationDnsZonesNameservers +func NewGetOrganizationDnsZonesNameserversRequest(server string, params *GetOrganizationDnsZonesNameserversParams) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -15010,7 +16341,7 @@ func NewGetOrganizationIpAddressesRequest(server string, params *GetOrganization return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/ip_addresses") + operationPath := fmt.Sprintf("/organizations/:organization/dns_zones/nameservers") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15055,9 +16386,58 @@ func NewGetOrganizationIpAddressesRequest(server string, params *GetOrganization } - if params.Allocated != nil { + queryURL.RawQuery = queryValues.Encode() + } - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "allocated", runtime.ParamLocationQuery, *params.Allocated); err != nil { + req, err := http.NewRequest("GET", queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + +// NewGetOrganizationFileStorageVolumesRequest generates requests for GetOrganizationFileStorageVolumes +func NewGetOrganizationFileStorageVolumesRequest(server string, params *GetOrganizationFileStorageVolumesParams) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/organizations/:organization/file_storage_volumes") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + if params != nil { + queryValues := queryURL.Query() + + if params.OrganizationId != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "organization[id]", runtime.ParamLocationQuery, *params.OrganizationId); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + + if params.OrganizationSubDomain != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "organization[sub_domain]", runtime.ParamLocationQuery, *params.OrganizationSubDomain); err != nil { return nil, err } else if parsed, err := url.ParseQuery(queryFrag); err != nil { return nil, err @@ -15114,19 +16494,19 @@ func NewGetOrganizationIpAddressesRequest(server string, params *GetOrganization return req, nil } -// NewPostOrganizationIpAddressesRequest calls the generic PostOrganizationIpAddresses builder with application/json body -func NewPostOrganizationIpAddressesRequest(server string, body PostOrganizationIpAddressesJSONRequestBody) (*http.Request, error) { +// NewPostOrganizationFileStorageVolumesRequest calls the generic PostOrganizationFileStorageVolumes builder with application/json body +func NewPostOrganizationFileStorageVolumesRequest(server string, body PostOrganizationFileStorageVolumesJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader buf, err := json.Marshal(body) if err != nil { return nil, err } bodyReader = bytes.NewReader(buf) - return NewPostOrganizationIpAddressesRequestWithBody(server, "application/json", bodyReader) + return NewPostOrganizationFileStorageVolumesRequestWithBody(server, "application/json", bodyReader) } -// NewPostOrganizationIpAddressesRequestWithBody generates requests for PostOrganizationIpAddresses with any type of body -func NewPostOrganizationIpAddressesRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { +// NewPostOrganizationFileStorageVolumesRequestWithBody generates requests for PostOrganizationFileStorageVolumes with any type of body +func NewPostOrganizationFileStorageVolumesRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -15134,7 +16514,7 @@ func NewPostOrganizationIpAddressesRequestWithBody(server string, contentType st return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/ip_addresses") + operationPath := fmt.Sprintf("/organizations/:organization/file_storage_volumes") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15154,8 +16534,8 @@ func NewPostOrganizationIpAddressesRequestWithBody(server string, contentType st return req, nil } -// NewGetOrganizationLoadBalancersRequest generates requests for GetOrganizationLoadBalancers -func NewGetOrganizationLoadBalancersRequest(server string, params *GetOrganizationLoadBalancersParams) (*http.Request, error) { +// NewGetOrganizationIpAddressesRequest generates requests for GetOrganizationIpAddresses +func NewGetOrganizationIpAddressesRequest(server string, params *GetOrganizationIpAddressesParams) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -15163,7 +16543,7 @@ func NewGetOrganizationLoadBalancersRequest(server string, params *GetOrganizati return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/load_balancers") + operationPath := fmt.Sprintf("/organizations/:organization/ip_addresses") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15208,6 +16588,22 @@ func NewGetOrganizationLoadBalancersRequest(server string, params *GetOrganizati } + if params.Allocated != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "allocated", runtime.ParamLocationQuery, *params.Allocated); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + if params.Page != nil { if queryFrag, err := runtime.StyleParamWithLocation("form", true, "page", runtime.ParamLocationQuery, *params.Page); err != nil { @@ -15251,19 +16647,19 @@ func NewGetOrganizationLoadBalancersRequest(server string, params *GetOrganizati return req, nil } -// NewPostOrganizationLoadBalancersRequest calls the generic PostOrganizationLoadBalancers builder with application/json body -func NewPostOrganizationLoadBalancersRequest(server string, body PostOrganizationLoadBalancersJSONRequestBody) (*http.Request, error) { +// NewPostOrganizationIpAddressesRequest calls the generic PostOrganizationIpAddresses builder with application/json body +func NewPostOrganizationIpAddressesRequest(server string, body PostOrganizationIpAddressesJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader buf, err := json.Marshal(body) if err != nil { return nil, err } bodyReader = bytes.NewReader(buf) - return NewPostOrganizationLoadBalancersRequestWithBody(server, "application/json", bodyReader) + return NewPostOrganizationIpAddressesRequestWithBody(server, "application/json", bodyReader) } -// NewPostOrganizationLoadBalancersRequestWithBody generates requests for PostOrganizationLoadBalancers with any type of body -func NewPostOrganizationLoadBalancersRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { +// NewPostOrganizationIpAddressesRequestWithBody generates requests for PostOrganizationIpAddresses with any type of body +func NewPostOrganizationIpAddressesRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -15271,7 +16667,7 @@ func NewPostOrganizationLoadBalancersRequestWithBody(server string, contentType return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/load_balancers") + operationPath := fmt.Sprintf("/organizations/:organization/ip_addresses") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15291,8 +16687,8 @@ func NewPostOrganizationLoadBalancersRequestWithBody(server string, contentType return req, nil } -// NewGetOrganizationManagedRequest generates requests for GetOrganizationManaged -func NewGetOrganizationManagedRequest(server string, params *GetOrganizationManagedParams) (*http.Request, error) { +// NewGetOrganizationLoadBalancersRequest generates requests for GetOrganizationLoadBalancers +func NewGetOrganizationLoadBalancersRequest(server string, params *GetOrganizationLoadBalancersParams) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -15300,7 +16696,7 @@ func NewGetOrganizationManagedRequest(server string, params *GetOrganizationMana return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/managed") + operationPath := fmt.Sprintf("/organizations/:organization/load_balancers") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15388,19 +16784,19 @@ func NewGetOrganizationManagedRequest(server string, params *GetOrganizationMana return req, nil } -// NewPostOrganizationManagedRequest calls the generic PostOrganizationManaged builder with application/json body -func NewPostOrganizationManagedRequest(server string, body PostOrganizationManagedJSONRequestBody) (*http.Request, error) { +// NewPostOrganizationLoadBalancersRequest calls the generic PostOrganizationLoadBalancers builder with application/json body +func NewPostOrganizationLoadBalancersRequest(server string, body PostOrganizationLoadBalancersJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader buf, err := json.Marshal(body) if err != nil { return nil, err } bodyReader = bytes.NewReader(buf) - return NewPostOrganizationManagedRequestWithBody(server, "application/json", bodyReader) + return NewPostOrganizationLoadBalancersRequestWithBody(server, "application/json", bodyReader) } -// NewPostOrganizationManagedRequestWithBody generates requests for PostOrganizationManaged with any type of body -func NewPostOrganizationManagedRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { +// NewPostOrganizationLoadBalancersRequestWithBody generates requests for PostOrganizationLoadBalancers with any type of body +func NewPostOrganizationLoadBalancersRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -15408,7 +16804,7 @@ func NewPostOrganizationManagedRequestWithBody(server string, contentType string return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/managed") + operationPath := fmt.Sprintf("/organizations/:organization/load_balancers") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15428,8 +16824,8 @@ func NewPostOrganizationManagedRequestWithBody(server string, contentType string return req, nil } -// NewGetOrganizationNetworkSpeedProfilesRequest generates requests for GetOrganizationNetworkSpeedProfiles -func NewGetOrganizationNetworkSpeedProfilesRequest(server string, params *GetOrganizationNetworkSpeedProfilesParams) (*http.Request, error) { +// NewGetOrganizationManagedRequest generates requests for GetOrganizationManaged +func NewGetOrganizationManagedRequest(server string, params *GetOrganizationManagedParams) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -15437,7 +16833,7 @@ func NewGetOrganizationNetworkSpeedProfilesRequest(server string, params *GetOrg return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/network_speed_profiles") + operationPath := fmt.Sprintf("/organizations/:organization/managed") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15525,8 +16921,19 @@ func NewGetOrganizationNetworkSpeedProfilesRequest(server string, params *GetOrg return req, nil } -// NewGetOrganizationPolicyLimitsRequest generates requests for GetOrganizationPolicyLimits -func NewGetOrganizationPolicyLimitsRequest(server string, params *GetOrganizationPolicyLimitsParams) (*http.Request, error) { +// NewPostOrganizationManagedRequest calls the generic PostOrganizationManaged builder with application/json body +func NewPostOrganizationManagedRequest(server string, body PostOrganizationManagedJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewPostOrganizationManagedRequestWithBody(server, "application/json", bodyReader) +} + +// NewPostOrganizationManagedRequestWithBody generates requests for PostOrganizationManaged with any type of body +func NewPostOrganizationManagedRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -15534,7 +16941,7 @@ func NewGetOrganizationPolicyLimitsRequest(server string, params *GetOrganizatio return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/policy_limits") + operationPath := fmt.Sprintf("/organizations/:organization/managed") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15544,54 +16951,18 @@ func NewGetOrganizationPolicyLimitsRequest(server string, params *GetOrganizatio return nil, err } - if params != nil { - queryValues := queryURL.Query() - - if params.OrganizationId != nil { - - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "organization[id]", runtime.ParamLocationQuery, *params.OrganizationId); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { - return nil, err - } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } - } - } - - } - - if params.OrganizationSubDomain != nil { - - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "organization[sub_domain]", runtime.ParamLocationQuery, *params.OrganizationSubDomain); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { - return nil, err - } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } - } - } - - } - - queryURL.RawQuery = queryValues.Encode() - } - - req, err := http.NewRequest("GET", queryURL.String(), nil) + req, err := http.NewRequest("POST", queryURL.String(), body) if err != nil { return nil, err } + req.Header.Add("Content-Type", contentType) + return req, nil } -// NewGetOrganizationSecurityGroupsRequest generates requests for GetOrganizationSecurityGroups -func NewGetOrganizationSecurityGroupsRequest(server string, params *GetOrganizationSecurityGroupsParams) (*http.Request, error) { +// NewGetOrganizationNetworkSpeedProfilesRequest generates requests for GetOrganizationNetworkSpeedProfiles +func NewGetOrganizationNetworkSpeedProfilesRequest(server string, params *GetOrganizationNetworkSpeedProfilesParams) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -15599,7 +16970,7 @@ func NewGetOrganizationSecurityGroupsRequest(server string, params *GetOrganizat return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/security_groups") + operationPath := fmt.Sprintf("/organizations/:organization/network_speed_profiles") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15687,19 +17058,8 @@ func NewGetOrganizationSecurityGroupsRequest(server string, params *GetOrganizat return req, nil } -// NewPostOrganizationSecurityGroupsRequest calls the generic PostOrganizationSecurityGroups builder with application/json body -func NewPostOrganizationSecurityGroupsRequest(server string, body PostOrganizationSecurityGroupsJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewPostOrganizationSecurityGroupsRequestWithBody(server, "application/json", bodyReader) -} - -// NewPostOrganizationSecurityGroupsRequestWithBody generates requests for PostOrganizationSecurityGroups with any type of body -func NewPostOrganizationSecurityGroupsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { +// NewGetOrganizationPolicyLimitsRequest generates requests for GetOrganizationPolicyLimits +func NewGetOrganizationPolicyLimitsRequest(server string, params *GetOrganizationPolicyLimitsParams) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -15707,7 +17067,7 @@ func NewPostOrganizationSecurityGroupsRequestWithBody(server string, contentType return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/security_groups") + operationPath := fmt.Sprintf("/organizations/:organization/policy_limits") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15717,18 +17077,54 @@ func NewPostOrganizationSecurityGroupsRequestWithBody(server string, contentType return nil, err } - req, err := http.NewRequest("POST", queryURL.String(), body) + if params != nil { + queryValues := queryURL.Query() + + if params.OrganizationId != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "organization[id]", runtime.ParamLocationQuery, *params.OrganizationId); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + + if params.OrganizationSubDomain != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "organization[sub_domain]", runtime.ParamLocationQuery, *params.OrganizationSubDomain); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + + queryURL.RawQuery = queryValues.Encode() + } + + req, err := http.NewRequest("GET", queryURL.String(), nil) if err != nil { return nil, err } - req.Header.Add("Content-Type", contentType) - return req, nil } -// NewGetOrganizationSshKeysRequest generates requests for GetOrganizationSshKeys -func NewGetOrganizationSshKeysRequest(server string, params *GetOrganizationSshKeysParams) (*http.Request, error) { +// NewGetOrganizationSecurityGroupsRequest generates requests for GetOrganizationSecurityGroups +func NewGetOrganizationSecurityGroupsRequest(server string, params *GetOrganizationSecurityGroupsParams) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -15736,7 +17132,7 @@ func NewGetOrganizationSshKeysRequest(server string, params *GetOrganizationSshK return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/ssh_keys") + operationPath := fmt.Sprintf("/organizations/:organization/security_groups") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15824,19 +17220,19 @@ func NewGetOrganizationSshKeysRequest(server string, params *GetOrganizationSshK return req, nil } -// NewPostOrganizationSshKeysRequest calls the generic PostOrganizationSshKeys builder with application/json body -func NewPostOrganizationSshKeysRequest(server string, body PostOrganizationSshKeysJSONRequestBody) (*http.Request, error) { +// NewPostOrganizationSecurityGroupsRequest calls the generic PostOrganizationSecurityGroups builder with application/json body +func NewPostOrganizationSecurityGroupsRequest(server string, body PostOrganizationSecurityGroupsJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader buf, err := json.Marshal(body) if err != nil { return nil, err } bodyReader = bytes.NewReader(buf) - return NewPostOrganizationSshKeysRequestWithBody(server, "application/json", bodyReader) + return NewPostOrganizationSecurityGroupsRequestWithBody(server, "application/json", bodyReader) } -// NewPostOrganizationSshKeysRequestWithBody generates requests for PostOrganizationSshKeys with any type of body -func NewPostOrganizationSshKeysRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { +// NewPostOrganizationSecurityGroupsRequestWithBody generates requests for PostOrganizationSecurityGroups with any type of body +func NewPostOrganizationSecurityGroupsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -15844,7 +17240,7 @@ func NewPostOrganizationSshKeysRequestWithBody(server string, contentType string return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/ssh_keys") + operationPath := fmt.Sprintf("/organizations/:organization/security_groups") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15864,8 +17260,8 @@ func NewPostOrganizationSshKeysRequestWithBody(server string, contentType string return req, nil } -// NewGetOrganizationTagsRequest generates requests for GetOrganizationTags -func NewGetOrganizationTagsRequest(server string, params *GetOrganizationTagsParams) (*http.Request, error) { +// NewGetOrganizationSshKeysRequest generates requests for GetOrganizationSshKeys +func NewGetOrganizationSshKeysRequest(server string, params *GetOrganizationSshKeysParams) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -15873,7 +17269,7 @@ func NewGetOrganizationTagsRequest(server string, params *GetOrganizationTagsPar return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/tags") + operationPath := fmt.Sprintf("/organizations/:organization/ssh_keys") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15961,19 +17357,19 @@ func NewGetOrganizationTagsRequest(server string, params *GetOrganizationTagsPar return req, nil } -// NewPostOrganizationTagsRequest calls the generic PostOrganizationTags builder with application/json body -func NewPostOrganizationTagsRequest(server string, body PostOrganizationTagsJSONRequestBody) (*http.Request, error) { +// NewPostOrganizationSshKeysRequest calls the generic PostOrganizationSshKeys builder with application/json body +func NewPostOrganizationSshKeysRequest(server string, body PostOrganizationSshKeysJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader buf, err := json.Marshal(body) if err != nil { return nil, err } bodyReader = bytes.NewReader(buf) - return NewPostOrganizationTagsRequestWithBody(server, "application/json", bodyReader) + return NewPostOrganizationSshKeysRequestWithBody(server, "application/json", bodyReader) } -// NewPostOrganizationTagsRequestWithBody generates requests for PostOrganizationTags with any type of body -func NewPostOrganizationTagsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { +// NewPostOrganizationSshKeysRequestWithBody generates requests for PostOrganizationSshKeys with any type of body +func NewPostOrganizationSshKeysRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -15981,7 +17377,7 @@ func NewPostOrganizationTagsRequestWithBody(server string, contentType string, b return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/tags") + operationPath := fmt.Sprintf("/organizations/:organization/ssh_keys") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -16001,8 +17397,8 @@ func NewPostOrganizationTagsRequestWithBody(server string, contentType string, b return req, nil } -// NewGetOrganizationTrashObjectsRequest generates requests for GetOrganizationTrashObjects -func NewGetOrganizationTrashObjectsRequest(server string, params *GetOrganizationTrashObjectsParams) (*http.Request, error) { +// NewGetOrganizationTagsRequest generates requests for GetOrganizationTags +func NewGetOrganizationTagsRequest(server string, params *GetOrganizationTagsParams) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -16010,7 +17406,7 @@ func NewGetOrganizationTrashObjectsRequest(server string, params *GetOrganizatio return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/trash_objects") + operationPath := fmt.Sprintf("/organizations/:organization/tags") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -16098,19 +17494,19 @@ func NewGetOrganizationTrashObjectsRequest(server string, params *GetOrganizatio return req, nil } -// NewPostOrganizationTrashObjectsPurgeAllRequest calls the generic PostOrganizationTrashObjectsPurgeAll builder with application/json body -func NewPostOrganizationTrashObjectsPurgeAllRequest(server string, body PostOrganizationTrashObjectsPurgeAllJSONRequestBody) (*http.Request, error) { +// NewPostOrganizationTagsRequest calls the generic PostOrganizationTags builder with application/json body +func NewPostOrganizationTagsRequest(server string, body PostOrganizationTagsJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader buf, err := json.Marshal(body) if err != nil { return nil, err } bodyReader = bytes.NewReader(buf) - return NewPostOrganizationTrashObjectsPurgeAllRequestWithBody(server, "application/json", bodyReader) + return NewPostOrganizationTagsRequestWithBody(server, "application/json", bodyReader) } -// NewPostOrganizationTrashObjectsPurgeAllRequestWithBody generates requests for PostOrganizationTrashObjectsPurgeAll with any type of body -func NewPostOrganizationTrashObjectsPurgeAllRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { +// NewPostOrganizationTagsRequestWithBody generates requests for PostOrganizationTags with any type of body +func NewPostOrganizationTagsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -16118,7 +17514,7 @@ func NewPostOrganizationTrashObjectsPurgeAllRequestWithBody(server string, conte return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/trash_objects/purge_all") + operationPath := fmt.Sprintf("/organizations/:organization/tags") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -16138,8 +17534,8 @@ func NewPostOrganizationTrashObjectsPurgeAllRequestWithBody(server string, conte return req, nil } -// NewGetOrganizationUsersWithAccessRequest generates requests for GetOrganizationUsersWithAccess -func NewGetOrganizationUsersWithAccessRequest(server string, params *GetOrganizationUsersWithAccessParams) (*http.Request, error) { +// NewGetOrganizationTrashObjectsRequest generates requests for GetOrganizationTrashObjects +func NewGetOrganizationTrashObjectsRequest(server string, params *GetOrganizationTrashObjectsParams) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -16147,7 +17543,7 @@ func NewGetOrganizationUsersWithAccessRequest(server string, params *GetOrganiza return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/users_with_access") + operationPath := fmt.Sprintf("/organizations/:organization/trash_objects") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -16235,84 +17631,19 @@ func NewGetOrganizationUsersWithAccessRequest(server string, params *GetOrganiza return req, nil } -// NewGetOrganizationVirtualMachineGroupsRequest generates requests for GetOrganizationVirtualMachineGroups -func NewGetOrganizationVirtualMachineGroupsRequest(server string, params *GetOrganizationVirtualMachineGroupsParams) (*http.Request, error) { - var err error - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/organizations/:organization/virtual_machine_groups") - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - if params != nil { - queryValues := queryURL.Query() - - if params.OrganizationId != nil { - - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "organization[id]", runtime.ParamLocationQuery, *params.OrganizationId); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { - return nil, err - } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } - } - } - - } - - if params.OrganizationSubDomain != nil { - - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "organization[sub_domain]", runtime.ParamLocationQuery, *params.OrganizationSubDomain); err != nil { - return nil, err - } else if parsed, err := url.ParseQuery(queryFrag); err != nil { - return nil, err - } else { - for k, v := range parsed { - for _, v2 := range v { - queryValues.Add(k, v2) - } - } - } - - } - - queryURL.RawQuery = queryValues.Encode() - } - - req, err := http.NewRequest("GET", queryURL.String(), nil) - if err != nil { - return nil, err - } - - return req, nil -} - -// NewPostOrganizationVirtualMachineGroupsRequest calls the generic PostOrganizationVirtualMachineGroups builder with application/json body -func NewPostOrganizationVirtualMachineGroupsRequest(server string, body PostOrganizationVirtualMachineGroupsJSONRequestBody) (*http.Request, error) { +// NewPostOrganizationTrashObjectsPurgeAllRequest calls the generic PostOrganizationTrashObjectsPurgeAll builder with application/json body +func NewPostOrganizationTrashObjectsPurgeAllRequest(server string, body PostOrganizationTrashObjectsPurgeAllJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader buf, err := json.Marshal(body) if err != nil { return nil, err } bodyReader = bytes.NewReader(buf) - return NewPostOrganizationVirtualMachineGroupsRequestWithBody(server, "application/json", bodyReader) + return NewPostOrganizationTrashObjectsPurgeAllRequestWithBody(server, "application/json", bodyReader) } -// NewPostOrganizationVirtualMachineGroupsRequestWithBody generates requests for PostOrganizationVirtualMachineGroups with any type of body -func NewPostOrganizationVirtualMachineGroupsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { +// NewPostOrganizationTrashObjectsPurgeAllRequestWithBody generates requests for PostOrganizationTrashObjectsPurgeAll with any type of body +func NewPostOrganizationTrashObjectsPurgeAllRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -16320,7 +17651,7 @@ func NewPostOrganizationVirtualMachineGroupsRequestWithBody(server string, conte return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/virtual_machine_groups") + operationPath := fmt.Sprintf("/organizations/:organization/trash_objects/purge_all") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -16340,8 +17671,8 @@ func NewPostOrganizationVirtualMachineGroupsRequestWithBody(server string, conte return req, nil } -// NewGetOrganizationVirtualMachinesRequest generates requests for GetOrganizationVirtualMachines -func NewGetOrganizationVirtualMachinesRequest(server string, params *GetOrganizationVirtualMachinesParams) (*http.Request, error) { +// NewGetOrganizationUsersWithAccessRequest generates requests for GetOrganizationUsersWithAccess +func NewGetOrganizationUsersWithAccessRequest(server string, params *GetOrganizationUsersWithAccessParams) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -16349,7 +17680,7 @@ func NewGetOrganizationVirtualMachinesRequest(server string, params *GetOrganiza return nil, err } - operationPath := fmt.Sprintf("/organizations/:organization/virtual_machines") + operationPath := fmt.Sprintf("/organizations/:organization/users_with_access") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -16437,99 +17768,8 @@ func NewGetOrganizationVirtualMachinesRequest(server string, params *GetOrganiza return req, nil } -// NewPostOrganizationVirtualMachinesBuildRequest calls the generic PostOrganizationVirtualMachinesBuild builder with application/json body -func NewPostOrganizationVirtualMachinesBuildRequest(server string, body PostOrganizationVirtualMachinesBuildJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewPostOrganizationVirtualMachinesBuildRequestWithBody(server, "application/json", bodyReader) -} - -// NewPostOrganizationVirtualMachinesBuildRequestWithBody generates requests for PostOrganizationVirtualMachinesBuild with any type of body -func NewPostOrganizationVirtualMachinesBuildRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { - var err error - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/organizations/:organization/virtual_machines/build") - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("POST", queryURL.String(), body) - if err != nil { - return nil, err - } - - req.Header.Add("Content-Type", contentType) - - return req, nil -} - -// NewPostOrganizationVirtualMachinesBuildFromSpecRequest calls the generic PostOrganizationVirtualMachinesBuildFromSpec builder with application/json body -func NewPostOrganizationVirtualMachinesBuildFromSpecRequest(server string, body PostOrganizationVirtualMachinesBuildFromSpecJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewPostOrganizationVirtualMachinesBuildFromSpecRequestWithBody(server, "application/json", bodyReader) -} - -// NewPostOrganizationVirtualMachinesBuildFromSpecRequestWithBody generates requests for PostOrganizationVirtualMachinesBuildFromSpec with any type of body -func NewPostOrganizationVirtualMachinesBuildFromSpecRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { - var err error - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } - - operationPath := fmt.Sprintf("/organizations/:organization/virtual_machines/build_from_spec") - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } - - req, err := http.NewRequest("POST", queryURL.String(), body) - if err != nil { - return nil, err - } - - req.Header.Add("Content-Type", contentType) - - return req, nil -} - -// NewDeleteSecurityGroupRequest calls the generic DeleteSecurityGroup builder with application/json body -func NewDeleteSecurityGroupRequest(server string, body DeleteSecurityGroupJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewDeleteSecurityGroupRequestWithBody(server, "application/json", bodyReader) -} - -// NewDeleteSecurityGroupRequestWithBody generates requests for DeleteSecurityGroup with any type of body -func NewDeleteSecurityGroupRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { +// NewGetOrganizationVirtualMachineGroupsRequest generates requests for GetOrganizationVirtualMachineGroups +func NewGetOrganizationVirtualMachineGroupsRequest(server string, params *GetOrganizationVirtualMachineGroupsParams) (*http.Request, error) { var err error serverURL, err := url.Parse(server) @@ -16537,7 +17777,7 @@ func NewDeleteSecurityGroupRequestWithBody(server string, contentType string, bo return nil, err } - operationPath := fmt.Sprintf("/security_groups/:security_group") + operationPath := fmt.Sprintf("/organizations/:organization/virtual_machine_groups") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -16547,41 +17787,334 @@ func NewDeleteSecurityGroupRequestWithBody(server string, contentType string, bo return nil, err } - req, err := http.NewRequest("DELETE", queryURL.String(), body) - if err != nil { - return nil, err - } - - req.Header.Add("Content-Type", contentType) - - return req, nil -} - -// NewGetSecurityGroupRequest generates requests for GetSecurityGroup -func NewGetSecurityGroupRequest(server string, params *GetSecurityGroupParams) (*http.Request, error) { - var err error - - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } + if params != nil { + queryValues := queryURL.Query() - operationPath := fmt.Sprintf("/security_groups/:security_group") - if operationPath[0] == '/' { - operationPath = "." + operationPath - } + if params.OrganizationId != nil { - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "organization[id]", runtime.ParamLocationQuery, *params.OrganizationId); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } - if params != nil { - queryValues := queryURL.Query() + } - if params.SecurityGroupId != nil { + if params.OrganizationSubDomain != nil { - if queryFrag, err := runtime.StyleParamWithLocation("form", true, "security_group[id]", runtime.ParamLocationQuery, *params.SecurityGroupId); err != nil { + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "organization[sub_domain]", runtime.ParamLocationQuery, *params.OrganizationSubDomain); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + + queryURL.RawQuery = queryValues.Encode() + } + + req, err := http.NewRequest("GET", queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + +// NewPostOrganizationVirtualMachineGroupsRequest calls the generic PostOrganizationVirtualMachineGroups builder with application/json body +func NewPostOrganizationVirtualMachineGroupsRequest(server string, body PostOrganizationVirtualMachineGroupsJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewPostOrganizationVirtualMachineGroupsRequestWithBody(server, "application/json", bodyReader) +} + +// NewPostOrganizationVirtualMachineGroupsRequestWithBody generates requests for PostOrganizationVirtualMachineGroups with any type of body +func NewPostOrganizationVirtualMachineGroupsRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/organizations/:organization/virtual_machine_groups") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("POST", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewGetOrganizationVirtualMachinesRequest generates requests for GetOrganizationVirtualMachines +func NewGetOrganizationVirtualMachinesRequest(server string, params *GetOrganizationVirtualMachinesParams) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/organizations/:organization/virtual_machines") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + if params != nil { + queryValues := queryURL.Query() + + if params.OrganizationId != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "organization[id]", runtime.ParamLocationQuery, *params.OrganizationId); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + + if params.OrganizationSubDomain != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "organization[sub_domain]", runtime.ParamLocationQuery, *params.OrganizationSubDomain); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + + if params.Page != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "page", runtime.ParamLocationQuery, *params.Page); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + + if params.PerPage != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "per_page", runtime.ParamLocationQuery, *params.PerPage); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + + queryURL.RawQuery = queryValues.Encode() + } + + req, err := http.NewRequest("GET", queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + +// NewPostOrganizationVirtualMachinesBuildRequest calls the generic PostOrganizationVirtualMachinesBuild builder with application/json body +func NewPostOrganizationVirtualMachinesBuildRequest(server string, body PostOrganizationVirtualMachinesBuildJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewPostOrganizationVirtualMachinesBuildRequestWithBody(server, "application/json", bodyReader) +} + +// NewPostOrganizationVirtualMachinesBuildRequestWithBody generates requests for PostOrganizationVirtualMachinesBuild with any type of body +func NewPostOrganizationVirtualMachinesBuildRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/organizations/:organization/virtual_machines/build") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("POST", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewPostOrganizationVirtualMachinesBuildFromSpecRequest calls the generic PostOrganizationVirtualMachinesBuildFromSpec builder with application/json body +func NewPostOrganizationVirtualMachinesBuildFromSpecRequest(server string, body PostOrganizationVirtualMachinesBuildFromSpecJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewPostOrganizationVirtualMachinesBuildFromSpecRequestWithBody(server, "application/json", bodyReader) +} + +// NewPostOrganizationVirtualMachinesBuildFromSpecRequestWithBody generates requests for PostOrganizationVirtualMachinesBuildFromSpec with any type of body +func NewPostOrganizationVirtualMachinesBuildFromSpecRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/organizations/:organization/virtual_machines/build_from_spec") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("POST", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewDeleteSecurityGroupRequest calls the generic DeleteSecurityGroup builder with application/json body +func NewDeleteSecurityGroupRequest(server string, body DeleteSecurityGroupJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewDeleteSecurityGroupRequestWithBody(server, "application/json", bodyReader) +} + +// NewDeleteSecurityGroupRequestWithBody generates requests for DeleteSecurityGroup with any type of body +func NewDeleteSecurityGroupRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/security_groups/:security_group") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("DELETE", queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewGetSecurityGroupRequest generates requests for GetSecurityGroup +func NewGetSecurityGroupRequest(server string, params *GetSecurityGroupParams) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/security_groups/:security_group") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + if params != nil { + queryValues := queryURL.Query() + + if params.SecurityGroupId != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "security_group[id]", runtime.ParamLocationQuery, *params.SecurityGroupId); err != nil { return nil, err } else if parsed, err := url.ParseQuery(queryFrag); err != nil { return nil, err @@ -19025,9 +20558,34 @@ type ClientWithResponsesInterface interface { // GetDiskTemplateVersionsWithResponse request GetDiskTemplateVersionsWithResponse(ctx context.Context, params *GetDiskTemplateVersionsParams, reqEditors ...RequestEditorFn) (*GetDiskTemplateVersionsResponse, error) + // DeleteDiskWithBodyWithResponse request with any body + DeleteDiskWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*DeleteDiskResponse, error) + + DeleteDiskWithResponse(ctx context.Context, body DeleteDiskJSONRequestBody, reqEditors ...RequestEditorFn) (*DeleteDiskResponse, error) + // GetDiskWithResponse request GetDiskWithResponse(ctx context.Context, params *GetDiskParams, reqEditors ...RequestEditorFn) (*GetDiskResponse, error) + // PatchDiskWithBodyWithResponse request with any body + PatchDiskWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PatchDiskResponse, error) + + PatchDiskWithResponse(ctx context.Context, body PatchDiskJSONRequestBody, reqEditors ...RequestEditorFn) (*PatchDiskResponse, error) + + // PostDiskAssignWithBodyWithResponse request with any body + PostDiskAssignWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostDiskAssignResponse, error) + + PostDiskAssignWithResponse(ctx context.Context, body PostDiskAssignJSONRequestBody, reqEditors ...RequestEditorFn) (*PostDiskAssignResponse, error) + + // PostDiskAttachWithBodyWithResponse request with any body + PostDiskAttachWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostDiskAttachResponse, error) + + PostDiskAttachWithResponse(ctx context.Context, body PostDiskAttachJSONRequestBody, reqEditors ...RequestEditorFn) (*PostDiskAttachResponse, error) + + // PostDiskDetachWithBodyWithResponse request with any body + PostDiskDetachWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostDiskDetachResponse, error) + + PostDiskDetachWithResponse(ctx context.Context, body PostDiskDetachJSONRequestBody, reqEditors ...RequestEditorFn) (*PostDiskDetachResponse, error) + // GetDiskDiskBackupPoliciesWithResponse request GetDiskDiskBackupPoliciesWithResponse(ctx context.Context, params *GetDiskDiskBackupPoliciesParams, reqEditors ...RequestEditorFn) (*GetDiskDiskBackupPoliciesResponse, error) @@ -19036,6 +20594,21 @@ type ClientWithResponsesInterface interface { PostDiskDiskBackupPoliciesWithResponse(ctx context.Context, body PostDiskDiskBackupPoliciesJSONRequestBody, reqEditors ...RequestEditorFn) (*PostDiskDiskBackupPoliciesResponse, error) + // PutDiskIoProfileWithBodyWithResponse request with any body + PutDiskIoProfileWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PutDiskIoProfileResponse, error) + + PutDiskIoProfileWithResponse(ctx context.Context, body PutDiskIoProfileJSONRequestBody, reqEditors ...RequestEditorFn) (*PutDiskIoProfileResponse, error) + + // PutDiskResizeWithBodyWithResponse request with any body + PutDiskResizeWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PutDiskResizeResponse, error) + + PutDiskResizeWithResponse(ctx context.Context, body PutDiskResizeJSONRequestBody, reqEditors ...RequestEditorFn) (*PutDiskResizeResponse, error) + + // PostDiskUnassignWithBodyWithResponse request with any body + PostDiskUnassignWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostDiskUnassignResponse, error) + + PostDiskUnassignWithResponse(ctx context.Context, body PostDiskUnassignJSONRequestBody, reqEditors ...RequestEditorFn) (*PostDiskUnassignResponse, error) + // DeleteDnsRecordWithBodyWithResponse request with any body DeleteDnsRecordWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*DeleteDnsRecordResponse, error) @@ -19183,12 +20756,20 @@ type ClientWithResponsesInterface interface { // GetOrganizationDiskBackupPoliciesWithResponse request GetOrganizationDiskBackupPoliciesWithResponse(ctx context.Context, params *GetOrganizationDiskBackupPoliciesParams, reqEditors ...RequestEditorFn) (*GetOrganizationDiskBackupPoliciesResponse, error) + // GetOrganizationDiskIoProfilesWithResponse request + GetOrganizationDiskIoProfilesWithResponse(ctx context.Context, params *GetOrganizationDiskIoProfilesParams, reqEditors ...RequestEditorFn) (*GetOrganizationDiskIoProfilesResponse, error) + // GetOrganizationDiskTemplatesWithResponse request GetOrganizationDiskTemplatesWithResponse(ctx context.Context, params *GetOrganizationDiskTemplatesParams, reqEditors ...RequestEditorFn) (*GetOrganizationDiskTemplatesResponse, error) // GetOrganizationDisksWithResponse request GetOrganizationDisksWithResponse(ctx context.Context, params *GetOrganizationDisksParams, reqEditors ...RequestEditorFn) (*GetOrganizationDisksResponse, error) + // PostOrganizationDisksWithBodyWithResponse request with any body + PostOrganizationDisksWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostOrganizationDisksResponse, error) + + PostOrganizationDisksWithResponse(ctx context.Context, body PostOrganizationDisksJSONRequestBody, reqEditors ...RequestEditorFn) (*PostOrganizationDisksResponse, error) + // GetOrganizationDnsZonesWithResponse request GetOrganizationDnsZonesWithResponse(ctx context.Context, params *GetOrganizationDnsZonesParams, reqEditors ...RequestEditorFn) (*GetOrganizationDnsZonesResponse, error) @@ -20311,6 +21892,38 @@ func (r GetDiskTemplateVersionsResponse) StatusCode() int { return 0 } +type DeleteDiskResponse struct { + Body []byte + HTTPResponse *http.Response + JSON200 *struct { + // Disk The disk that has been move to the trash. + Disk DeleteDisk200ResponseDisk `json:"disk"` + TrashObject TrashObject `json:"trash_object"` + } + JSON400 *APIAuthenticator400Response + JSON403 *PermissionDenied403Res + JSON404 *DiskNotFoundResponse + JSON406 *ObjectInTrashResponse + JSON422 *ValidationErrorResponse + JSON429 *APIAuthenticator429Response +} + +// Status returns HTTPResponse.Status +func (r DeleteDiskResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r DeleteDiskResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + type GetDiskResponse struct { Body []byte HTTPResponse *http.Response @@ -20321,6 +21934,7 @@ type GetDiskResponse struct { JSON400 *APIAuthenticator400Response JSON403 *APIAuthenticator403Response JSON404 *DiskNotFoundResponse + JSON406 *ObjectInTrashResponse JSON429 *APIAuthenticator429Response } @@ -20340,6 +21954,132 @@ func (r GetDiskResponse) StatusCode() int { return 0 } +type PatchDiskResponse struct { + Body []byte + HTTPResponse *http.Response + JSON200 *struct { + // Disk The disk that has been updated. + Disk PatchDisk200ResponseDisk `json:"disk"` + } + JSON400 *APIAuthenticator400Response + JSON403 *PermissionDenied403Res + JSON404 *DiskNotFoundResponse + JSON406 *ObjectInTrashResponse + JSON422 *UnassignedDiskValidationError422Res + JSON429 *APIAuthenticator429Response +} + +// Status returns HTTPResponse.Status +func (r PatchDiskResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r PatchDiskResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type PostDiskAssignResponse struct { + Body []byte + HTTPResponse *http.Response + JSON200 *struct { + // Disk The disk that has been assigned to a virtual machine. + Disk PostDiskAssign200ResponseDisk `json:"disk"` + } + JSON400 *APIAuthenticator400Response + JSON403 *PermissionDenied403Res + JSON404 *DiskNotFoundVirtualMachineNotFound404Res + JSON406 *ObjectInTrashResponse + JSON422 *UnableToAssignResponse + JSON429 *APIAuthenticator429Response +} + +// Status returns HTTPResponse.Status +func (r PostDiskAssignResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r PostDiskAssignResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type PostDiskAttachResponse struct { + Body []byte + HTTPResponse *http.Response + JSON200 *struct { + // Disk The disk that will be attached to its virtual machine. + Disk PostDiskAttach200ResponseDisk `json:"disk"` + Task Task `json:"task"` + } + JSON400 *APIAuthenticator400Response + JSON403 *PermissionDenied403Res + JSON404 *DiskNotFoundResponse + JSON406 *ObjectInTrashTaskQueueingError406Res + JSON422 *UnassignedDiskResponse + JSON429 *APIAuthenticator429Response +} + +// Status returns HTTPResponse.Status +func (r PostDiskAttachResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r PostDiskAttachResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type PostDiskDetachResponse struct { + Body []byte + HTTPResponse *http.Response + JSON200 *struct { + // Disk The disk that will be detached from its virtual machine. + Disk PostDiskDetach200ResponseDisk `json:"disk"` + Task Task `json:"task"` + } + JSON400 *APIAuthenticator400Response + JSON403 *PermissionDenied403Res + JSON404 *DiskNotFoundResponse + JSON406 *ObjectInTrashTaskQueueingError406Res + JSON422 *UnassignedDiskResponse + JSON429 *APIAuthenticator429Response +} + +// Status returns HTTPResponse.Status +func (r PostDiskDetachResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r PostDiskDetachResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + type GetDiskDiskBackupPoliciesResponse struct { Body []byte HTTPResponse *http.Response @@ -20351,6 +22091,7 @@ type GetDiskDiskBackupPoliciesResponse struct { JSON400 *APIAuthenticator400Response JSON403 *PermissionDenied403Res JSON404 *DiskNotFoundResponse + JSON406 *ObjectInTrashResponse JSON429 *APIAuthenticator429Response } @@ -20380,6 +22121,7 @@ type PostDiskDiskBackupPoliciesResponse struct { JSON400 *APIAuthenticator400Response JSON403 *PermissionDenied403Res JSON404 *DiskNotFoundResponse + JSON406 *ObjectInTrashResponse JSON422 *ValidationErrorResponse JSON429 *APIAuthenticator429Response } @@ -20400,6 +22142,100 @@ func (r PostDiskDiskBackupPoliciesResponse) StatusCode() int { return 0 } +type PutDiskIoProfileResponse struct { + Body []byte + HTTPResponse *http.Response + JSON200 *struct { + // Disk The disk that has been updated. + Disk PutDiskIOProfile200ResponseDisk `json:"disk"` + Task Task `json:"task"` + } + JSON400 *APIAuthenticator400Response + JSON403 *PermissionDenied403Res + JSON404 *DiskIOProfileNotFoundDiskNotFound404Res + JSON406 *ObjectInTrashTaskQueueingError406Res + JSON429 *APIAuthenticator429Response +} + +// Status returns HTTPResponse.Status +func (r PutDiskIoProfileResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r PutDiskIoProfileResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type PutDiskResizeResponse struct { + Body []byte + HTTPResponse *http.Response + JSON200 *struct { + // Disk The disk that has been resized. + Disk PutDiskResize200ResponseDisk `json:"disk"` + Task Task `json:"task"` + } + JSON400 *APIAuthenticator400Response + JSON403 *PermissionDenied403Res + JSON404 *DiskNotFoundResponse + JSON406 *ObjectInTrashTaskQueueingError406Res + JSON422 *ValidationErrorResponse + JSON429 *APIAuthenticator429Response +} + +// Status returns HTTPResponse.Status +func (r PutDiskResizeResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r PutDiskResizeResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +type PostDiskUnassignResponse struct { + Body []byte + HTTPResponse *http.Response + JSON200 *struct { + // Disk The disk that has been unassigned from a virtual machine. + Disk PostDiskUnassign200ResponseDisk `json:"disk"` + } + JSON400 *APIAuthenticator400Response + JSON403 *PermissionDenied403Res + JSON404 *DiskNotFoundResponse + JSON406 *ObjectInTrashResponse + JSON422 *UnableToUnassignResponse + JSON429 *APIAuthenticator429Response +} + +// Status returns HTTPResponse.Status +func (r PostDiskUnassignResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r PostDiskUnassignResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + type DeleteDnsRecordResponse struct { Body []byte HTTPResponse *http.Response @@ -21483,6 +23319,36 @@ func (r GetOrganizationDiskBackupPoliciesResponse) StatusCode() int { return 0 } +type GetOrganizationDiskIoProfilesResponse struct { + Body []byte + HTTPResponse *http.Response + JSON200 *struct { + // DiskIoProfiles The list of disk IO profiles + DiskIoProfiles []DiskIOProfile `json:"disk_io_profiles"` + Pagination PaginationObject `json:"pagination"` + } + JSON400 *APIAuthenticator400Response + JSON403 *OrganizationNotActivatedOrganizationSuspended403Res + JSON404 *OrganizationNotFoundResponse + JSON429 *APIAuthenticator429Response +} + +// Status returns HTTPResponse.Status +func (r GetOrganizationDiskIoProfilesResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r GetOrganizationDiskIoProfilesResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + type GetOrganizationDiskTemplatesResponse struct { Body []byte HTTPResponse *http.Response @@ -21543,6 +23409,38 @@ func (r GetOrganizationDisksResponse) StatusCode() int { return 0 } +type PostOrganizationDisksResponse struct { + Body []byte + HTTPResponse *http.Response + JSON201 *struct { + // Disk The disk that has been created. + Disk PostOrganizationDisks201ResponseDisk `json:"disk"` + Task Task `json:"task"` + } + JSON400 *APIAuthenticator400Response + JSON403 *OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res + JSON404 *OrganizationNotFoundResponse + JSON406 *TaskQueueingErrorResponse + JSON422 *ValidationErrorResponse + JSON429 *APIAuthenticator429Response +} + +// Status returns HTTPResponse.Status +func (r PostOrganizationDisksResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r PostOrganizationDisksResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + type GetOrganizationDnsZonesResponse struct { Body []byte HTTPResponse *http.Response @@ -24557,6 +26455,51 @@ func (c *ClientWithResponses) GetDiskTemplateVersionsWithResponse(ctx context.Co return res, nil } +// DeleteDiskWithBodyWithResponse request with arbitrary body returning *DeleteDiskResponse +func (c *ClientWithResponses) DeleteDiskWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*DeleteDiskResponse, error) { + rsp, err := c.DeleteDiskWithBody(ctx, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParseDeleteDiskResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + +func (c *ClientWithResponses) DeleteDiskWithResponse(ctx context.Context, body DeleteDiskJSONRequestBody, reqEditors ...RequestEditorFn) (*DeleteDiskResponse, error) { + rsp, err := c.DeleteDisk(ctx, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParseDeleteDiskResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + // GetDiskWithResponse request returning *GetDiskResponse func (c *ClientWithResponses) GetDiskWithResponse(ctx context.Context, params *GetDiskParams, reqEditors ...RequestEditorFn) (*GetDiskResponse, error) { rsp, err := c.GetDisk(ctx, params, reqEditors...) @@ -24580,6 +26523,186 @@ func (c *ClientWithResponses) GetDiskWithResponse(ctx context.Context, params *G return res, nil } +// PatchDiskWithBodyWithResponse request with arbitrary body returning *PatchDiskResponse +func (c *ClientWithResponses) PatchDiskWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PatchDiskResponse, error) { + rsp, err := c.PatchDiskWithBody(ctx, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParsePatchDiskResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + +func (c *ClientWithResponses) PatchDiskWithResponse(ctx context.Context, body PatchDiskJSONRequestBody, reqEditors ...RequestEditorFn) (*PatchDiskResponse, error) { + rsp, err := c.PatchDisk(ctx, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParsePatchDiskResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + +// PostDiskAssignWithBodyWithResponse request with arbitrary body returning *PostDiskAssignResponse +func (c *ClientWithResponses) PostDiskAssignWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostDiskAssignResponse, error) { + rsp, err := c.PostDiskAssignWithBody(ctx, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParsePostDiskAssignResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + +func (c *ClientWithResponses) PostDiskAssignWithResponse(ctx context.Context, body PostDiskAssignJSONRequestBody, reqEditors ...RequestEditorFn) (*PostDiskAssignResponse, error) { + rsp, err := c.PostDiskAssign(ctx, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParsePostDiskAssignResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + +// PostDiskAttachWithBodyWithResponse request with arbitrary body returning *PostDiskAttachResponse +func (c *ClientWithResponses) PostDiskAttachWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostDiskAttachResponse, error) { + rsp, err := c.PostDiskAttachWithBody(ctx, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParsePostDiskAttachResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + +func (c *ClientWithResponses) PostDiskAttachWithResponse(ctx context.Context, body PostDiskAttachJSONRequestBody, reqEditors ...RequestEditorFn) (*PostDiskAttachResponse, error) { + rsp, err := c.PostDiskAttach(ctx, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParsePostDiskAttachResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + +// PostDiskDetachWithBodyWithResponse request with arbitrary body returning *PostDiskDetachResponse +func (c *ClientWithResponses) PostDiskDetachWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostDiskDetachResponse, error) { + rsp, err := c.PostDiskDetachWithBody(ctx, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParsePostDiskDetachResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + +func (c *ClientWithResponses) PostDiskDetachWithResponse(ctx context.Context, body PostDiskDetachJSONRequestBody, reqEditors ...RequestEditorFn) (*PostDiskDetachResponse, error) { + rsp, err := c.PostDiskDetach(ctx, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParsePostDiskDetachResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + // GetDiskDiskBackupPoliciesWithResponse request returning *GetDiskDiskBackupPoliciesResponse func (c *ClientWithResponses) GetDiskDiskBackupPoliciesWithResponse(ctx context.Context, params *GetDiskDiskBackupPoliciesParams, reqEditors ...RequestEditorFn) (*GetDiskDiskBackupPoliciesResponse, error) { rsp, err := c.GetDiskDiskBackupPolicies(ctx, params, reqEditors...) @@ -24648,6 +26771,141 @@ func (c *ClientWithResponses) PostDiskDiskBackupPoliciesWithResponse(ctx context return res, nil } +// PutDiskIoProfileWithBodyWithResponse request with arbitrary body returning *PutDiskIoProfileResponse +func (c *ClientWithResponses) PutDiskIoProfileWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PutDiskIoProfileResponse, error) { + rsp, err := c.PutDiskIoProfileWithBody(ctx, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParsePutDiskIoProfileResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + +func (c *ClientWithResponses) PutDiskIoProfileWithResponse(ctx context.Context, body PutDiskIoProfileJSONRequestBody, reqEditors ...RequestEditorFn) (*PutDiskIoProfileResponse, error) { + rsp, err := c.PutDiskIoProfile(ctx, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParsePutDiskIoProfileResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + +// PutDiskResizeWithBodyWithResponse request with arbitrary body returning *PutDiskResizeResponse +func (c *ClientWithResponses) PutDiskResizeWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PutDiskResizeResponse, error) { + rsp, err := c.PutDiskResizeWithBody(ctx, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParsePutDiskResizeResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + +func (c *ClientWithResponses) PutDiskResizeWithResponse(ctx context.Context, body PutDiskResizeJSONRequestBody, reqEditors ...RequestEditorFn) (*PutDiskResizeResponse, error) { + rsp, err := c.PutDiskResize(ctx, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParsePutDiskResizeResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + +// PostDiskUnassignWithBodyWithResponse request with arbitrary body returning *PostDiskUnassignResponse +func (c *ClientWithResponses) PostDiskUnassignWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostDiskUnassignResponse, error) { + rsp, err := c.PostDiskUnassignWithBody(ctx, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParsePostDiskUnassignResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + +func (c *ClientWithResponses) PostDiskUnassignWithResponse(ctx context.Context, body PostDiskUnassignJSONRequestBody, reqEditors ...RequestEditorFn) (*PostDiskUnassignResponse, error) { + rsp, err := c.PostDiskUnassign(ctx, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParsePostDiskUnassignResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + // DeleteDnsRecordWithBodyWithResponse request with arbitrary body returning *DeleteDnsRecordResponse func (c *ClientWithResponses) DeleteDnsRecordWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*DeleteDnsRecordResponse, error) { rsp, err := c.DeleteDnsRecordWithBody(ctx, contentType, body, reqEditors...) @@ -25895,6 +28153,29 @@ func (c *ClientWithResponses) GetOrganizationDiskBackupPoliciesWithResponse(ctx return res, nil } +// GetOrganizationDiskIoProfilesWithResponse request returning *GetOrganizationDiskIoProfilesResponse +func (c *ClientWithResponses) GetOrganizationDiskIoProfilesWithResponse(ctx context.Context, params *GetOrganizationDiskIoProfilesParams, reqEditors ...RequestEditorFn) (*GetOrganizationDiskIoProfilesResponse, error) { + rsp, err := c.GetOrganizationDiskIoProfiles(ctx, params, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParseGetOrganizationDiskIoProfilesResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + // GetOrganizationDiskTemplatesWithResponse request returning *GetOrganizationDiskTemplatesResponse func (c *ClientWithResponses) GetOrganizationDiskTemplatesWithResponse(ctx context.Context, params *GetOrganizationDiskTemplatesParams, reqEditors ...RequestEditorFn) (*GetOrganizationDiskTemplatesResponse, error) { rsp, err := c.GetOrganizationDiskTemplates(ctx, params, reqEditors...) @@ -25941,6 +28222,51 @@ func (c *ClientWithResponses) GetOrganizationDisksWithResponse(ctx context.Conte return res, nil } +// PostOrganizationDisksWithBodyWithResponse request with arbitrary body returning *PostOrganizationDisksResponse +func (c *ClientWithResponses) PostOrganizationDisksWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostOrganizationDisksResponse, error) { + rsp, err := c.PostOrganizationDisksWithBody(ctx, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParsePostOrganizationDisksResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + +func (c *ClientWithResponses) PostOrganizationDisksWithResponse(ctx context.Context, body PostOrganizationDisksJSONRequestBody, reqEditors ...RequestEditorFn) (*PostOrganizationDisksResponse, error) { + rsp, err := c.PostOrganizationDisks(ctx, body, reqEditors...) + if err != nil { + return nil, err + } + + res, err := ParsePostOrganizationDisksResponse(rsp) + if err != nil { + return nil, err + } + + if rsp.StatusCode == http.StatusNotFound { + return res, ErrNotFound + } + + if rsp.StatusCode < 200 || rsp.StatusCode >= 300 { + return res, ErrRequestFailed + } + + return res, nil +} + // GetOrganizationDnsZonesWithResponse request returning *GetOrganizationDnsZonesResponse func (c *ClientWithResponses) GetOrganizationDnsZonesWithResponse(ctx context.Context, params *GetOrganizationDnsZonesParams, reqEditors ...RequestEditorFn) (*GetOrganizationDnsZonesResponse, error) { rsp, err := c.GetOrganizationDnsZones(ctx, params, reqEditors...) @@ -28518,12 +30844,362 @@ func ParseDeleteAddressListEntryResponse(rsp *http.Response) (*DeleteAddressList response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest AddressListEntryNotFoundResponse + var dest AddressListEntryNotFoundResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: + var dest APIAuthenticator429Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON429 = &dest + + } + + return response, nil +} + +// ParseGetAddressListEntryResponse parses an HTTP response from a GetAddressListEntryWithResponse call +func ParseGetAddressListEntryResponse(rsp *http.Response) (*GetAddressListEntryResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &GetAddressListEntryResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest struct { + // AddressListEntry The address list entry. + AddressListEntry AddressListEntry `json:"address_list_entry"` + } + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest APIAuthenticator400Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: + var dest APIAuthenticator403Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON403 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest AddressListEntryNotFoundResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: + var dest APIAuthenticator429Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON429 = &dest + + } + + return response, nil +} + +// ParsePatchAddressListEntryResponse parses an HTTP response from a PatchAddressListEntryWithResponse call +func ParsePatchAddressListEntryResponse(rsp *http.Response) (*PatchAddressListEntryResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &PatchAddressListEntryResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest struct { + // AddressListEntry The address list entry. + AddressListEntry AddressListEntry `json:"address_list_entry"` + } + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest APIAuthenticator400Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: + var dest PermissionDenied403Res + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON403 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest AddressListEntryNotFoundResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 422: + var dest ValidationErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON422 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: + var dest APIAuthenticator429Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON429 = &dest + + } + + return response, nil +} + +// ParseGetAddressListsResponse parses an HTTP response from a GetAddressListsWithResponse call +func ParseGetAddressListsResponse(rsp *http.Response) (*GetAddressListsResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &GetAddressListsResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest struct { + // AddressLists A list of all global address lists. + AddressLists []GetAddressLists200ResponseAddressLists `json:"address_lists"` + Pagination PaginationObject `json:"pagination"` + } + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest APIAuthenticator400Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: + var dest APIAuthenticator403Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON403 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: + var dest APIAuthenticator429Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON429 = &dest + + } + + return response, nil +} + +// ParseDeleteAddressListResponse parses an HTTP response from a DeleteAddressListWithResponse call +func ParseDeleteAddressListResponse(rsp *http.Response) (*DeleteAddressListResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &DeleteAddressListResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest struct { + // AddressList The address list that has been destroyed. + AddressList AddressList `json:"address_list"` + } + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest APIAuthenticator400Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: + var dest PermissionDenied403Res + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON403 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest AddressListNotFoundResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: + var dest APIAuthenticator429Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON429 = &dest + + } + + return response, nil +} + +// ParseGetAddressListResponse parses an HTTP response from a GetAddressListWithResponse call +func ParseGetAddressListResponse(rsp *http.Response) (*GetAddressListResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &GetAddressListResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest struct { + // AddressList The address list. + AddressList AddressList `json:"address_list"` + } + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest APIAuthenticator400Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: + var dest APIAuthenticator403Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON403 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest AddressListNotFoundResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: + var dest APIAuthenticator429Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON429 = &dest + + } + + return response, nil +} + +// ParsePatchAddressListResponse parses an HTTP response from a PatchAddressListWithResponse call +func ParsePatchAddressListResponse(rsp *http.Response) (*PatchAddressListResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &PatchAddressListResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest struct { + // AddressList The address list. + AddressList AddressList `json:"address_list"` + } + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest APIAuthenticator400Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: + var dest PermissionDenied403Res + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON403 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest AddressListNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON404 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 422: + var dest ValidationErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON422 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -28536,15 +31212,15 @@ func ParseDeleteAddressListEntryResponse(rsp *http.Response) (*DeleteAddressList return response, nil } -// ParseGetAddressListEntryResponse parses an HTTP response from a GetAddressListEntryWithResponse call -func ParseGetAddressListEntryResponse(rsp *http.Response) (*GetAddressListEntryResponse, error) { +// ParseGetAddressListEntriesResponse parses an HTTP response from a GetAddressListEntriesWithResponse call +func ParseGetAddressListEntriesResponse(rsp *http.Response) (*GetAddressListEntriesResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetAddressListEntryResponse{ + response := &GetAddressListEntriesResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -28552,8 +31228,9 @@ func ParseGetAddressListEntryResponse(rsp *http.Response) (*GetAddressListEntryR switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // AddressListEntry The address list entry. - AddressListEntry AddressListEntry `json:"address_list_entry"` + // AddressListEntries A list of all address list entries for the given address list. + AddressListEntries []AddressListEntry `json:"address_list_entries"` + Pagination PaginationObject `json:"pagination"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -28568,14 +31245,14 @@ func ParseGetAddressListEntryResponse(rsp *http.Response) (*GetAddressListEntryR response.JSON400 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest APIAuthenticator403Response + var dest PermissionDenied403Res if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest AddressListEntryNotFoundResponse + var dest AddressListNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -28593,21 +31270,21 @@ func ParseGetAddressListEntryResponse(rsp *http.Response) (*GetAddressListEntryR return response, nil } -// ParsePatchAddressListEntryResponse parses an HTTP response from a PatchAddressListEntryWithResponse call -func ParsePatchAddressListEntryResponse(rsp *http.Response) (*PatchAddressListEntryResponse, error) { +// ParsePostAddressListEntriesResponse parses an HTTP response from a PostAddressListEntriesWithResponse call +func ParsePostAddressListEntriesResponse(rsp *http.Response) (*PostAddressListEntriesResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &PatchAddressListEntryResponse{ + response := &PostAddressListEntriesResponse{ Body: bodyBytes, HTTPResponse: rsp, } switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 201: var dest struct { // AddressListEntry The address list entry. AddressListEntry AddressListEntry `json:"address_list_entry"` @@ -28615,7 +31292,7 @@ func ParsePatchAddressListEntryResponse(rsp *http.Response) (*PatchAddressListEn if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } - response.JSON200 = &dest + response.JSON201 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: var dest APIAuthenticator400Response @@ -28632,7 +31309,7 @@ func ParsePatchAddressListEntryResponse(rsp *http.Response) (*PatchAddressListEn response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest AddressListEntryNotFoundResponse + var dest AddressListNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -28657,15 +31334,15 @@ func ParsePatchAddressListEntryResponse(rsp *http.Response) (*PatchAddressListEn return response, nil } -// ParseGetAddressListsResponse parses an HTTP response from a GetAddressListsWithResponse call -func ParseGetAddressListsResponse(rsp *http.Response) (*GetAddressListsResponse, error) { +// ParseGetCertificateResponse parses an HTTP response from a GetCertificateWithResponse call +func ParseGetCertificateResponse(rsp *http.Response) (*GetCertificateResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetAddressListsResponse{ + response := &GetCertificateResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -28673,9 +31350,7 @@ func ParseGetAddressListsResponse(rsp *http.Response) (*GetAddressListsResponse, switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // AddressLists A list of all global address lists. - AddressLists []GetAddressLists200ResponseAddressLists `json:"address_lists"` - Pagination PaginationObject `json:"pagination"` + Certificate []Certificate `json:"certificate"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -28696,6 +31371,20 @@ func ParseGetAddressListsResponse(rsp *http.Response) (*GetAddressListsResponse, } response.JSON403 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest CertificateNotFoundResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: + var dest ObjectInTrashResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON406 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -28708,15 +31397,15 @@ func ParseGetAddressListsResponse(rsp *http.Response) (*GetAddressListsResponse, return response, nil } -// ParseDeleteAddressListResponse parses an HTTP response from a DeleteAddressListWithResponse call -func ParseDeleteAddressListResponse(rsp *http.Response) (*DeleteAddressListResponse, error) { +// ParseGetCountriesResponse parses an HTTP response from a GetCountriesWithResponse call +func ParseGetCountriesResponse(rsp *http.Response) (*GetCountriesResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &DeleteAddressListResponse{ + response := &GetCountriesResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -28724,8 +31413,9 @@ func ParseDeleteAddressListResponse(rsp *http.Response) (*DeleteAddressListRespo switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // AddressList The address list that has been destroyed. - AddressList AddressList `json:"address_list"` + // Countries The list of countries + Countries []GetCountries200ResponseCountries `json:"countries"` + Pagination PaginationObject `json:"pagination"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -28740,19 +31430,12 @@ func ParseDeleteAddressListResponse(rsp *http.Response) (*DeleteAddressListRespo response.JSON400 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest PermissionDenied403Res + var dest APIAuthenticator403Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON403 = &dest - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest AddressListNotFoundResponse - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON404 = &dest - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -28765,15 +31448,15 @@ func ParseDeleteAddressListResponse(rsp *http.Response) (*DeleteAddressListRespo return response, nil } -// ParseGetAddressListResponse parses an HTTP response from a GetAddressListWithResponse call -func ParseGetAddressListResponse(rsp *http.Response) (*GetAddressListResponse, error) { +// ParseGetCountryResponse parses an HTTP response from a GetCountryWithResponse call +func ParseGetCountryResponse(rsp *http.Response) (*GetCountryResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetAddressListResponse{ + response := &GetCountryResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -28781,8 +31464,8 @@ func ParseGetAddressListResponse(rsp *http.Response) (*GetAddressListResponse, e switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // AddressList The address list. - AddressList AddressList `json:"address_list"` + // Country The country details + Country Country `json:"country"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -28804,7 +31487,7 @@ func ParseGetAddressListResponse(rsp *http.Response) (*GetAddressListResponse, e response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest AddressListNotFoundResponse + var dest CountryNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -28822,15 +31505,15 @@ func ParseGetAddressListResponse(rsp *http.Response) (*GetAddressListResponse, e return response, nil } -// ParsePatchAddressListResponse parses an HTTP response from a PatchAddressListWithResponse call -func ParsePatchAddressListResponse(rsp *http.Response) (*PatchAddressListResponse, error) { +// ParseGetCountryCountryStatesResponse parses an HTTP response from a GetCountryCountryStatesWithResponse call +func ParseGetCountryCountryStatesResponse(rsp *http.Response) (*GetCountryCountryStatesResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &PatchAddressListResponse{ + response := &GetCountryCountryStatesResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -28838,8 +31521,9 @@ func ParsePatchAddressListResponse(rsp *http.Response) (*PatchAddressListRespons switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // AddressList The address list. - AddressList AddressList `json:"address_list"` + // CountryStates The list of country states for the given country + CountryStates []GetCountryCountryStates200ResponseCountryStates `json:"country_states"` + Pagination PaginationObject `json:"pagination"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -28854,26 +31538,19 @@ func ParsePatchAddressListResponse(rsp *http.Response) (*PatchAddressListRespons response.JSON400 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest PermissionDenied403Res + var dest APIAuthenticator403Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest AddressListNotFoundResponse + var dest CountryNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON404 = &dest - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 422: - var dest ValidationErrorResponse - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON422 = &dest - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -28886,15 +31563,15 @@ func ParsePatchAddressListResponse(rsp *http.Response) (*PatchAddressListRespons return response, nil } -// ParseGetAddressListEntriesResponse parses an HTTP response from a GetAddressListEntriesWithResponse call -func ParseGetAddressListEntriesResponse(rsp *http.Response) (*GetAddressListEntriesResponse, error) { +// ParseGetCountryStateResponse parses an HTTP response from a GetCountryStateWithResponse call +func ParseGetCountryStateResponse(rsp *http.Response) (*GetCountryStateResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetAddressListEntriesResponse{ + response := &GetCountryStateResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -28902,9 +31579,8 @@ func ParseGetAddressListEntriesResponse(rsp *http.Response) (*GetAddressListEntr switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // AddressListEntries A list of all address list entries for the given address list. - AddressListEntries []AddressListEntry `json:"address_list_entries"` - Pagination PaginationObject `json:"pagination"` + // CountryState The country state details + CountryState CountryState `json:"country_state"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -28919,14 +31595,14 @@ func ParseGetAddressListEntriesResponse(rsp *http.Response) (*GetAddressListEntr response.JSON400 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest PermissionDenied403Res + var dest APIAuthenticator403Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest AddressListNotFoundResponse + var dest CountryStateNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -28944,29 +31620,30 @@ func ParseGetAddressListEntriesResponse(rsp *http.Response) (*GetAddressListEntr return response, nil } -// ParsePostAddressListEntriesResponse parses an HTTP response from a PostAddressListEntriesWithResponse call -func ParsePostAddressListEntriesResponse(rsp *http.Response) (*PostAddressListEntriesResponse, error) { +// ParseGetCurrenciesResponse parses an HTTP response from a GetCurrenciesWithResponse call +func ParseGetCurrenciesResponse(rsp *http.Response) (*GetCurrenciesResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &PostAddressListEntriesResponse{ + response := &GetCurrenciesResponse{ Body: bodyBytes, HTTPResponse: rsp, } switch { - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 201: + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // AddressListEntry The address list entry. - AddressListEntry AddressListEntry `json:"address_list_entry"` + // Currencies The list of currencies + Currencies []GetCurrencies200ResponseCurrencies `json:"currencies"` + Pagination PaginationObject `json:"pagination"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } - response.JSON201 = &dest + response.JSON200 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: var dest APIAuthenticator400Response @@ -28976,26 +31653,12 @@ func ParsePostAddressListEntriesResponse(rsp *http.Response) (*PostAddressListEn response.JSON400 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest PermissionDenied403Res + var dest APIAuthenticator403Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON403 = &dest - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest AddressListNotFoundResponse - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON404 = &dest - - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 422: - var dest ValidationErrorResponse - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON422 = &dest - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -29008,15 +31671,15 @@ func ParsePostAddressListEntriesResponse(rsp *http.Response) (*PostAddressListEn return response, nil } -// ParseGetCertificateResponse parses an HTTP response from a GetCertificateWithResponse call -func ParseGetCertificateResponse(rsp *http.Response) (*GetCertificateResponse, error) { +// ParseGetCurrencyResponse parses an HTTP response from a GetCurrencyWithResponse call +func ParseGetCurrencyResponse(rsp *http.Response) (*GetCurrencyResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetCertificateResponse{ + response := &GetCurrencyResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -29024,7 +31687,8 @@ func ParseGetCertificateResponse(rsp *http.Response) (*GetCertificateResponse, e switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - Certificate []Certificate `json:"certificate"` + // Currency The currency details + Currency Currency `json:"currency"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -29046,19 +31710,12 @@ func ParseGetCertificateResponse(rsp *http.Response) (*GetCertificateResponse, e response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest CertificateNotFoundResponse + var dest CurrencyNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON404 = &dest - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: - var dest ObjectInTrashResponse - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON406 = &dest - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -29071,15 +31728,15 @@ func ParseGetCertificateResponse(rsp *http.Response) (*GetCertificateResponse, e return response, nil } -// ParseGetCountriesResponse parses an HTTP response from a GetCountriesWithResponse call -func ParseGetCountriesResponse(rsp *http.Response) (*GetCountriesResponse, error) { +// ParseGetDataCentersResponse parses an HTTP response from a GetDataCentersWithResponse call +func ParseGetDataCentersResponse(rsp *http.Response) (*GetDataCentersResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetCountriesResponse{ + response := &GetDataCentersResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -29087,9 +31744,7 @@ func ParseGetCountriesResponse(rsp *http.Response) (*GetCountriesResponse, error switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // Countries The list of countries - Countries []GetCountries200ResponseCountries `json:"countries"` - Pagination PaginationObject `json:"pagination"` + DataCenters []GetDataCenters200ResponseDataCenters `json:"data_centers"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -29122,15 +31777,15 @@ func ParseGetCountriesResponse(rsp *http.Response) (*GetCountriesResponse, error return response, nil } -// ParseGetCountryResponse parses an HTTP response from a GetCountryWithResponse call -func ParseGetCountryResponse(rsp *http.Response) (*GetCountryResponse, error) { +// ParseGetDataCenterResponse parses an HTTP response from a GetDataCenterWithResponse call +func ParseGetDataCenterResponse(rsp *http.Response) (*GetDataCenterResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetCountryResponse{ + response := &GetDataCenterResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -29138,8 +31793,7 @@ func ParseGetCountryResponse(rsp *http.Response) (*GetCountryResponse, error) { switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // Country The country details - Country Country `json:"country"` + DataCenter GetDataCenter200ResponseDataCenter `json:"data_center"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -29161,7 +31815,7 @@ func ParseGetCountryResponse(rsp *http.Response) (*GetCountryResponse, error) { response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest CountryNotFoundResponse + var dest DataCenterNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -29179,15 +31833,15 @@ func ParseGetCountryResponse(rsp *http.Response) (*GetCountryResponse, error) { return response, nil } -// ParseGetCountryCountryStatesResponse parses an HTTP response from a GetCountryCountryStatesWithResponse call -func ParseGetCountryCountryStatesResponse(rsp *http.Response) (*GetCountryCountryStatesResponse, error) { +// ParseGetDataCenterDefaultNetworkResponse parses an HTTP response from a GetDataCenterDefaultNetworkWithResponse call +func ParseGetDataCenterDefaultNetworkResponse(rsp *http.Response) (*GetDataCenterDefaultNetworkResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetCountryCountryStatesResponse{ + response := &GetDataCenterDefaultNetworkResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -29195,9 +31849,8 @@ func ParseGetCountryCountryStatesResponse(rsp *http.Response) (*GetCountryCountr switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // CountryStates The list of country states for the given country - CountryStates []GetCountryCountryStates200ResponseCountryStates `json:"country_states"` - Pagination PaginationObject `json:"pagination"` + // Network The details for the requested network + Network GetDataCenterDefaultNetwork200ResponseNetwork `json:"network"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -29219,7 +31872,7 @@ func ParseGetCountryCountryStatesResponse(rsp *http.Response) (*GetCountryCountr response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest CountryNotFoundResponse + var dest DataCenterNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -29237,15 +31890,15 @@ func ParseGetCountryCountryStatesResponse(rsp *http.Response) (*GetCountryCountr return response, nil } -// ParseGetCountryStateResponse parses an HTTP response from a GetCountryStateWithResponse call -func ParseGetCountryStateResponse(rsp *http.Response) (*GetCountryStateResponse, error) { +// ParseGetDataCenterGpuTypesResponse parses an HTTP response from a GetDataCenterGpuTypesWithResponse call +func ParseGetDataCenterGpuTypesResponse(rsp *http.Response) (*GetDataCenterGpuTypesResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetCountryStateResponse{ + response := &GetDataCenterGpuTypesResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -29253,8 +31906,8 @@ func ParseGetCountryStateResponse(rsp *http.Response) (*GetCountryStateResponse, switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // CountryState The country state details - CountryState CountryState `json:"country_state"` + GpuTypes []GetDataCenterGPUTypes200ResponseGPUTypes `json:"gpu_types"` + Pagination PaginationObject `json:"pagination"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -29276,7 +31929,7 @@ func ParseGetCountryStateResponse(rsp *http.Response) (*GetCountryStateResponse, response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest CountryStateNotFoundResponse + var dest DataCenterNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -29294,15 +31947,15 @@ func ParseGetCountryStateResponse(rsp *http.Response) (*GetCountryStateResponse, return response, nil } -// ParseGetCurrenciesResponse parses an HTTP response from a GetCurrenciesWithResponse call -func ParseGetCurrenciesResponse(rsp *http.Response) (*GetCurrenciesResponse, error) { +// ParseDeleteDiskBackupPolicyResponse parses an HTTP response from a DeleteDiskBackupPolicyWithResponse call +func ParseDeleteDiskBackupPolicyResponse(rsp *http.Response) (*DeleteDiskBackupPolicyResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetCurrenciesResponse{ + response := &DeleteDiskBackupPolicyResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -29310,9 +31963,8 @@ func ParseGetCurrenciesResponse(rsp *http.Response) (*GetCurrenciesResponse, err switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // Currencies The list of currencies - Currencies []GetCurrencies200ResponseCurrencies `json:"currencies"` - Pagination PaginationObject `json:"pagination"` + // DiskBackupPolicy The disk backup policy that has been destroyed + DiskBackupPolicy DeleteDiskBackupPolicy200ResponseDiskBackupPolicy `json:"disk_backup_policy"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -29327,12 +31979,26 @@ func ParseGetCurrenciesResponse(rsp *http.Response) (*GetCurrenciesResponse, err response.JSON400 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest APIAuthenticator403Response + var dest PermissionDenied403Res if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON403 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest DiskBackupPolicyNotFoundResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: + var dest ObjectInTrashResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON406 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -29345,15 +32011,15 @@ func ParseGetCurrenciesResponse(rsp *http.Response) (*GetCurrenciesResponse, err return response, nil } -// ParseGetCurrencyResponse parses an HTTP response from a GetCurrencyWithResponse call -func ParseGetCurrencyResponse(rsp *http.Response) (*GetCurrencyResponse, error) { +// ParseGetDiskBackupPolicyResponse parses an HTTP response from a GetDiskBackupPolicyWithResponse call +func ParseGetDiskBackupPolicyResponse(rsp *http.Response) (*GetDiskBackupPolicyResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetCurrencyResponse{ + response := &GetDiskBackupPolicyResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -29361,8 +32027,8 @@ func ParseGetCurrencyResponse(rsp *http.Response) (*GetCurrencyResponse, error) switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // Currency The currency details - Currency Currency `json:"currency"` + // DiskBackupPolicy The located disk backup policy + DiskBackupPolicy GetDiskBackupPolicy200ResponseDiskBackupPolicy `json:"disk_backup_policy"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -29384,12 +32050,19 @@ func ParseGetCurrencyResponse(rsp *http.Response) (*GetCurrencyResponse, error) response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest CurrencyNotFoundResponse + var dest DiskBackupPolicyNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON404 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: + var dest ObjectInTrashResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON406 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -29402,15 +32075,15 @@ func ParseGetCurrencyResponse(rsp *http.Response) (*GetCurrencyResponse, error) return response, nil } -// ParseGetDataCentersResponse parses an HTTP response from a GetDataCentersWithResponse call -func ParseGetDataCentersResponse(rsp *http.Response) (*GetDataCentersResponse, error) { +// ParsePatchDiskBackupPolicyResponse parses an HTTP response from a PatchDiskBackupPolicyWithResponse call +func ParsePatchDiskBackupPolicyResponse(rsp *http.Response) (*PatchDiskBackupPolicyResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetDataCentersResponse{ + response := &PatchDiskBackupPolicyResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -29418,7 +32091,8 @@ func ParseGetDataCentersResponse(rsp *http.Response) (*GetDataCentersResponse, e switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - DataCenters []GetDataCenters200ResponseDataCenters `json:"data_centers"` + // DiskBackupPolicy The disk backup policy that has been updated + DiskBackupPolicy PatchDiskBackupPolicy200ResponseDiskBackupPolicy `json:"disk_backup_policy"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -29433,12 +32107,33 @@ func ParseGetDataCentersResponse(rsp *http.Response) (*GetDataCentersResponse, e response.JSON400 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest APIAuthenticator403Response + var dest PermissionDenied403Res if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON403 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest DiskBackupPolicyNotFoundResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: + var dest ObjectInTrashResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON406 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 422: + var dest ValidationErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON422 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -29451,15 +32146,15 @@ func ParseGetDataCentersResponse(rsp *http.Response) (*GetDataCentersResponse, e return response, nil } -// ParseGetDataCenterResponse parses an HTTP response from a GetDataCenterWithResponse call -func ParseGetDataCenterResponse(rsp *http.Response) (*GetDataCenterResponse, error) { +// ParseDeleteDiskBackupPolicyScheduleResponse parses an HTTP response from a DeleteDiskBackupPolicyScheduleWithResponse call +func ParseDeleteDiskBackupPolicyScheduleResponse(rsp *http.Response) (*DeleteDiskBackupPolicyScheduleResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetDataCenterResponse{ + response := &DeleteDiskBackupPolicyScheduleResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -29467,7 +32162,8 @@ func ParseGetDataCenterResponse(rsp *http.Response) (*GetDataCenterResponse, err switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - DataCenter GetDataCenter200ResponseDataCenter `json:"data_center"` + // DiskBackupPolicy The disk backup policy that has been scheduled for deletion + DiskBackupPolicy DeleteDiskBackupPolicySchedule200ResponseDiskBackupPolicy `json:"disk_backup_policy"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -29475,26 +32171,33 @@ func ParseGetDataCenterResponse(rsp *http.Response) (*GetDataCenterResponse, err response.JSON200 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: - var dest APIAuthenticator400Response + var dest InvalidTimestamp400Res if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON400 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest APIAuthenticator403Response + var dest PermissionDenied403Res if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest DataCenterNotFoundResponse + var dest DiskBackupPolicyNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON404 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: + var dest ObjectInTrashResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON406 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -29507,15 +32210,15 @@ func ParseGetDataCenterResponse(rsp *http.Response) (*GetDataCenterResponse, err return response, nil } -// ParseGetDataCenterDefaultNetworkResponse parses an HTTP response from a GetDataCenterDefaultNetworkWithResponse call -func ParseGetDataCenterDefaultNetworkResponse(rsp *http.Response) (*GetDataCenterDefaultNetworkResponse, error) { +// ParseGetDiskTemplateVersionResponse parses an HTTP response from a GetDiskTemplateVersionWithResponse call +func ParseGetDiskTemplateVersionResponse(rsp *http.Response) (*GetDiskTemplateVersionResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetDataCenterDefaultNetworkResponse{ + response := &GetDiskTemplateVersionResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -29523,8 +32226,8 @@ func ParseGetDataCenterDefaultNetworkResponse(rsp *http.Response) (*GetDataCente switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // Network The details for the requested network - Network GetDataCenterDefaultNetwork200ResponseNetwork `json:"network"` + // DiskTemplateVersion The disk template version details + DiskTemplateVersion GetDiskTemplateVersion200ResponseDiskTemplateVersion `json:"disk_template_version"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -29546,7 +32249,7 @@ func ParseGetDataCenterDefaultNetworkResponse(rsp *http.Response) (*GetDataCente response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest DataCenterNotFoundResponse + var dest DiskTemplateVersionNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -29564,15 +32267,15 @@ func ParseGetDataCenterDefaultNetworkResponse(rsp *http.Response) (*GetDataCente return response, nil } -// ParseGetDataCenterGpuTypesResponse parses an HTTP response from a GetDataCenterGpuTypesWithResponse call -func ParseGetDataCenterGpuTypesResponse(rsp *http.Response) (*GetDataCenterGpuTypesResponse, error) { +// ParseGetDiskTemplateVersionSpecResponse parses an HTTP response from a GetDiskTemplateVersionSpecWithResponse call +func ParseGetDiskTemplateVersionSpecResponse(rsp *http.Response) (*GetDiskTemplateVersionSpecResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetDataCenterGpuTypesResponse{ + response := &GetDiskTemplateVersionSpecResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -29580,8 +32283,9 @@ func ParseGetDataCenterGpuTypesResponse(rsp *http.Response) (*GetDataCenterGpuTy switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - GpuTypes []GetDataCenterGPUTypes200ResponseGPUTypes `json:"gpu_types"` - Pagination PaginationObject `json:"pagination"` + // DiskTemplateVersion The disk template version details + DiskTemplateVersion GetDiskTemplateVersionSpec200ResponseDiskTemplateVersion `json:"disk_template_version"` + Spec TemplateSpec `json:"spec"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -29603,7 +32307,7 @@ func ParseGetDataCenterGpuTypesResponse(rsp *http.Response) (*GetDataCenterGpuTy response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest DataCenterNotFoundResponse + var dest DiskTemplateVersionNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -29621,15 +32325,15 @@ func ParseGetDataCenterGpuTypesResponse(rsp *http.Response) (*GetDataCenterGpuTy return response, nil } -// ParseDeleteDiskBackupPolicyResponse parses an HTTP response from a DeleteDiskBackupPolicyWithResponse call -func ParseDeleteDiskBackupPolicyResponse(rsp *http.Response) (*DeleteDiskBackupPolicyResponse, error) { +// ParseGetDiskTemplateResponse parses an HTTP response from a GetDiskTemplateWithResponse call +func ParseGetDiskTemplateResponse(rsp *http.Response) (*GetDiskTemplateResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &DeleteDiskBackupPolicyResponse{ + response := &GetDiskTemplateResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -29637,8 +32341,8 @@ func ParseDeleteDiskBackupPolicyResponse(rsp *http.Response) (*DeleteDiskBackupP switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // DiskBackupPolicy The disk backup policy that has been destroyed - DiskBackupPolicy DeleteDiskBackupPolicy200ResponseDiskBackupPolicy `json:"disk_backup_policy"` + // DiskTemplate The disk template details + DiskTemplate GetDiskTemplate200ResponseDiskTemplate `json:"disk_template"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -29653,26 +32357,19 @@ func ParseDeleteDiskBackupPolicyResponse(rsp *http.Response) (*DeleteDiskBackupP response.JSON400 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest PermissionDenied403Res + var dest APIAuthenticator403Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest DiskBackupPolicyNotFoundResponse + var dest DiskTemplateNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON404 = &dest - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: - var dest ObjectInTrashResponse - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON406 = &dest - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -29685,15 +32382,15 @@ func ParseDeleteDiskBackupPolicyResponse(rsp *http.Response) (*DeleteDiskBackupP return response, nil } -// ParseGetDiskBackupPolicyResponse parses an HTTP response from a GetDiskBackupPolicyWithResponse call -func ParseGetDiskBackupPolicyResponse(rsp *http.Response) (*GetDiskBackupPolicyResponse, error) { +// ParseGetDiskTemplateVersionsResponse parses an HTTP response from a GetDiskTemplateVersionsWithResponse call +func ParseGetDiskTemplateVersionsResponse(rsp *http.Response) (*GetDiskTemplateVersionsResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetDiskBackupPolicyResponse{ + response := &GetDiskTemplateVersionsResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -29701,8 +32398,11 @@ func ParseGetDiskBackupPolicyResponse(rsp *http.Response) (*GetDiskBackupPolicyR switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // DiskBackupPolicy The located disk backup policy - DiskBackupPolicy GetDiskBackupPolicy200ResponseDiskBackupPolicy `json:"disk_backup_policy"` + DiskTemplate GetDiskTemplateVersions200ResponseDiskTemplate `json:"disk_template"` + + // DiskTemplateVersions The disk template versions for the provided template + DiskTemplateVersions []GetDiskTemplateVersions200ResponseDiskTemplateVersions `json:"disk_template_versions"` + Pagination PaginationObject `json:"pagination"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -29724,19 +32424,12 @@ func ParseGetDiskBackupPolicyResponse(rsp *http.Response) (*GetDiskBackupPolicyR response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest DiskBackupPolicyNotFoundResponse + var dest DiskTemplateNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON404 = &dest - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: - var dest ObjectInTrashResponse - if err := json.Unmarshal(bodyBytes, &dest); err != nil { - return nil, err - } - response.JSON406 = &dest - case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -29749,15 +32442,15 @@ func ParseGetDiskBackupPolicyResponse(rsp *http.Response) (*GetDiskBackupPolicyR return response, nil } -// ParsePatchDiskBackupPolicyResponse parses an HTTP response from a PatchDiskBackupPolicyWithResponse call -func ParsePatchDiskBackupPolicyResponse(rsp *http.Response) (*PatchDiskBackupPolicyResponse, error) { +// ParseDeleteDiskResponse parses an HTTP response from a DeleteDiskWithResponse call +func ParseDeleteDiskResponse(rsp *http.Response) (*DeleteDiskResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &PatchDiskBackupPolicyResponse{ + response := &DeleteDiskResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -29765,8 +32458,9 @@ func ParsePatchDiskBackupPolicyResponse(rsp *http.Response) (*PatchDiskBackupPol switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // DiskBackupPolicy The disk backup policy that has been updated - DiskBackupPolicy PatchDiskBackupPolicy200ResponseDiskBackupPolicy `json:"disk_backup_policy"` + // Disk The disk that has been move to the trash. + Disk DeleteDisk200ResponseDisk `json:"disk"` + TrashObject TrashObject `json:"trash_object"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -29788,7 +32482,7 @@ func ParsePatchDiskBackupPolicyResponse(rsp *http.Response) (*PatchDiskBackupPol response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest DiskBackupPolicyNotFoundResponse + var dest DiskNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -29820,15 +32514,15 @@ func ParsePatchDiskBackupPolicyResponse(rsp *http.Response) (*PatchDiskBackupPol return response, nil } -// ParseDeleteDiskBackupPolicyScheduleResponse parses an HTTP response from a DeleteDiskBackupPolicyScheduleWithResponse call -func ParseDeleteDiskBackupPolicyScheduleResponse(rsp *http.Response) (*DeleteDiskBackupPolicyScheduleResponse, error) { +// ParseGetDiskResponse parses an HTTP response from a GetDiskWithResponse call +func ParseGetDiskResponse(rsp *http.Response) (*GetDiskResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &DeleteDiskBackupPolicyScheduleResponse{ + response := &GetDiskResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -29836,8 +32530,8 @@ func ParseDeleteDiskBackupPolicyScheduleResponse(rsp *http.Response) (*DeleteDis switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // DiskBackupPolicy The disk backup policy that has been scheduled for deletion - DiskBackupPolicy DeleteDiskBackupPolicySchedule200ResponseDiskBackupPolicy `json:"disk_backup_policy"` + // Disk The disk details + Disk GetDisk200ResponseDisk `json:"disk"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -29845,21 +32539,21 @@ func ParseDeleteDiskBackupPolicyScheduleResponse(rsp *http.Response) (*DeleteDis response.JSON200 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: - var dest InvalidTimestamp400Res + var dest APIAuthenticator400Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON400 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest PermissionDenied403Res + var dest APIAuthenticator403Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest DiskBackupPolicyNotFoundResponse + var dest DiskNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -29884,15 +32578,15 @@ func ParseDeleteDiskBackupPolicyScheduleResponse(rsp *http.Response) (*DeleteDis return response, nil } -// ParseGetDiskTemplateVersionResponse parses an HTTP response from a GetDiskTemplateVersionWithResponse call -func ParseGetDiskTemplateVersionResponse(rsp *http.Response) (*GetDiskTemplateVersionResponse, error) { +// ParsePatchDiskResponse parses an HTTP response from a PatchDiskWithResponse call +func ParsePatchDiskResponse(rsp *http.Response) (*PatchDiskResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetDiskTemplateVersionResponse{ + response := &PatchDiskResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -29900,8 +32594,8 @@ func ParseGetDiskTemplateVersionResponse(rsp *http.Response) (*GetDiskTemplateVe switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // DiskTemplateVersion The disk template version details - DiskTemplateVersion GetDiskTemplateVersion200ResponseDiskTemplateVersion `json:"disk_template_version"` + // Disk The disk that has been updated. + Disk PatchDisk200ResponseDisk `json:"disk"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -29916,19 +32610,33 @@ func ParseGetDiskTemplateVersionResponse(rsp *http.Response) (*GetDiskTemplateVe response.JSON400 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest APIAuthenticator403Response + var dest PermissionDenied403Res if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest DiskTemplateVersionNotFoundResponse + var dest DiskNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON404 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: + var dest ObjectInTrashResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON406 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 422: + var dest UnassignedDiskValidationError422Res + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON422 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -29941,15 +32649,15 @@ func ParseGetDiskTemplateVersionResponse(rsp *http.Response) (*GetDiskTemplateVe return response, nil } -// ParseGetDiskTemplateVersionSpecResponse parses an HTTP response from a GetDiskTemplateVersionSpecWithResponse call -func ParseGetDiskTemplateVersionSpecResponse(rsp *http.Response) (*GetDiskTemplateVersionSpecResponse, error) { +// ParsePostDiskAssignResponse parses an HTTP response from a PostDiskAssignWithResponse call +func ParsePostDiskAssignResponse(rsp *http.Response) (*PostDiskAssignResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetDiskTemplateVersionSpecResponse{ + response := &PostDiskAssignResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -29957,9 +32665,8 @@ func ParseGetDiskTemplateVersionSpecResponse(rsp *http.Response) (*GetDiskTempla switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // DiskTemplateVersion The disk template version details - DiskTemplateVersion GetDiskTemplateVersionSpec200ResponseDiskTemplateVersion `json:"disk_template_version"` - Spec TemplateSpec `json:"spec"` + // Disk The disk that has been assigned to a virtual machine. + Disk PostDiskAssign200ResponseDisk `json:"disk"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -29974,19 +32681,33 @@ func ParseGetDiskTemplateVersionSpecResponse(rsp *http.Response) (*GetDiskTempla response.JSON400 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest APIAuthenticator403Response + var dest PermissionDenied403Res if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest DiskTemplateVersionNotFoundResponse + var dest DiskNotFoundVirtualMachineNotFound404Res if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON404 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: + var dest ObjectInTrashResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON406 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 422: + var dest UnableToAssignResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON422 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -29999,15 +32720,15 @@ func ParseGetDiskTemplateVersionSpecResponse(rsp *http.Response) (*GetDiskTempla return response, nil } -// ParseGetDiskTemplateResponse parses an HTTP response from a GetDiskTemplateWithResponse call -func ParseGetDiskTemplateResponse(rsp *http.Response) (*GetDiskTemplateResponse, error) { +// ParsePostDiskAttachResponse parses an HTTP response from a PostDiskAttachWithResponse call +func ParsePostDiskAttachResponse(rsp *http.Response) (*PostDiskAttachResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetDiskTemplateResponse{ + response := &PostDiskAttachResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -30015,8 +32736,9 @@ func ParseGetDiskTemplateResponse(rsp *http.Response) (*GetDiskTemplateResponse, switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // DiskTemplate The disk template details - DiskTemplate GetDiskTemplate200ResponseDiskTemplate `json:"disk_template"` + // Disk The disk that will be attached to its virtual machine. + Disk PostDiskAttach200ResponseDisk `json:"disk"` + Task Task `json:"task"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -30031,19 +32753,33 @@ func ParseGetDiskTemplateResponse(rsp *http.Response) (*GetDiskTemplateResponse, response.JSON400 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest APIAuthenticator403Response + var dest PermissionDenied403Res if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest DiskTemplateNotFoundResponse + var dest DiskNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON404 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: + var dest ObjectInTrashTaskQueueingError406Res + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON406 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 422: + var dest UnassignedDiskResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON422 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -30056,15 +32792,15 @@ func ParseGetDiskTemplateResponse(rsp *http.Response) (*GetDiskTemplateResponse, return response, nil } -// ParseGetDiskTemplateVersionsResponse parses an HTTP response from a GetDiskTemplateVersionsWithResponse call -func ParseGetDiskTemplateVersionsResponse(rsp *http.Response) (*GetDiskTemplateVersionsResponse, error) { +// ParsePostDiskDetachResponse parses an HTTP response from a PostDiskDetachWithResponse call +func ParsePostDiskDetachResponse(rsp *http.Response) (*PostDiskDetachResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetDiskTemplateVersionsResponse{ + response := &PostDiskDetachResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -30072,11 +32808,9 @@ func ParseGetDiskTemplateVersionsResponse(rsp *http.Response) (*GetDiskTemplateV switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - DiskTemplate GetDiskTemplateVersions200ResponseDiskTemplate `json:"disk_template"` - - // DiskTemplateVersions The disk template versions for the provided template - DiskTemplateVersions []GetDiskTemplateVersions200ResponseDiskTemplateVersions `json:"disk_template_versions"` - Pagination PaginationObject `json:"pagination"` + // Disk The disk that will be detached from its virtual machine. + Disk PostDiskDetach200ResponseDisk `json:"disk"` + Task Task `json:"task"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -30091,19 +32825,33 @@ func ParseGetDiskTemplateVersionsResponse(rsp *http.Response) (*GetDiskTemplateV response.JSON400 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest APIAuthenticator403Response + var dest PermissionDenied403Res if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON403 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: - var dest DiskTemplateNotFoundResponse + var dest DiskNotFoundResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } response.JSON404 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: + var dest ObjectInTrashTaskQueueingError406Res + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON406 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 422: + var dest UnassignedDiskResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON422 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -30116,15 +32864,15 @@ func ParseGetDiskTemplateVersionsResponse(rsp *http.Response) (*GetDiskTemplateV return response, nil } -// ParseGetDiskResponse parses an HTTP response from a GetDiskWithResponse call -func ParseGetDiskResponse(rsp *http.Response) (*GetDiskResponse, error) { +// ParseGetDiskDiskBackupPoliciesResponse parses an HTTP response from a GetDiskDiskBackupPoliciesWithResponse call +func ParseGetDiskDiskBackupPoliciesResponse(rsp *http.Response) (*GetDiskDiskBackupPoliciesResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetDiskResponse{ + response := &GetDiskDiskBackupPoliciesResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -30132,8 +32880,9 @@ func ParseGetDiskResponse(rsp *http.Response) (*GetDiskResponse, error) { switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // Disk The disk details - Disk GetDisk200ResponseDisk `json:"disk"` + // DiskBackupPolicies The disk backup policies for the provided disk + DiskBackupPolicies []GetDiskDiskBackupPolicies200ResponseDiskBackupPolicies `json:"disk_backup_policies"` + Pagination PaginationObject `json:"pagination"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -30148,7 +32897,7 @@ func ParseGetDiskResponse(rsp *http.Response) (*GetDiskResponse, error) { response.JSON400 = &dest case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: - var dest APIAuthenticator403Response + var dest PermissionDenied403Res if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -30161,6 +32910,13 @@ func ParseGetDiskResponse(rsp *http.Response) (*GetDiskResponse, error) { } response.JSON404 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: + var dest ObjectInTrashResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON406 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -30173,15 +32929,15 @@ func ParseGetDiskResponse(rsp *http.Response) (*GetDiskResponse, error) { return response, nil } -// ParseGetDiskDiskBackupPoliciesResponse parses an HTTP response from a GetDiskDiskBackupPoliciesWithResponse call -func ParseGetDiskDiskBackupPoliciesResponse(rsp *http.Response) (*GetDiskDiskBackupPoliciesResponse, error) { +// ParsePostDiskDiskBackupPoliciesResponse parses an HTTP response from a PostDiskDiskBackupPoliciesWithResponse call +func ParsePostDiskDiskBackupPoliciesResponse(rsp *http.Response) (*PostDiskDiskBackupPoliciesResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &GetDiskDiskBackupPoliciesResponse{ + response := &PostDiskDiskBackupPoliciesResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -30189,9 +32945,8 @@ func ParseGetDiskDiskBackupPoliciesResponse(rsp *http.Response) (*GetDiskDiskBac switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // DiskBackupPolicies The disk backup policies for the provided disk - DiskBackupPolicies []GetDiskDiskBackupPolicies200ResponseDiskBackupPolicies `json:"disk_backup_policies"` - Pagination PaginationObject `json:"pagination"` + // DiskBackupPolicy The new disk backup policy that has been created + DiskBackupPolicy PostDiskDiskBackupPolicies200ResponseDiskBackupPolicy `json:"disk_backup_policy"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -30219,6 +32974,20 @@ func ParseGetDiskDiskBackupPoliciesResponse(rsp *http.Response) (*GetDiskDiskBac } response.JSON404 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: + var dest ObjectInTrashResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON406 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 422: + var dest ValidationErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON422 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: var dest APIAuthenticator429Response if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -30231,15 +33000,15 @@ func ParseGetDiskDiskBackupPoliciesResponse(rsp *http.Response) (*GetDiskDiskBac return response, nil } -// ParsePostDiskDiskBackupPoliciesResponse parses an HTTP response from a PostDiskDiskBackupPoliciesWithResponse call -func ParsePostDiskDiskBackupPoliciesResponse(rsp *http.Response) (*PostDiskDiskBackupPoliciesResponse, error) { +// ParsePutDiskIoProfileResponse parses an HTTP response from a PutDiskIoProfileWithResponse call +func ParsePutDiskIoProfileResponse(rsp *http.Response) (*PutDiskIoProfileResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &PostDiskDiskBackupPoliciesResponse{ + response := &PutDiskIoProfileResponse{ Body: bodyBytes, HTTPResponse: rsp, } @@ -30247,8 +33016,74 @@ func ParsePostDiskDiskBackupPoliciesResponse(rsp *http.Response) (*PostDiskDiskB switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: var dest struct { - // DiskBackupPolicy The new disk backup policy that has been created - DiskBackupPolicy PostDiskDiskBackupPolicies200ResponseDiskBackupPolicy `json:"disk_backup_policy"` + // Disk The disk that has been updated. + Disk PutDiskIOProfile200ResponseDisk `json:"disk"` + Task Task `json:"task"` + } + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest APIAuthenticator400Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: + var dest PermissionDenied403Res + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON403 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest DiskIOProfileNotFoundDiskNotFound404Res + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: + var dest ObjectInTrashTaskQueueingError406Res + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON406 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: + var dest APIAuthenticator429Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON429 = &dest + + } + + return response, nil +} + +// ParsePutDiskResizeResponse parses an HTTP response from a PutDiskResizeWithResponse call +func ParsePutDiskResizeResponse(rsp *http.Response) (*PutDiskResizeResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &PutDiskResizeResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest struct { + // Disk The disk that has been resized. + Disk PutDiskResize200ResponseDisk `json:"disk"` + Task Task `json:"task"` } if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err @@ -30276,6 +33111,13 @@ func ParsePostDiskDiskBackupPoliciesResponse(rsp *http.Response) (*PostDiskDiskB } response.JSON404 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: + var dest ObjectInTrashTaskQueueingError406Res + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON406 = &dest + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 422: var dest ValidationErrorResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { @@ -30295,6 +33137,77 @@ func ParsePostDiskDiskBackupPoliciesResponse(rsp *http.Response) (*PostDiskDiskB return response, nil } +// ParsePostDiskUnassignResponse parses an HTTP response from a PostDiskUnassignWithResponse call +func ParsePostDiskUnassignResponse(rsp *http.Response) (*PostDiskUnassignResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &PostDiskUnassignResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest struct { + // Disk The disk that has been unassigned from a virtual machine. + Disk PostDiskUnassign200ResponseDisk `json:"disk"` + } + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest APIAuthenticator400Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: + var dest PermissionDenied403Res + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON403 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest DiskNotFoundResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: + var dest ObjectInTrashResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON406 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 422: + var dest UnableToUnassignResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON422 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: + var dest APIAuthenticator429Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON429 = &dest + + } + + return response, nil +} + // ParseDeleteDnsRecordResponse parses an HTTP response from a DeleteDnsRecordWithResponse call func ParseDeleteDnsRecordResponse(rsp *http.Response) (*DeleteDnsRecordResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) @@ -32504,6 +35417,64 @@ func ParseGetOrganizationDiskBackupPoliciesResponse(rsp *http.Response) (*GetOrg return response, nil } +// ParseGetOrganizationDiskIoProfilesResponse parses an HTTP response from a GetOrganizationDiskIoProfilesWithResponse call +func ParseGetOrganizationDiskIoProfilesResponse(rsp *http.Response) (*GetOrganizationDiskIoProfilesResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &GetOrganizationDiskIoProfilesResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest struct { + // DiskIoProfiles The list of disk IO profiles + DiskIoProfiles []DiskIOProfile `json:"disk_io_profiles"` + Pagination PaginationObject `json:"pagination"` + } + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest APIAuthenticator400Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: + var dest OrganizationNotActivatedOrganizationSuspended403Res + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON403 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest OrganizationNotFoundResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: + var dest APIAuthenticator429Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON429 = &dest + + } + + return response, nil +} + // ParseGetOrganizationDiskTemplatesResponse parses an HTTP response from a GetOrganizationDiskTemplatesWithResponse call func ParseGetOrganizationDiskTemplatesResponse(rsp *http.Response) (*GetOrganizationDiskTemplatesResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) @@ -32620,6 +35591,78 @@ func ParseGetOrganizationDisksResponse(rsp *http.Response) (*GetOrganizationDisk return response, nil } +// ParsePostOrganizationDisksResponse parses an HTTP response from a PostOrganizationDisksWithResponse call +func ParsePostOrganizationDisksResponse(rsp *http.Response) (*PostOrganizationDisksResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &PostOrganizationDisksResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 201: + var dest struct { + // Disk The disk that has been created. + Disk PostOrganizationDisks201ResponseDisk `json:"disk"` + Task Task `json:"task"` + } + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON201 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 400: + var dest APIAuthenticator400Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON400 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 403: + var dest OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON403 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 404: + var dest OrganizationNotFoundResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON404 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 406: + var dest TaskQueueingErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON406 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 422: + var dest ValidationErrorResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON422 = &dest + + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 429: + var dest APIAuthenticator429Response + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON429 = &dest + + } + + return response, nil +} + // ParseGetOrganizationDnsZonesResponse parses an HTTP response from a GetOrganizationDnsZonesWithResponse call func ParseGetOrganizationDnsZonesResponse(rsp *http.Response) (*GetOrganizationDnsZonesResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) diff --git a/next/katapult-core-openapi.json b/next/katapult-core-openapi.json index 6500665..862cf3d 100644 --- a/next/katapult-core-openapi.json +++ b/next/katapult-core-openapi.json @@ -625,42 +625,54 @@ "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/disks/:disk": { - "get": { - "operationId": "get:disk", + }, + "post": { + "operationId": "post:organization_disks", "tags": [ "Core" ], - "parameters": [ - { - "name": "disk[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The disk to return. All 'disk[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + }, + "properties": { + "$ref": "#/components/schemas/DiskArguments" + } + }, + "required": [ + "organization", + "properties" + ] + } + } } - ], + }, "responses": { - "200": { - "description": "Return details for a specific disk", + "201": { + "description": "Create a new disk for a given organization.", "content": { "application/json": { "schema": { "properties": { "disk": { - "description": "The disk details", + "description": "The disk that has been created.", "allOf": [ { - "$ref": "#/components/schemas/GetDisk200ResponseDisk" + "$ref": "#/components/schemas/PostOrganizationDisks201ResponseDisk" } ] + }, + "task": { + "$ref": "#/components/schemas/Task" } }, "required": [ - "disk" + "disk", + "task" ] } } @@ -670,10 +682,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DiskNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/TaskQueueingErrorResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -681,65 +699,40 @@ } } }, - "/virtual_machines/:virtual_machine/disks": { + "/disks/:disk": { "get": { - "operationId": "get:virtual_machine_disks", + "operationId": "get:disk", "tags": [ "Core" ], "parameters": [ { - "name": "virtual_machine[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The virtual machine to find disks for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "virtual_machine[fqdn]", + "name": "disk[id]", "in": "query", "schema": { "type": "string" }, - "description": "The virtual machine to find disks for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "description": "The disk to return. All 'disk[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Return a list of all disks for a given virtual machine", + "description": "Return details for a specific disk", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "disks": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetVirtualMachineDisks200ResponseDisks" - }, - "description": "The list of disks" + "disk": { + "description": "The disk details", + "allOf": [ + { + "$ref": "#/components/schemas/GetDisk200ResponseDisk" + } + ] } }, "required": [ - "pagination", - "disks" + "disk" ] } } @@ -752,7 +745,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundResponse" }, "406": { "$ref": "#/components/responses/ObjectInTrashResponse" @@ -761,84 +754,50 @@ "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/organizations/:organization/disk_templates": { - "get": { - "operationId": "get:organization_disk_templates", + }, + "patch": { + "operationId": "patch:disk", "tags": [ "Core" ], - "parameters": [ - { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to find disk templates for. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to find disk templates for. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "include_universal", - "in": "query", - "schema": { - "type": "boolean", - "description": "Whether or not to include universal templates" - }, - "description": "Whether or not to include universal templates" - }, - { - "name": "operating_system[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "An operating system to use to filter disk templates. All 'operating_system[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "$ref": "#/components/schemas/DiskLookup" + }, + "properties": { + "$ref": "#/components/schemas/DiskArguments" + } + }, + "required": [ + "disk", + "properties" + ] + } } } - ], + }, "responses": { "200": { - "description": "Return a list of all disk templates owned by an organization", + "description": "Update a disk for a given organization.", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "disk_templates": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizationDiskTemplates200ResponseDiskTemplates" - }, - "description": "The list of disk templates" + "disk": { + "description": "The disk that has been updated.", + "allOf": [ + { + "$ref": "#/components/schemas/PatchDisk200ResponseDisk" + } + ] } }, "required": [ - "pagination", - "disk_templates" + "disk" ] } } @@ -848,59 +807,65 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OperatingSystemNotFoundOrganizationNotFound404Res" + "$ref": "#/components/responses/DiskNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/UnassignedDiskValidationError422Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/disk_templates/:disk_template": { - "get": { - "operationId": "get:disk_template", + }, + "delete": { + "operationId": "delete:disk", "tags": [ "Core" ], - "parameters": [ - { - "name": "disk_template[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The disk template to return. All 'disk_template[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "disk_template[permalink]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The disk template to return. All 'disk_template[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "$ref": "#/components/schemas/DiskLookup" + } + }, + "required": [ + "disk" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Return details for a specific disk template", + "description": "Deletes a disk and moves it to the trash", "content": { "application/json": { "schema": { "properties": { - "disk_template": { - "description": "The disk template details", + "disk": { + "description": "The disk that has been move to the trash.", "allOf": [ { - "$ref": "#/components/schemas/GetDiskTemplate200ResponseDiskTemplate" + "$ref": "#/components/schemas/DeleteDisk200ResponseDisk" } ] + }, + "trash_object": { + "$ref": "#/components/schemas/TrashObject" } }, "required": [ - "disk_template" + "disk", + "trash_object" ] } } @@ -910,10 +875,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DiskTemplateNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -921,69 +892,50 @@ } } }, - "/disk_templates/:disk_template/versions": { - "get": { - "operationId": "get:disk_template_versions", + "/disks/:disk/assign": { + "post": { + "operationId": "post:disk_assign", "tags": [ "Core" ], - "parameters": [ - { - "name": "disk_template[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The disk template to return the versions for. All 'disk_template[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "disk_template[permalink]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The disk template to return the versions for. All 'disk_template[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "$ref": "#/components/schemas/DiskLookup" + }, + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" + } + }, + "required": [ + "disk", + "virtual_machine" + ] + } } } - ], + }, "responses": { "200": { - "description": "Return a list of all disk template versions for a specific disk template", + "description": "Assign a disk to a virtual machine.", "content": { "application/json": { "schema": { "properties": { - "disk_template": { - "$ref": "#/components/schemas/GetDiskTemplateVersions200ResponseDiskTemplate" - }, - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "disk_template_versions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetDiskTemplateVersions200ResponseDiskTemplateVersions" - }, - "description": "The disk template versions for the provided template" + "disk": { + "description": "The disk that has been assigned to a virtual machine.", + "allOf": [ + { + "$ref": "#/components/schemas/PostDiskAssign200ResponseDisk" + } + ] } }, "required": [ - "disk_template", - "pagination", - "disk_template_versions" + "disk" ] } } @@ -993,10 +945,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DiskTemplateNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundVirtualMachineNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/UnableToAssignResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1004,40 +962,46 @@ } } }, - "/disk_template_versions/:disk_template_version": { - "get": { - "operationId": "get:disk_template_version", + "/disks/:disk/unassign": { + "post": { + "operationId": "post:disk_unassign", "tags": [ "Core" ], - "parameters": [ - { - "name": "disk_template_version[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The disk template version to return. All 'disk_template_version[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "$ref": "#/components/schemas/DiskLookup" + } + }, + "required": [ + "disk" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Return details for a specific disk template version", + "description": "Unassign a disk from a virtual machine.", "content": { "application/json": { "schema": { "properties": { - "disk_template_version": { - "description": "The disk template version details", + "disk": { + "description": "The disk that has been unassigned from a virtual machine.", "allOf": [ { - "$ref": "#/components/schemas/GetDiskTemplateVersion200ResponseDiskTemplateVersion" + "$ref": "#/components/schemas/PostDiskUnassign200ResponseDisk" } ] } }, "required": [ - "disk_template_version" + "disk" ] } } @@ -1047,10 +1011,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DiskTemplateVersionNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/UnableToUnassignResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1058,44 +1028,50 @@ } } }, - "/disk_template_versions/:disk_template_version/spec": { - "get": { - "operationId": "get:disk_template_version_spec", + "/disks/:disk/attach": { + "post": { + "operationId": "post:disk_attach", "tags": [ "Core" ], - "parameters": [ - { - "name": "disk_template_version[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The disk template version to return. All 'disk_template_version[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "$ref": "#/components/schemas/DiskLookup" + } + }, + "required": [ + "disk" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Return details provided by this template's specification", + "description": "Attach a disk to its virtual machine.", "content": { "application/json": { "schema": { "properties": { - "disk_template_version": { - "description": "The disk template version details", + "disk": { + "description": "The disk that will be attached to its virtual machine.", "allOf": [ { - "$ref": "#/components/schemas/GetDiskTemplateVersionSpec200ResponseDiskTemplateVersion" + "$ref": "#/components/schemas/PostDiskAttach200ResponseDisk" } ] }, - "spec": { - "$ref": "#/components/schemas/TemplateSpec" + "task": { + "$ref": "#/components/schemas/Task" } }, "required": [ - "disk_template_version", - "spec" + "disk", + "task" ] } } @@ -1105,10 +1081,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DiskTemplateVersionNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + }, + "422": { + "$ref": "#/components/responses/UnassignedDiskResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1116,48 +1098,50 @@ } } }, - "/gpu_types": { - "get": { - "operationId": "get:gpu_types", + "/disks/:disk/detach": { + "post": { + "operationId": "post:disk_detach", "tags": [ "Core" ], - "parameters": [ - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "$ref": "#/components/schemas/DiskLookup" + } + }, + "required": [ + "disk" + ] + } } } - ], + }, "responses": { "200": { - "description": "Provides a full list of all GPU types", + "description": "Detach a disk from its virtual machine.", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" + "disk": { + "description": "The disk that will be detached from its virtual machine.", + "allOf": [ + { + "$ref": "#/components/schemas/PostDiskDetach200ResponseDisk" + } + ] }, - "gpu_types": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetGPUTypes200ResponseGPUTypes" - } + "task": { + "$ref": "#/components/schemas/Task" } }, "required": [ - "pagination", - "gpu_types" + "disk", + "task" ] } } @@ -1167,7 +1151,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/DiskNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + }, + "422": { + "$ref": "#/components/responses/UnassignedDiskResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1175,43 +1168,128 @@ } } }, - "/gpu_types/:gpu_type": { - "get": { - "operationId": "get:gpu_type", + "/disks/:disk/resize": { + "put": { + "operationId": "put:disk_resize", "tags": [ "Core" ], - "parameters": [ - { - "name": "gpu_type[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'gpu_type[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "gpu_type[permalink]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'gpu_type[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "$ref": "#/components/schemas/DiskLookup" + }, + "size_in_gb": { + "type": "integer" + } + }, + "required": [ + "disk", + "size_in_gb" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Resize a disk.", + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "description": "The disk that has been resized.", + "allOf": [ + { + "$ref": "#/components/schemas/PutDiskResize200ResponseDisk" + } + ] + }, + "task": { + "$ref": "#/components/schemas/Task" + } + }, + "required": [ + "disk", + "task" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/DiskNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" } + } + } + }, + "/disks/:disk/io_profile": { + "put": { + "operationId": "put:disk_io_profile", + "tags": [ + "Core" ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "$ref": "#/components/schemas/DiskLookup" + }, + "io_profile": { + "$ref": "#/components/schemas/DiskIOProfileLookup" + } + }, + "required": [ + "disk", + "io_profile" + ] + } + } + } + }, "responses": { "200": { - "description": "Provide details for a specific GPU type", + "description": "Change disk IO profile.", "content": { "application/json": { "schema": { "properties": { - "gpu_type": { - "$ref": "#/components/schemas/GetGPUType200ResponseGPUType" + "disk": { + "description": "The disk that has been updated.", + "allOf": [ + { + "$ref": "#/components/schemas/PutDiskIOProfile200ResponseDisk" + } + ] + }, + "task": { + "$ref": "#/components/schemas/Task" } }, "required": [ - "gpu_type" + "disk", + "task" ] } } @@ -1221,10 +1299,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/GPUTypeNotFoundResponse" + "$ref": "#/components/responses/DiskIOProfileNotFoundDiskNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1232,28 +1313,28 @@ } } }, - "/data_centers/:data_center/gpu_types": { + "/virtual_machines/:virtual_machine/disks": { "get": { - "operationId": "get:data_center_gpu_types", + "operationId": "get:virtual_machine_disks", "tags": [ "Core" ], "parameters": [ { - "name": "data_center[id]", + "name": "virtual_machine[id]", "in": "query", "schema": { "type": "string" }, - "description": "The data center to list GPU types for. All 'data_center[]' params are mutually exclusive, only one can be provided." + "description": "The virtual machine to find disks for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." }, { - "name": "data_center[permalink]", + "name": "virtual_machine[fqdn]", "in": "query", "schema": { "type": "string" }, - "description": "The data center to list GPU types for. All 'data_center[]' params are mutually exclusive, only one can be provided." + "description": "The virtual machine to find disks for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." }, { "name": "page", @@ -1272,7 +1353,7 @@ ], "responses": { "200": { - "description": "Provides a list of all GPU types available in a given data center", + "description": "Return a list of all disks for a given virtual machine", "content": { "application/json": { "schema": { @@ -1280,16 +1361,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "gpu_types": { + "disks": { "type": "array", "items": { - "$ref": "#/components/schemas/GetDataCenterGPUTypes200ResponseGPUTypes" - } + "$ref": "#/components/schemas/GetVirtualMachineDisks200ResponseDisks" + }, + "description": "The list of disks" } }, "required": [ "pagination", - "gpu_types" + "disks" ] } } @@ -1302,7 +1384,10 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DataCenterNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1310,9 +1395,9 @@ } } }, - "/organizations/:organization/virtual_machines": { + "/organizations/:organization/disk_io_profiles": { "get": { - "operationId": "get:organization_virtual_machines", + "operationId": "get:organization_disk_io_profiles", "tags": [ "Core" ], @@ -1323,7 +1408,7 @@ "schema": { "type": "string" }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization to find disk IO profiles for. All 'organization[]' params are mutually exclusive, only one can be provided." }, { "name": "organization[sub_domain]", @@ -1331,7 +1416,7 @@ "schema": { "type": "string" }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization to find disk IO profiles for. All 'organization[]' params are mutually exclusive, only one can be provided." }, { "name": "page", @@ -1350,7 +1435,7 @@ ], "responses": { "200": { - "description": "Returns a list of all virtual machines for a given organization", + "description": "Return a list of all disk IO profiles available to this organization", "content": { "application/json": { "schema": { @@ -1358,16 +1443,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "virtual_machines": { + "disk_io_profiles": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationVirtualMachines200ResponseVirtualMachines" - } + "$ref": "#/components/schemas/DiskIOProfile" + }, + "description": "The list of disk IO profiles" } }, "required": [ "pagination", - "virtual_machines" + "disk_io_profiles" ] } } @@ -1388,43 +1474,82 @@ } } }, - "/virtual_machines/:virtual_machine": { + "/organizations/:organization/disk_templates": { "get": { - "operationId": "get:virtual_machine", + "operationId": "get:organization_disk_templates", "tags": [ "Core" ], "parameters": [ { - "name": "virtual_machine[id]", + "name": "organization[id]", "in": "query", "schema": { "type": "string" }, - "description": "All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + "description": "The organization to find disk templates for. All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "name": "virtual_machine[fqdn]", + "name": "organization[sub_domain]", "in": "query", "schema": { "type": "string" }, - "description": "All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + "description": "The organization to find disk templates for. All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "include_universal", + "in": "query", + "schema": { + "type": "boolean", + "description": "Whether or not to include universal templates" + }, + "description": "Whether or not to include universal templates" + }, + { + "name": "operating_system[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "An operating system to use to filter disk templates. All 'operating_system[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" + } } ], "responses": { "200": { - "description": "Return information about a virtual machine", + "description": "Return a list of all disk templates owned by an organization", "content": { "application/json": { "schema": { "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/GetVirtualMachine200ResponseVirtualMachine" + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "disk_templates": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizationDiskTemplates200ResponseDiskTemplates" + }, + "description": "The list of disk templates" } }, "required": [ - "virtual_machine" + "pagination", + "disk_templates" ] } } @@ -1434,62 +1559,59 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/OperatingSystemNotFoundOrganizationNotFound404Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - }, - "patch": { - "operationId": "patch:virtual_machine", + } + }, + "/disk_templates/:disk_template": { + "get": { + "operationId": "get:disk_template", "tags": [ "Core" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" - }, - "properties": { - "$ref": "#/components/schemas/VirtualMachineArguments" - } - }, - "required": [ - "virtual_machine", - "properties" - ] - } - } + "parameters": [ + { + "name": "disk_template[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The disk template to return. All 'disk_template[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "disk_template[permalink]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The disk template to return. All 'disk_template[]' params are mutually exclusive, only one can be provided." } - }, + ], "responses": { "200": { - "description": "Update the properties of a virtual machine", + "description": "Return details for a specific disk template", "content": { "application/json": { "schema": { "properties": { - "virtual_machine": { - "description": "The newly updated virtual machine", + "disk_template": { + "description": "The disk template details", "allOf": [ { - "$ref": "#/components/schemas/PatchVirtualMachine200ResponseVirtualMachine" + "$ref": "#/components/schemas/GetDiskTemplate200ResponseDiskTemplate" } ] } }, "required": [ - "virtual_machine" + "disk_template" ] } } @@ -1502,51 +1624,77 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/DiskTemplateNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - }, - "delete": { - "operationId": "delete:virtual_machine", + } + }, + "/disk_templates/:disk_template/versions": { + "get": { + "operationId": "get:disk_template_versions", "tags": [ "Core" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" - } - } - } + "parameters": [ + { + "name": "disk_template[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The disk template to return the versions for. All 'disk_template[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "disk_template[permalink]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The disk template to return the versions for. All 'disk_template[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" } } - }, + ], "responses": { "200": { - "description": "Moves an existing virtual machine to the trash", + "description": "Return a list of all disk template versions for a specific disk template", "content": { "application/json": { "schema": { "properties": { - "trash_object": { - "$ref": "#/components/schemas/TrashObject" + "disk_template": { + "$ref": "#/components/schemas/GetDiskTemplateVersions200ResponseDiskTemplate" }, - "virtual_machine": { - "$ref": "#/components/schemas/DeleteVirtualMachine200ResponseVirtualMachine" + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "disk_template_versions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetDiskTemplateVersions200ResponseDiskTemplateVersions" + }, + "description": "The disk template versions for the provided template" } }, "required": [ - "trash_object", - "virtual_machine" + "disk_template", + "pagination", + "disk_template_versions" ] } } @@ -1556,13 +1704,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/DiskTemplateNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1570,45 +1715,40 @@ } } }, - "/virtual_machines/:virtual_machine/package": { - "put": { - "operationId": "put:virtual_machine_package", + "/disk_template_versions/:disk_template_version": { + "get": { + "operationId": "get:disk_template_version", "tags": [ "Core" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" - }, - "virtual_machine_package": { - "$ref": "#/components/schemas/VirtualMachinePackageLookup" - } - }, - "required": [ - "virtual_machine", - "virtual_machine_package" - ] - } - } + "parameters": [ + { + "name": "disk_template_version[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The disk template version to return. All 'disk_template_version[]' params are mutually exclusive, only one can be provided." } - }, + ], "responses": { "200": { - "description": "Change a package for a virtual machine", + "description": "Return details for a specific disk template version", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/Task" + "disk_template_version": { + "description": "The disk template version details", + "allOf": [ + { + "$ref": "#/components/schemas/GetDiskTemplateVersion200ResponseDiskTemplateVersion" + } + ] } }, "required": [ - "task" + "disk_template_version" ] } } @@ -1618,13 +1758,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundVirtualMachinePackageNotFound404Res" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + "$ref": "#/components/responses/DiskTemplateVersionNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1632,45 +1769,44 @@ } } }, - "/virtual_machines/:virtual_machine/flexible_resources": { - "put": { - "operationId": "put:virtual_machine_flexible_resources", + "/disk_template_versions/:disk_template_version/spec": { + "get": { + "operationId": "get:disk_template_version_spec", "tags": [ "Core" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" - }, - "resources": { - "$ref": "#/components/schemas/VirtualMachineFlexibleResources" - } - }, - "required": [ - "virtual_machine", - "resources" - ] - } - } + "parameters": [ + { + "name": "disk_template_version[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The disk template version to return. All 'disk_template_version[]' params are mutually exclusive, only one can be provided." } - }, + ], "responses": { "200": { - "description": "Change the flexible resources assigned to a virtual machine", + "description": "Return details provided by this template's specification", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/Task" + "disk_template_version": { + "description": "The disk template version details", + "allOf": [ + { + "$ref": "#/components/schemas/GetDiskTemplateVersionSpec200ResponseDiskTemplateVersion" + } + ] + }, + "spec": { + "$ref": "#/components/schemas/TemplateSpec" } }, "required": [ - "task" + "disk_template_version", + "spec" ] } } @@ -1680,13 +1816,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/FlexibleResourcesUnavailableToOrganizationPermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + "$ref": "#/components/responses/DiskTemplateVersionNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1694,51 +1827,49 @@ } } }, - "/virtual_machines/:virtual_machine/allocate_ip": { - "post": { - "operationId": "post:virtual_machine_allocate_ip", + "/gpu_types": { + "get": { + "operationId": "get:gpu_types", "tags": [ "Core" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" - }, - "ip_address": { - "$ref": "#/components/schemas/IPAddressLookup" - } - }, - "required": [ - "virtual_machine", - "ip_address" - ] - } + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" } } - }, + ], "responses": { "200": { - "description": "Allocate an IP address to a virtual machine, automatically determining the network interface", + "description": "Provides a full list of all GPU types", "content": { "application/json": { "schema": { "properties": { - "ip_address": { - "description": "The newly allocated IP address", - "allOf": [ - { - "$ref": "#/components/schemas/IPAddress" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "gpu_types": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetGPUTypes200ResponseGPUTypes" + } } }, "required": [ - "ip_address" - ] + "pagination", + "gpu_types" + ] } } } @@ -1749,37 +1880,50 @@ "403": { "$ref": "#/components/responses/APIAuthenticator403Response" }, - "404": { - "$ref": "#/components/responses/IPAddressNotFoundVirtualMachineNotFound404Res" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" - }, - "422": { - "$ref": "#/components/responses/IPAlreadyAllocatedNoInterfaceAvailable422Res" - }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } } }, - "/virtual_machine/authorized_keys": { + "/gpu_types/:gpu_type": { "get": { - "operationId": "get:virtual_machine_authorized_keys", + "operationId": "get:gpu_type", "tags": [ "Core" ], "parameters": [ - + { + "name": "gpu_type[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "All 'gpu_type[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "gpu_type[permalink]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "All 'gpu_type[]' params are mutually exclusive, only one can be provided." + } ], "responses": { "200": { - "description": "Return the authorized keys for the virtual machine associated with the provided API token", + "description": "Provide details for a specific GPU type", "content": { - "text/plain": { + "application/json": { "schema": { - "type": "string" + "properties": { + "gpu_type": { + "$ref": "#/components/schemas/GetGPUType200ResponseGPUType" + } + }, + "required": [ + "gpu_type" + ] } } } @@ -1791,7 +1935,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/NoVirtualMachineForAPITokenResponse" + "$ref": "#/components/responses/GPUTypeNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1799,83 +1943,64 @@ } } }, - "/organizations/:organization/virtual_machines/build": { - "post": { - "operationId": "post:organization_virtual_machines_build", + "/data_centers/:data_center/gpu_types": { + "get": { + "operationId": "get:data_center_gpu_types", "tags": [ "Core" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - }, - "zone": { - "$ref": "#/components/schemas/ZoneLookup" - }, - "data_center": { - "$ref": "#/components/schemas/DataCenterLookup" - }, - "package": { - "$ref": "#/components/schemas/VirtualMachinePackageLookup" - }, - "disk_template": { - "$ref": "#/components/schemas/DiskTemplateLookup" - }, - "disk_template_options": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } - }, - "network": { - "$ref": "#/components/schemas/NetworkLookup" - }, - "hostname": { - "type": "string" - } - }, - "required": [ - "organization", - "package" - ] - } + "parameters": [ + { + "name": "data_center[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The data center to list GPU types for. All 'data_center[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "data_center[permalink]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The data center to list GPU types for. All 'data_center[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" } } - }, + ], "responses": { - "201": { - "description": "Builds a new virtual machine based on the arguments provided to this endpoint. Virtual machines will be built in the background. This task will return an task object that will allow you to monitor the build process using the appropriate API action. This action only offers a small subset of the full functionality needed when provisioning virtual machines - see the `build_from_spec` action for a full advanced virtual machine creation method.", + "200": { + "description": "Provides a list of all GPU types available in a given data center", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuild201ResponseTask" - }, - "build": { - "description": "Deprecated, please use \"virtual_machine_build\" instead", - "allOf": [ - { - "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuild201ResponseBuild" - } - ] - }, - "virtual_machine_build": { - "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuild201ResponseVirtualMachineBuild" + "pagination": { + "$ref": "#/components/schemas/PaginationObject" }, - "hostname": { - "type": "string" + "gpu_types": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetDataCenterGPUTypes200ResponseGPUTypes" + } } }, "required": [ - "task", - "build", - "virtual_machine_build", - "hostname" + "pagination", + "gpu_types" ] } } @@ -1885,13 +2010,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DataCenterNotFoundVirtualMachinePackageNotFoundZoneNotFound404Res" - }, - "422": { - "$ref": "#/components/responses/LocationRequiredValidationError422Res" + "$ref": "#/components/responses/DataCenterNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1899,114 +2021,121 @@ } } }, - "/organizations/:organization/virtual_machines/build_from_spec": { - "post": { - "operationId": "post:organization_virtual_machines_build_from_spec", + "/organizations/:organization/virtual_machines": { + "get": { + "operationId": "get:organization_virtual_machines", "tags": [ "Core" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - }, - "xml": { - "type": "string" - } - }, - "required": [ - "organization", - "xml" - ] - } + "parameters": [ + { + "name": "organization[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "organization[sub_domain]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" } } - }, + ], "responses": { - "201": { - "description": "Builds a new virtual machine by receiving a virtual machine spec document", + "200": { + "description": "Returns a list of all virtual machines for a given organization", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseTask" - }, - "build": { - "description": "Deprecated, please use \"virtual_machine_build\" instead", - "allOf": [ - { - "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseBuild" - } - ] - }, - "virtual_machine_build": { - "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseVirtualMachineBuild" + "pagination": { + "$ref": "#/components/schemas/PaginationObject" }, - "hostname": { - "type": "string" + "virtual_machines": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizationVirtualMachines200ResponseVirtualMachines" + } } }, "required": [ - "task", - "build", - "virtual_machine_build", - "hostname" + "pagination", + "virtual_machines" ] } } } }, "400": { - "$ref": "#/components/responses/InvalidSpecXML400Res" + "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" - }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } } }, - "/virtual_machines/builds/:virtual_machine_build": { + "/virtual_machines/:virtual_machine": { "get": { - "operationId": "get:virtual_machines_builds_virtual_machine_build", + "operationId": "get:virtual_machine", "tags": [ "Core" ], "parameters": [ { - "name": "virtual_machine_build[id]", + "name": "virtual_machine[id]", "in": "query", "schema": { "type": "string" }, - "description": "All 'virtual_machine_build[]' params are mutually exclusive, only one can be provided." + "description": "All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "virtual_machine[fqdn]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "All 'virtual_machine[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Return virtual machine build information", + "description": "Return information about a virtual machine", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_build": { - "$ref": "#/components/schemas/GetVirtualMachinesBuildsVirtualMachineBuild200ResponseVirtualMachineBuild" + "virtual_machine": { + "$ref": "#/components/schemas/GetVirtualMachine200ResponseVirtualMachine" } }, "required": [ - "virtual_machine_build" + "virtual_machine" ] } } @@ -2019,17 +2148,18 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineBuildNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/virtual_machines/:virtual_machine/start": { - "post": { - "operationId": "post:virtual_machine_start", + }, + "patch": { + "operationId": "patch:virtual_machine", "tags": [ "Core" ], @@ -2040,10 +2170,14 @@ "properties": { "virtual_machine": { "$ref": "#/components/schemas/VirtualMachineLookup" + }, + "properties": { + "$ref": "#/components/schemas/VirtualMachineArguments" } }, "required": [ - "virtual_machine" + "virtual_machine", + "properties" ] } } @@ -2051,17 +2185,22 @@ }, "responses": { "200": { - "description": "Queues a task to start a virtual machine", + "description": "Update the properties of a virtual machine", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/PostVirtualMachineStart200ResponseTask" + "virtual_machine": { + "description": "The newly updated virtual machine", + "allOf": [ + { + "$ref": "#/components/schemas/PatchVirtualMachine200ResponseVirtualMachine" + } + ] } }, "required": [ - "task" + "virtual_machine" ] } } @@ -2071,23 +2210,21 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { "$ref": "#/components/responses/VirtualMachineNotFoundResponse" }, "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/virtual_machines/:virtual_machine/stop": { - "post": { - "operationId": "post:virtual_machine_stop", + }, + "delete": { + "operationId": "delete:virtual_machine", "tags": [ "Core" ], @@ -2099,27 +2236,28 @@ "virtual_machine": { "$ref": "#/components/schemas/VirtualMachineLookup" } - }, - "required": [ - "virtual_machine" - ] + } } } } }, "responses": { "200": { - "description": "Queues a task to stop a virtual machine", + "description": "Moves an existing virtual machine to the trash", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/PostVirtualMachineStop200ResponseTask" + "trash_object": { + "$ref": "#/components/schemas/TrashObject" + }, + "virtual_machine": { + "$ref": "#/components/schemas/DeleteVirtualMachine200ResponseVirtualMachine" } }, "required": [ - "task" + "trash_object", + "virtual_machine" ] } } @@ -2135,7 +2273,7 @@ "$ref": "#/components/responses/VirtualMachineNotFoundResponse" }, "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -2143,9 +2281,9 @@ } } }, - "/virtual_machines/:virtual_machine/shutdown": { - "post": { - "operationId": "post:virtual_machine_shutdown", + "/virtual_machines/:virtual_machine/package": { + "put": { + "operationId": "put:virtual_machine_package", "tags": [ "Core" ], @@ -2156,10 +2294,14 @@ "properties": { "virtual_machine": { "$ref": "#/components/schemas/VirtualMachineLookup" + }, + "virtual_machine_package": { + "$ref": "#/components/schemas/VirtualMachinePackageLookup" } }, "required": [ - "virtual_machine" + "virtual_machine", + "virtual_machine_package" ] } } @@ -2167,13 +2309,13 @@ }, "responses": { "200": { - "description": "Queues a task to shutdown a virtual machine", + "description": "Change a package for a virtual machine", "content": { "application/json": { "schema": { "properties": { "task": { - "$ref": "#/components/schemas/PostVirtualMachineShutdown200ResponseTask" + "$ref": "#/components/schemas/Task" } }, "required": [ @@ -2190,7 +2332,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundVirtualMachinePackageNotFound404Res" }, "406": { "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" @@ -2201,9 +2343,9 @@ } } }, - "/virtual_machines/:virtual_machine/reset": { - "post": { - "operationId": "post:virtual_machine_reset", + "/virtual_machines/:virtual_machine/flexible_resources": { + "put": { + "operationId": "put:virtual_machine_flexible_resources", "tags": [ "Core" ], @@ -2214,10 +2356,14 @@ "properties": { "virtual_machine": { "$ref": "#/components/schemas/VirtualMachineLookup" + }, + "resources": { + "$ref": "#/components/schemas/VirtualMachineFlexibleResources" } }, "required": [ - "virtual_machine" + "virtual_machine", + "resources" ] } } @@ -2225,13 +2371,13 @@ }, "responses": { "200": { - "description": "Queues a task to reset a virtual machine", + "description": "Change the flexible resources assigned to a virtual machine", "content": { "application/json": { "schema": { "properties": { "task": { - "$ref": "#/components/schemas/PostVirtualMachineReset200ResponseTask" + "$ref": "#/components/schemas/Task" } }, "required": [ @@ -2245,7 +2391,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/FlexibleResourcesUnavailableToOrganizationPermissionDenied403Res" }, "404": { "$ref": "#/components/responses/VirtualMachineNotFoundResponse" @@ -2259,9 +2405,9 @@ } } }, - "/virtual_machines/:virtual_machine/console_sessions": { + "/virtual_machines/:virtual_machine/allocate_ip": { "post": { - "operationId": "post:virtual_machine_console_sessions", + "operationId": "post:virtual_machine_allocate_ip", "tags": [ "Core" ], @@ -2272,28 +2418,37 @@ "properties": { "virtual_machine": { "$ref": "#/components/schemas/VirtualMachineLookup" + }, + "ip_address": { + "$ref": "#/components/schemas/IPAddressLookup" } }, "required": [ - "virtual_machine" + "virtual_machine", + "ip_address" ] } } } }, "responses": { - "201": { - "description": "Creates a new console session which can be opened in a browser", + "200": { + "description": "Allocate an IP address to a virtual machine, automatically determining the network interface", "content": { "application/json": { "schema": { "properties": { - "console_session": { - "$ref": "#/components/schemas/PostVirtualMachineConsoleSessions201ResponseConsoleSession" + "ip_address": { + "description": "The newly allocated IP address", + "allOf": [ + { + "$ref": "#/components/schemas/IPAddress" + } + ] } }, "required": [ - "console_session" + "ip_address" ] } } @@ -2303,16 +2458,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + "$ref": "#/components/responses/IPAddressNotFoundVirtualMachineNotFound404Res" }, "406": { - "$ref": "#/components/responses/ObjectInTrashVirtualMachineMustBeStarted406Res" + "$ref": "#/components/responses/ObjectInTrashResponse" }, "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/IPAlreadyAllocatedNoInterfaceAvailable422Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -2320,65 +2475,22 @@ } } }, - "/virtual_machine_packages": { + "/virtual_machine/authorized_keys": { "get": { - "operationId": "get:virtual_machine_packages", + "operationId": "get:virtual_machine_authorized_keys", "tags": [ "Core" ], "parameters": [ - { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed). All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed). All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } - } + ], "responses": { "200": { - "description": "Returns a list of virtual machine packages", + "description": "Return the authorized keys for the virtual machine associated with the provided API token", "content": { - "application/json": { + "text/plain": { "schema": { - "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "virtual_machine_packages": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetVirtualMachinePackages200ResponseVirtualMachinePackages" - } - } - }, - "required": [ - "pagination", - "virtual_machine_packages" - ] + "type": "string" } } } @@ -2387,10 +2499,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/NoVirtualMachineForAPITokenResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -2398,43 +2510,83 @@ } } }, - "/virtual_machine_packages/:virtual_machine_package": { - "get": { - "operationId": "get:virtual_machine_package", + "/organizations/:organization/virtual_machines/build": { + "post": { + "operationId": "post:organization_virtual_machines_build", "tags": [ "Core" ], - "parameters": [ - { - "name": "virtual_machine_package[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'virtual_machine_package[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "virtual_machine_package[permalink]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'virtual_machine_package[]' params are mutually exclusive, only one can be provided." - } - ], - "responses": { - "200": { - "description": "Return information about a given virtual machine package", - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine_package": { - "$ref": "#/components/schemas/VirtualMachinePackage" - } + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" }, - "required": [ - "virtual_machine_package" + "zone": { + "$ref": "#/components/schemas/ZoneLookup" + }, + "data_center": { + "$ref": "#/components/schemas/DataCenterLookup" + }, + "package": { + "$ref": "#/components/schemas/VirtualMachinePackageLookup" + }, + "disk_template": { + "$ref": "#/components/schemas/DiskTemplateLookup" + }, + "disk_template_options": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } + }, + "network": { + "$ref": "#/components/schemas/NetworkLookup" + }, + "hostname": { + "type": "string" + } + }, + "required": [ + "organization", + "package" + ] + } + } + } + }, + "responses": { + "201": { + "description": "Builds a new virtual machine based on the arguments provided to this endpoint. Virtual machines will be built in the background. This task will return an task object that will allow you to monitor the build process using the appropriate API action. This action only offers a small subset of the full functionality needed when provisioning virtual machines - see the `build_from_spec` action for a full advanced virtual machine creation method.", + "content": { + "application/json": { + "schema": { + "properties": { + "task": { + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuild201ResponseTask" + }, + "build": { + "description": "Deprecated, please use \"virtual_machine_build\" instead", + "allOf": [ + { + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuild201ResponseBuild" + } + ] + }, + "virtual_machine_build": { + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuild201ResponseVirtualMachineBuild" + }, + "hostname": { + "type": "string" + } + }, + "required": [ + "task", + "build", + "virtual_machine_build", + "hostname" ] } } @@ -2444,10 +2596,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachinePackageNotFoundResponse" + "$ref": "#/components/responses/DataCenterNotFoundVirtualMachinePackageNotFoundZoneNotFound404Res" + }, + "422": { + "$ref": "#/components/responses/LocationRequiredValidationError422Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -2455,64 +2610,114 @@ } } }, - "/organizations/:organization/ssh_keys": { + "/organizations/:organization/virtual_machines/build_from_spec": { + "post": { + "operationId": "post:organization_virtual_machines_build_from_spec", + "tags": [ + "Core" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + }, + "xml": { + "type": "string" + } + }, + "required": [ + "organization", + "xml" + ] + } + } + } + }, + "responses": { + "201": { + "description": "Builds a new virtual machine by receiving a virtual machine spec document", + "content": { + "application/json": { + "schema": { + "properties": { + "task": { + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseTask" + }, + "build": { + "description": "Deprecated, please use \"virtual_machine_build\" instead", + "allOf": [ + { + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseBuild" + } + ] + }, + "virtual_machine_build": { + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseVirtualMachineBuild" + }, + "hostname": { + "type": "string" + } + }, + "required": [ + "task", + "build", + "virtual_machine_build", + "hostname" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/InvalidSpecXML400Res" + }, + "403": { + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/OrganizationNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + } + } + } + }, + "/virtual_machines/builds/:virtual_machine_build": { "get": { - "operationId": "get:organization_ssh_keys", + "operationId": "get:virtual_machines_builds_virtual_machine_build", "tags": [ "Core" ], "parameters": [ { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to list SSH keys for. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "organization[sub_domain]", + "name": "virtual_machine_build[id]", "in": "query", "schema": { "type": "string" }, - "description": "The organization to list SSH keys for. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "description": "All 'virtual_machine_build[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns a list of all SSH keys for an organization", + "description": "Return virtual machine build information", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "ssh_keys": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AuthSSHKey" - } + "virtual_machine_build": { + "$ref": "#/components/schemas/GetVirtualMachinesBuildsVirtualMachineBuild200ResponseVirtualMachineBuild" } }, "required": [ - "pagination", - "ssh_keys" + "virtual_machine_build" ] } } @@ -2522,18 +2727,20 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineBuildNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - }, + } + }, + "/virtual_machines/:virtual_machine/start": { "post": { - "operationId": "post:organization_ssh_keys", + "operationId": "post:virtual_machine_start", "tags": [ "Core" ], @@ -2542,34 +2749,30 @@ "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - }, - "ssh_key": { - "$ref": "#/components/schemas/AuthSSHKeyProperties" + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" } }, "required": [ - "organization", - "ssh_key" + "virtual_machine" ] } } } }, "responses": { - "201": { - "description": "Add an SSH key to an organization", + "200": { + "description": "Queues a task to start a virtual machine", "content": { "application/json": { "schema": { "properties": { - "ssh_key": { - "$ref": "#/components/schemas/AuthSSHKey" + "task": { + "$ref": "#/components/schemas/PostVirtualMachineStart200ResponseTask" } }, "required": [ - "ssh_key" + "task" ] } } @@ -2579,13 +2782,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -2593,9 +2796,9 @@ } } }, - "/ssh_keys/:ssh_key": { - "delete": { - "operationId": "delete:ssh_key", + "/virtual_machines/:virtual_machine/stop": { + "post": { + "operationId": "post:virtual_machine_stop", "tags": [ "Core" ], @@ -2604,12 +2807,12 @@ "application/json": { "schema": { "properties": { - "ssh_key": { - "$ref": "#/components/schemas/AuthSSHKeyLookup" + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" } }, "required": [ - "ssh_key" + "virtual_machine" ] } } @@ -2617,17 +2820,17 @@ }, "responses": { "200": { - "description": "Delete an SSH key", + "description": "Queues a task to stop a virtual machine", "content": { "application/json": { "schema": { "properties": { - "ssh_key": { - "$ref": "#/components/schemas/AuthSSHKey" + "task": { + "$ref": "#/components/schemas/PostVirtualMachineStop200ResponseTask" } }, "required": [ - "ssh_key" + "task" ] } } @@ -2640,10 +2843,10 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/SSHKeyNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" }, - "409": { - "$ref": "#/components/responses/DeletionRestrictedResponse" + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -2651,65 +2854,41 @@ } } }, - "/organizations/:organization/disk_backup_policies": { - "get": { - "operationId": "get:organization_disk_backup_policies", + "/virtual_machines/:virtual_machine/shutdown": { + "post": { + "operationId": "post:virtual_machine_shutdown", "tags": [ "Core" ], - "parameters": [ - { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to return disk backup policies for. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to return disk backup policies for. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" + } + }, + "required": [ + "virtual_machine" + ] + } } } - ], + }, "responses": { "200": { - "description": "Returns a list of all disk backup policies for a given organization", + "description": "Queues a task to shutdown a virtual machine", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "disk_backup_policies": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizationDiskBackupPolicies200ResponseDiskBackupPolicies" - }, - "description": "The disk backup policies for the provided organization" + "task": { + "$ref": "#/components/schemas/PostVirtualMachineShutdown200ResponseTask" } }, "required": [ - "pagination", - "disk_backup_policies" + "task" ] } } @@ -2719,10 +2898,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -2730,74 +2912,41 @@ } } }, - "/virtual_machines/:virtual_machine/disk_backup_policies": { - "get": { - "operationId": "get:virtual_machine_disk_backup_policies", + "/virtual_machines/:virtual_machine/reset": { + "post": { + "operationId": "post:virtual_machine_reset", "tags": [ "Core" ], - "parameters": [ - { - "name": "virtual_machine[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The virtual machine to return disk backup policies for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "virtual_machine[fqdn]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The virtual machine to return disk backup policies for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "include_disks", - "in": "query", - "schema": { - "type": "boolean", - "description": "If true, the returned list will include backup policies owned by disks assigned to this virtual machine in addition to those that belong to the whole virtual machine" - }, - "description": "If true, the returned list will include backup policies owned by disks assigned to this virtual machine in addition to those that belong to the whole virtual machine" - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" + } + }, + "required": [ + "virtual_machine" + ] + } } } - ], + }, "responses": { "200": { - "description": "Returns a list of all disk backup policies for a given virtual machine", + "description": "Queues a task to reset a virtual machine", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "disk_backup_policies": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetVirtualMachineDiskBackupPolicies200ResponseDiskBackupPolicies" - }, - "description": "The disk backup policies for the provided virtual machine" + "task": { + "$ref": "#/components/schemas/PostVirtualMachineReset200ResponseTask" } }, "required": [ - "pagination", - "disk_backup_policies" + "task" ] } } @@ -2813,15 +2962,17 @@ "$ref": "#/components/responses/VirtualMachineNotFoundResponse" }, "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - }, + } + }, + "/virtual_machines/:virtual_machine/console_sessions": { "post": { - "operationId": "post:virtual_machine_disk_backup_policies", + "operationId": "post:virtual_machine_console_sessions", "tags": [ "Core" ], @@ -2832,37 +2983,28 @@ "properties": { "virtual_machine": { "$ref": "#/components/schemas/VirtualMachineLookup" - }, - "properties": { - "$ref": "#/components/schemas/DiskBackupPolicyArguments" } }, "required": [ - "virtual_machine", - "properties" + "virtual_machine" ] } } } }, "responses": { - "200": { - "description": "Creates a new disk backup policy for a virtual machine", + "201": { + "description": "Creates a new console session which can be opened in a browser", "content": { "application/json": { "schema": { "properties": { - "disk_backup_policy": { - "description": "The new disk backup policy that has been created", - "allOf": [ - { - "$ref": "#/components/schemas/PostVirtualMachineDiskBackupPolicies200ResponseDiskBackupPolicy" - } - ] + "console_session": { + "$ref": "#/components/schemas/PostVirtualMachineConsoleSessions201ResponseConsoleSession" } }, "required": [ - "disk_backup_policy" + "console_session" ] } } @@ -2878,7 +3020,7 @@ "$ref": "#/components/responses/VirtualMachineNotFoundResponse" }, "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/ObjectInTrashVirtualMachineMustBeStarted406Res" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -2889,20 +3031,28 @@ } } }, - "/disks/:disk/disk_backup_policies": { + "/virtual_machine_packages": { "get": { - "operationId": "get:disk_disk_backup_policies", + "operationId": "get:virtual_machine_packages", "tags": [ "Core" ], "parameters": [ { - "name": "disk[id]", + "name": "organization[id]", "in": "query", "schema": { "type": "string" }, - "description": "The disk to return disk backup policies for. All 'disk[]' params are mutually exclusive, only one can be provided." + "description": "Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed). All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "organization[sub_domain]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed). All 'organization[]' params are mutually exclusive, only one can be provided." }, { "name": "page", @@ -2921,7 +3071,7 @@ ], "responses": { "200": { - "description": "Returns a list of all disk backup policies for a given disk", + "description": "Returns a list of virtual machine packages", "content": { "application/json": { "schema": { @@ -2929,17 +3079,16 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "disk_backup_policies": { + "virtual_machine_packages": { "type": "array", "items": { - "$ref": "#/components/schemas/GetDiskDiskBackupPolicies200ResponseDiskBackupPolicies" - }, - "description": "The disk backup policies for the provided disk" + "$ref": "#/components/schemas/GetVirtualMachinePackages200ResponseVirtualMachinePackages" + } } }, "required": [ "pagination", - "disk_backup_policies" + "virtual_machine_packages" ] } } @@ -2949,59 +3098,54 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/DiskNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - }, - "post": { - "operationId": "post:disk_disk_backup_policies", + } + }, + "/virtual_machine_packages/:virtual_machine_package": { + "get": { + "operationId": "get:virtual_machine_package", "tags": [ "Core" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk": { - "$ref": "#/components/schemas/DiskLookup" - }, - "properties": { - "$ref": "#/components/schemas/DiskBackupPolicyArguments" - } - }, - "required": [ - "disk", - "properties" - ] - } - } + "parameters": [ + { + "name": "virtual_machine_package[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "All 'virtual_machine_package[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "virtual_machine_package[permalink]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "All 'virtual_machine_package[]' params are mutually exclusive, only one can be provided." } - }, + ], "responses": { "200": { - "description": "Creates a new disk backup policy for a disk", + "description": "Return information about a given virtual machine package", "content": { "application/json": { "schema": { "properties": { - "disk_backup_policy": { - "description": "The new disk backup policy that has been created", - "allOf": [ - { - "$ref": "#/components/schemas/PostDiskDiskBackupPolicies200ResponseDiskBackupPolicy" - } - ] + "virtual_machine_package": { + "$ref": "#/components/schemas/VirtualMachinePackage" } }, "required": [ - "disk_backup_policy" + "virtual_machine_package" ] } } @@ -3011,13 +3155,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DiskNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/VirtualMachinePackageNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -3025,101 +3166,64 @@ } } }, - "/disk_backup_policies/:disk_backup_policy": { + "/organizations/:organization/ssh_keys": { "get": { - "operationId": "get:disk_backup_policy", + "operationId": "get:organization_ssh_keys", "tags": [ "Core" ], "parameters": [ { - "name": "disk_backup_policy[id]", + "name": "organization[id]", "in": "query", "schema": { "type": "string" }, - "description": "The disk backup policy to get information for. All 'disk_backup_policy[]' params are mutually exclusive, only one can be provided." - } - ], - "responses": { - "200": { - "description": "Returns information about a specific disk backup policy", - "content": { - "application/json": { - "schema": { - "properties": { - "disk_backup_policy": { - "description": "The located disk backup policy", - "allOf": [ - { - "$ref": "#/components/schemas/GetDiskBackupPolicy200ResponseDiskBackupPolicy" - } - ] - } - }, - "required": [ - "disk_backup_policy" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "description": "The organization to list SSH keys for. All 'organization[]' params are mutually exclusive, only one can be provided." }, - "404": { - "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" + { + "name": "organization[sub_domain]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The organization to list SSH keys for. All 'organization[]' params are mutually exclusive, only one can be provided." }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - } - } - }, - "delete": { - "operationId": "delete:disk_backup_policy", - "tags": [ - "Core" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk_backup_policy": { - "$ref": "#/components/schemas/DiskBackupPolicyLookup" - } - }, - "required": [ - "disk_backup_policy" - ] - } + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" } } - }, + ], "responses": { "200": { - "description": "Deletes a disk backup policy and moves it to the trash", + "description": "Returns a list of all SSH keys for an organization", "content": { "application/json": { "schema": { "properties": { - "disk_backup_policy": { - "description": "The disk backup policy that has been destroyed", - "allOf": [ - { - "$ref": "#/components/schemas/DeleteDiskBackupPolicy200ResponseDiskBackupPolicy" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "ssh_keys": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AuthSSHKey" + } } }, "required": [ - "disk_backup_policy" + "pagination", + "ssh_keys" ] } } @@ -3129,21 +3233,18 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } }, - "patch": { - "operationId": "patch:disk_backup_policy", + "post": { + "operationId": "post:organization_ssh_keys", "tags": [ "Core" ], @@ -3152,39 +3253,34 @@ "application/json": { "schema": { "properties": { - "disk_backup_policy": { - "$ref": "#/components/schemas/DiskBackupPolicyLookup" + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" }, - "properties": { - "$ref": "#/components/schemas/DiskBackupPolicyArguments" + "ssh_key": { + "$ref": "#/components/schemas/AuthSSHKeyProperties" } }, "required": [ - "disk_backup_policy", - "properties" + "organization", + "ssh_key" ] } } } }, "responses": { - "200": { - "description": "Updates the disk backup policy with the provided details", + "201": { + "description": "Add an SSH key to an organization", "content": { "application/json": { "schema": { "properties": { - "disk_backup_policy": { - "description": "The disk backup policy that has been updated", - "allOf": [ - { - "$ref": "#/components/schemas/PatchDiskBackupPolicy200ResponseDiskBackupPolicy" - } - ] + "ssh_key": { + "$ref": "#/components/schemas/AuthSSHKey" } }, "required": [ - "disk_backup_policy" + "ssh_key" ] } } @@ -3194,13 +3290,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -3211,9 +3304,9 @@ } } }, - "/disk_backup_policies/:disk_backup_policy/schedule": { + "/ssh_keys/:ssh_key": { "delete": { - "operationId": "delete:disk_backup_policy_schedule", + "operationId": "delete:ssh_key", "tags": [ "Core" ], @@ -3222,17 +3315,12 @@ "application/json": { "schema": { "properties": { - "disk_backup_policy": { - "$ref": "#/components/schemas/DiskBackupPolicyLookup" - }, - "timestamp": { - "type": "integer", - "description": "The time the disk backup policy will be moved to the trash automatically." + "ssh_key": { + "$ref": "#/components/schemas/AuthSSHKeyLookup" } }, "required": [ - "disk_backup_policy", - "timestamp" + "ssh_key" ] } } @@ -3240,38 +3328,33 @@ }, "responses": { "200": { - "description": "Schedules a disk backup policy to be moved to the trash at a specific time. The backup policy will continue to function as normal until this time is reached.", + "description": "Delete an SSH key", "content": { "application/json": { "schema": { "properties": { - "disk_backup_policy": { - "description": "The disk backup policy that has been scheduled for deletion", - "allOf": [ - { - "$ref": "#/components/schemas/DeleteDiskBackupPolicySchedule200ResponseDiskBackupPolicy" - } - ] + "ssh_key": { + "$ref": "#/components/schemas/AuthSSHKey" } }, "required": [ - "disk_backup_policy" + "ssh_key" ] } } } }, "400": { - "$ref": "#/components/responses/InvalidTimestamp400Res" + "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" + "$ref": "#/components/responses/SSHKeyNotFoundResponse" }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "409": { + "$ref": "#/components/responses/DeletionRestrictedResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -3279,9 +3362,9 @@ } } }, - "/organizations/:organization/dns_zones": { + "/organizations/:organization/disk_backup_policies": { "get": { - "operationId": "get:organization_dns_zones", + "operationId": "get:organization_disk_backup_policies", "tags": [ "Core" ], @@ -3292,7 +3375,7 @@ "schema": { "type": "string" }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization to return disk backup policies for. All 'organization[]' params are mutually exclusive, only one can be provided." }, { "name": "organization[sub_domain]", @@ -3300,7 +3383,7 @@ "schema": { "type": "string" }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization to return disk backup policies for. All 'organization[]' params are mutually exclusive, only one can be provided." }, { "name": "page", @@ -3319,7 +3402,7 @@ ], "responses": { "200": { - "description": "Return a list of all DNS zones", + "description": "Returns a list of all disk backup policies for a given organization", "content": { "application/json": { "schema": { @@ -3327,17 +3410,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "dns_zones": { + "disk_backup_policies": { "type": "array", "items": { - "$ref": "#/components/schemas/DNSZone" + "$ref": "#/components/schemas/GetOrganizationDiskBackupPolicies200ResponseDiskBackupPolicies" }, - "description": "The DNS zones for the provided organization" + "description": "The disk backup policies for the provided organization" } }, "required": [ "pagination", - "dns_zones" + "disk_backup_policies" ] } } @@ -3356,50 +3439,76 @@ "$ref": "#/components/responses/APIAuthenticator429Response" } } - }, - "post": { - "operationId": "post:organization_dns_zones", + } + }, + "/virtual_machines/:virtual_machine/disk_backup_policies": { + "get": { + "operationId": "get:virtual_machine_disk_backup_policies", "tags": [ "Core" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - }, - "properties": { - "$ref": "#/components/schemas/DNSZoneArguments" - } - }, - "required": [ - "organization", - "properties" - ] - } - } - } - }, - "responses": { - "201": { - "description": "Create a new DNS zone within an existing organization", + "parameters": [ + { + "name": "virtual_machine[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The virtual machine to return disk backup policies for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "virtual_machine[fqdn]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The virtual machine to return disk backup policies for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "include_disks", + "in": "query", + "schema": { + "type": "boolean", + "description": "If true, the returned list will include backup policies owned by disks assigned to this virtual machine in addition to those that belong to the whole virtual machine" + }, + "description": "If true, the returned list will include backup policies owned by disks assigned to this virtual machine in addition to those that belong to the whole virtual machine" + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "Returns a list of all disk backup policies for a given virtual machine", "content": { "application/json": { "schema": { "properties": { - "dns_zone": { - "description": "The new DNS zone that has been created", - "allOf": [ - { - "$ref": "#/components/schemas/DNSZone" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "disk_backup_policies": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetVirtualMachineDiskBackupPolicies200ResponseDiskBackupPolicies" + }, + "description": "The disk backup policies for the provided virtual machine" } }, "required": [ - "dns_zone" + "pagination", + "disk_backup_policies" ] } } @@ -3409,60 +3518,62 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/organizations/:organization/dns_zones/nameservers": { - "get": { - "operationId": "get:organization_dns_zones_nameservers", + }, + "post": { + "operationId": "post:virtual_machine_disk_backup_policies", "tags": [ "Core" ], - "parameters": [ - { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" + }, + "properties": { + "$ref": "#/components/schemas/DiskBackupPolicyArguments" + } + }, + "required": [ + "virtual_machine", + "properties" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Return a list of nameservers that should be used for DNS zones within a given organization", + "description": "Creates a new disk backup policy for a virtual machine", "content": { "application/json": { "schema": { "properties": { - "nameservers": { - "type": "array", - "items": { - "type": "string" - } + "disk_backup_policy": { + "description": "The new disk backup policy that has been created", + "allOf": [ + { + "$ref": "#/components/schemas/PostVirtualMachineDiskBackupPolicies200ResponseDiskBackupPolicy" + } + ] } }, "required": [ - "nameservers" + "disk_backup_policy" ] } } @@ -3472,10 +3583,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -3483,48 +3600,57 @@ } } }, - "/dns_zones/:dns_zone": { + "/disks/:disk/disk_backup_policies": { "get": { - "operationId": "get:dns_zone", + "operationId": "get:disk_disk_backup_policies", "tags": [ "Core" ], "parameters": [ { - "name": "dns_zone[id]", + "name": "disk[id]", "in": "query", "schema": { "type": "string" }, - "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." + "description": "The disk to return disk backup policies for. All 'disk[]' params are mutually exclusive, only one can be provided." }, { - "name": "dns_zone[name]", + "name": "page", "in": "query", "schema": { - "type": "string" - }, - "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." + "type": "integer" + } + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" + } } ], "responses": { "200": { - "description": "Return details for a specific DNS zone", + "description": "Returns a list of all disk backup policies for a given disk", "content": { "application/json": { "schema": { "properties": { - "dns_zone": { - "description": "The DNS zones for the provided organization", - "allOf": [ - { - "$ref": "#/components/schemas/DNSZone" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "disk_backup_policies": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetDiskDiskBackupPolicies200ResponseDiskBackupPolicies" + }, + "description": "The disk backup policies for the provided disk" } }, "required": [ - "dns_zone" + "pagination", + "disk_backup_policies" ] } } @@ -3534,18 +3660,21 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DNSZoneNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } }, - "patch": { - "operationId": "patch:dns_zone", + "post": { + "operationId": "post:disk_disk_backup_policies", "tags": [ "Core" ], @@ -3554,15 +3683,15 @@ "application/json": { "schema": { "properties": { - "dns_zone": { - "$ref": "#/components/schemas/DNSZoneLookup" + "disk": { + "$ref": "#/components/schemas/DiskLookup" }, "properties": { - "$ref": "#/components/schemas/DNSZoneArguments" + "$ref": "#/components/schemas/DiskBackupPolicyArguments" } }, "required": [ - "dns_zone", + "disk", "properties" ] } @@ -3571,22 +3700,22 @@ }, "responses": { "200": { - "description": "Update properties for a DNS zone", + "description": "Creates a new disk backup policy for a disk", "content": { "application/json": { "schema": { "properties": { - "dns_zone": { - "description": "The DNS zones for the provided organization", + "disk_backup_policy": { + "description": "The new disk backup policy that has been created", "allOf": [ { - "$ref": "#/components/schemas/DNSZone" + "$ref": "#/components/schemas/PostDiskDiskBackupPolicies200ResponseDiskBackupPolicy" } ] } }, "required": [ - "dns_zone" + "disk_backup_policy" ] } } @@ -3596,10 +3725,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DNSZoneNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -3608,41 +3740,42 @@ "$ref": "#/components/responses/APIAuthenticator429Response" } } - }, - "delete": { - "operationId": "delete:dns_zone", + } + }, + "/disk_backup_policies/:disk_backup_policy": { + "get": { + "operationId": "get:disk_backup_policy", "tags": [ "Core" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "dns_zone": { - "$ref": "#/components/schemas/DNSZoneLookup" - } - }, - "required": [ - "dns_zone" - ] - } - } + "parameters": [ + { + "name": "disk_backup_policy[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The disk backup policy to get information for. All 'disk_backup_policy[]' params are mutually exclusive, only one can be provided." } - }, + ], "responses": { "200": { - "description": "Delete a DNS zone", + "description": "Returns information about a specific disk backup policy", "content": { "application/json": { "schema": { "properties": { - "deleted": { - "type": "boolean" + "disk_backup_policy": { + "description": "The located disk backup policy", + "allOf": [ + { + "$ref": "#/components/schemas/GetDiskBackupPolicy200ResponseDiskBackupPolicy" + } + ] } }, "required": [ - "deleted" + "disk_backup_policy" ] } } @@ -3655,17 +3788,18 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DNSZoneNotFoundResponse" + "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/dns_zones/:dns_zone/verify": { - "post": { - "operationId": "post:dns_zone_verify", + }, + "delete": { + "operationId": "delete:disk_backup_policy", "tags": [ "Core" ], @@ -3674,12 +3808,12 @@ "application/json": { "schema": { "properties": { - "dns_zone": { - "$ref": "#/components/schemas/DNSZoneLookup" + "disk_backup_policy": { + "$ref": "#/components/schemas/DiskBackupPolicyLookup" } }, "required": [ - "dns_zone" + "disk_backup_policy" ] } } @@ -3687,22 +3821,22 @@ }, "responses": { "200": { - "description": "Attempt to verify the nameservers for a given DNS zone", + "description": "Deletes a disk backup policy and moves it to the trash", "content": { "application/json": { "schema": { "properties": { - "dns_zone": { - "description": "The DNS zones for the provided organization", + "disk_backup_policy": { + "description": "The disk backup policy that has been destroyed", "allOf": [ { - "$ref": "#/components/schemas/DNSZone" + "$ref": "#/components/schemas/DeleteDiskBackupPolicy200ResponseDiskBackupPolicy" } ] } }, "required": [ - "dns_zone" + "disk_backup_policy" ] } } @@ -3712,61 +3846,62 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DNSZoneNotFoundResponse" + "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" }, - "422": { - "$ref": "#/components/responses/DNSZoneNotVerifiedResponse" + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/dns_zones/:dns_zone/records": { - "get": { - "operationId": "get:dns_zone_records", + }, + "patch": { + "operationId": "patch:disk_backup_policy", "tags": [ "Core" ], - "parameters": [ - { - "name": "dns_zone[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "dns_zone[name]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk_backup_policy": { + "$ref": "#/components/schemas/DiskBackupPolicyLookup" + }, + "properties": { + "$ref": "#/components/schemas/DiskBackupPolicyArguments" + } + }, + "required": [ + "disk_backup_policy", + "properties" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Return a list of all DNS records in a zone", + "description": "Updates the disk backup policy with the provided details", "content": { "application/json": { "schema": { "properties": { - "dns_records": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DNSRecord" - }, - "description": "The DNS record for the provided zone" + "disk_backup_policy": { + "description": "The disk backup policy that has been updated", + "allOf": [ + { + "$ref": "#/components/schemas/PatchDiskBackupPolicy200ResponseDiskBackupPolicy" + } + ] } }, "required": [ - "dns_records" + "disk_backup_policy" ] } } @@ -3779,15 +3914,23 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DNSZoneNotFoundResponse" + "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - }, - "post": { - "operationId": "post:dns_zone_records", + } + }, + "/disk_backup_policies/:disk_backup_policy/schedule": { + "delete": { + "operationId": "delete:disk_backup_policy_schedule", "tags": [ "Core" ], @@ -3796,16 +3939,17 @@ "application/json": { "schema": { "properties": { - "dns_zone": { - "$ref": "#/components/schemas/DNSZoneLookup" + "disk_backup_policy": { + "$ref": "#/components/schemas/DiskBackupPolicyLookup" }, - "properties": { - "$ref": "#/components/schemas/DNSRecordArguments" + "timestamp": { + "type": "integer", + "description": "The time the disk backup policy will be moved to the trash automatically." } }, "required": [ - "dns_zone", - "properties" + "disk_backup_policy", + "timestamp" ] } } @@ -3813,33 +3957,38 @@ }, "responses": { "200": { - "description": "Create a new DNS record", + "description": "Schedules a disk backup policy to be moved to the trash at a specific time. The backup policy will continue to function as normal until this time is reached.", "content": { "application/json": { "schema": { "properties": { - "dns_record": { - "$ref": "#/components/schemas/DNSRecord" + "disk_backup_policy": { + "description": "The disk backup policy that has been scheduled for deletion", + "allOf": [ + { + "$ref": "#/components/schemas/DeleteDiskBackupPolicySchedule200ResponseDiskBackupPolicy" + } + ] } }, "required": [ - "dns_record" + "disk_backup_policy" ] } } } }, "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" + "$ref": "#/components/responses/InvalidTimestamp400Res" }, "403": { "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DNSZoneNotFoundResponse" + "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -3847,40 +3996,65 @@ } } }, - "/dns_records/:dns_record": { + "/organizations/:organization/dns_zones": { "get": { - "operationId": "get:dns_record", + "operationId": "get:organization_dns_zones", "tags": [ "Core" ], "parameters": [ { - "name": "dns_record[id]", + "name": "organization[id]", "in": "query", "schema": { "type": "string" }, - "description": "All 'dns_record[]' params are mutually exclusive, only one can be provided." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "organization[sub_domain]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" + } } ], "responses": { "200": { - "description": "Return details for a specific DNS record", + "description": "Return a list of all DNS zones", "content": { "application/json": { "schema": { "properties": { - "dns_record": { - "description": "The DNS record for the provided organization", - "allOf": [ - { - "$ref": "#/components/schemas/DNSRecord" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "dns_zones": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DNSZone" + }, + "description": "The DNS zones for the provided organization" } }, "required": [ - "dns_record" + "pagination", + "dns_zones" ] } } @@ -3890,18 +4064,18 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DNSRecordNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } }, - "patch": { - "operationId": "patch:dns_record", + "post": { + "operationId": "post:organization_dns_zones", "tags": [ "Core" ], @@ -3910,15 +4084,15 @@ "application/json": { "schema": { "properties": { - "dns_record": { - "$ref": "#/components/schemas/DNSRecordLookup" + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" }, "properties": { - "$ref": "#/components/schemas/DNSRecordArguments" + "$ref": "#/components/schemas/DNSZoneArguments" } }, "required": [ - "dns_record", + "organization", "properties" ] } @@ -3926,23 +4100,23 @@ } }, "responses": { - "200": { - "description": "Update a DNS record properties", + "201": { + "description": "Create a new DNS zone within an existing organization", "content": { "application/json": { "schema": { "properties": { - "dns_record": { - "description": "The DNS record that has been updated", + "dns_zone": { + "description": "The new DNS zone that has been created", "allOf": [ { - "$ref": "#/components/schemas/DNSRecord" + "$ref": "#/components/schemas/DNSZone" } ] } }, "required": [ - "dns_record" + "dns_zone" ] } } @@ -3952,10 +4126,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" }, "404": { - "$ref": "#/components/responses/DNSRecordNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -3964,41 +4138,48 @@ "$ref": "#/components/responses/APIAuthenticator429Response" } } - }, - "delete": { - "operationId": "delete:dns_record", + } + }, + "/organizations/:organization/dns_zones/nameservers": { + "get": { + "operationId": "get:organization_dns_zones_nameservers", "tags": [ "Core" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "dns_record": { - "$ref": "#/components/schemas/DNSRecordLookup" - } - }, - "required": [ - "dns_record" - ] - } - } + "parameters": [ + { + "name": "organization[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "organization[sub_domain]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." } - }, + ], "responses": { "200": { - "description": "Delete a DNS record", + "description": "Return a list of nameservers that should be used for DNS zones within a given organization", "content": { "application/json": { "schema": { "properties": { - "deleted": { - "type": "boolean" + "nameservers": { + "type": "array", + "items": { + "type": "string" + } } }, "required": [ - "deleted" + "nameservers" ] } } @@ -4008,10 +4189,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DNSRecordNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4019,65 +4200,48 @@ } } }, - "/organizations/:organization/security_groups": { + "/dns_zones/:dns_zone": { "get": { - "operationId": "get:organization_security_groups", + "operationId": "get:dns_zone", "tags": [ "Core" ], "parameters": [ { - "name": "organization[id]", + "name": "dns_zone[id]", "in": "query", "schema": { "type": "string" }, - "description": "The organization to return all security groups for. All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." }, { - "name": "organization[sub_domain]", + "name": "dns_zone[name]", "in": "query", "schema": { "type": "string" }, - "description": "The organization to return all security groups for. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns a list of all security groups for a given organization", + "description": "Return details for a specific DNS zone", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "security_groups": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SecurityGroup" - }, - "description": "The security groups owned by this organization" + "dns_zone": { + "description": "The DNS zones for the provided organization", + "allOf": [ + { + "$ref": "#/components/schemas/DNSZone" + } + ] } }, "required": [ - "pagination", - "security_groups" + "dns_zone" ] } } @@ -4087,18 +4251,18 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/DNSZoneNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } }, - "post": { - "operationId": "post:organization_security_groups", + "patch": { + "operationId": "patch:dns_zone", "tags": [ "Core" ], @@ -4107,15 +4271,15 @@ "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" + "dns_zone": { + "$ref": "#/components/schemas/DNSZoneLookup" }, "properties": { - "$ref": "#/components/schemas/SecurityGroupArguments" + "$ref": "#/components/schemas/DNSZoneArguments" } }, "required": [ - "organization", + "dns_zone", "properties" ] } @@ -4124,22 +4288,22 @@ }, "responses": { "200": { - "description": "Create a new security group for a given organization", + "description": "Update properties for a DNS zone", "content": { "application/json": { "schema": { "properties": { - "security_group": { - "description": "The security group that has been created", + "dns_zone": { + "description": "The DNS zones for the provided organization", "allOf": [ { - "$ref": "#/components/schemas/SecurityGroup" + "$ref": "#/components/schemas/DNSZone" } ] } }, "required": [ - "security_group" + "dns_zone" ] } } @@ -4149,10 +4313,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/DNSZoneNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -4161,63 +4325,9 @@ "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/security_groups/:security_group": { - "get": { - "operationId": "get:security_group", - "tags": [ - "Core" - ], - "parameters": [ - { - "name": "security_group[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The security group to return the details for. All 'security_group[]' params are mutually exclusive, only one can be provided." - } - ], - "responses": { - "200": { - "description": "Returns details about a security group", - "content": { - "application/json": { - "schema": { - "properties": { - "security_group": { - "description": "The security group", - "allOf": [ - { - "$ref": "#/components/schemas/SecurityGroup" - } - ] - } - }, - "required": [ - "security_group" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" - }, - "404": { - "$ref": "#/components/responses/SecurityGroupNotFoundResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - } - } }, - "patch": { - "operationId": "patch:security_group", + "delete": { + "operationId": "delete:dns_zone", "tags": [ "Core" ], @@ -4226,16 +4336,12 @@ "application/json": { "schema": { "properties": { - "security_group": { - "$ref": "#/components/schemas/SecurityGroupLookup" - }, - "properties": { - "$ref": "#/components/schemas/SecurityGroupArguments" + "dns_zone": { + "$ref": "#/components/schemas/DNSZoneLookup" } }, "required": [ - "security_group", - "properties" + "dns_zone" ] } } @@ -4243,22 +4349,17 @@ }, "responses": { "200": { - "description": "Updates a security group with new properties", + "description": "Delete a DNS zone", "content": { "application/json": { "schema": { "properties": { - "security_group": { - "description": "The security group that has been updated", - "allOf": [ - { - "$ref": "#/components/schemas/SecurityGroup" - } - ] + "deleted": { + "type": "boolean" } }, "required": [ - "security_group" + "deleted" ] } } @@ -4268,21 +4369,20 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/SecurityGroupNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/DNSZoneNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - }, - "delete": { - "operationId": "delete:security_group", + } + }, + "/dns_zones/:dns_zone/verify": { + "post": { + "operationId": "post:dns_zone_verify", "tags": [ "Core" ], @@ -4291,12 +4391,12 @@ "application/json": { "schema": { "properties": { - "security_group": { - "$ref": "#/components/schemas/SecurityGroupLookup" + "dns_zone": { + "$ref": "#/components/schemas/DNSZoneLookup" } }, "required": [ - "security_group" + "dns_zone" ] } } @@ -4304,22 +4404,22 @@ }, "responses": { "200": { - "description": "Delete a security group", + "description": "Attempt to verify the nameservers for a given DNS zone", "content": { "application/json": { "schema": { "properties": { - "security_group": { - "description": "The security group that has been destroyed", + "dns_zone": { + "description": "The DNS zones for the provided organization", "allOf": [ { - "$ref": "#/components/schemas/DeleteSecurityGroup200ResponseSecurityGroup" + "$ref": "#/components/schemas/DNSZone" } ] } }, "required": [ - "security_group" + "dns_zone" ] } } @@ -4329,16 +4429,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/SecurityGroupNotFoundResponse" - }, - "409": { - "$ref": "#/components/responses/DeletionRestrictedResponse" + "$ref": "#/components/responses/DNSZoneNotFoundResponse" }, "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/DNSZoneNotVerifiedResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4346,57 +4443,47 @@ } } }, - "/security_groups/:security_group/rules": { + "/dns_zones/:dns_zone/records": { "get": { - "operationId": "get:security_group_rules", + "operationId": "get:dns_zone_records", "tags": [ "Core" ], "parameters": [ { - "name": "security_group[id]", + "name": "dns_zone[id]", "in": "query", "schema": { "type": "string" }, - "description": "The security group to return all load rules for. All 'security_group[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } + "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." }, { - "name": "per_page", + "name": "dns_zone[name]", "in": "query", "schema": { - "type": "integer" - } + "type": "string" + }, + "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns a list of all rules for a given security group", + "description": "Return a list of all DNS records in a zone", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "security_group_rules": { + "dns_records": { "type": "array", "items": { - "$ref": "#/components/schemas/GetSecurityGroupRules200ResponseSecurityGroupRules" + "$ref": "#/components/schemas/DNSRecord" }, - "description": "The security group rules for this security group" + "description": "The DNS record for the provided zone" } }, "required": [ - "pagination", - "security_group_rules" + "dns_records" ] } } @@ -4409,7 +4496,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/SecurityGroupNotFoundResponse" + "$ref": "#/components/responses/DNSZoneNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4417,7 +4504,7 @@ } }, "post": { - "operationId": "post:security_group_rules", + "operationId": "post:dns_zone_records", "tags": [ "Core" ], @@ -4426,15 +4513,15 @@ "application/json": { "schema": { "properties": { - "security_group": { - "$ref": "#/components/schemas/SecurityGroupLookup" + "dns_zone": { + "$ref": "#/components/schemas/DNSZoneLookup" }, "properties": { - "$ref": "#/components/schemas/SecurityGroupRuleArguments" + "$ref": "#/components/schemas/DNSRecordArguments" } }, "required": [ - "security_group", + "dns_zone", "properties" ] } @@ -4443,22 +4530,17 @@ }, "responses": { "200": { - "description": "Create a new security group rule", + "description": "Create a new DNS record", "content": { "application/json": { "schema": { "properties": { - "security_group_rule": { - "description": "The security group rule that has been created", - "allOf": [ - { - "$ref": "#/components/schemas/PostSecurityGroupRules200ResponseSecurityGroupRule" - } - ] + "dns_record": { + "$ref": "#/components/schemas/DNSRecord" } }, "required": [ - "security_group_rule" + "dns_record" ] } } @@ -4471,7 +4553,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/SecurityGroupNotFoundResponse" + "$ref": "#/components/responses/DNSZoneNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -4482,40 +4564,40 @@ } } }, - "/security_groups/rules/:security_group_rule": { + "/dns_records/:dns_record": { "get": { - "operationId": "get:security_groups_rules_security_group_rule", + "operationId": "get:dns_record", "tags": [ "Core" ], "parameters": [ { - "name": "security_group_rule[id]", + "name": "dns_record[id]", "in": "query", "schema": { "type": "string" }, - "description": "The security group rule to return the details for. All 'security_group_rule[]' params are mutually exclusive, only one can be provided." + "description": "All 'dns_record[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns details about a security group rule", + "description": "Return details for a specific DNS record", "content": { "application/json": { "schema": { "properties": { - "security_group_rule": { - "description": "The resolved security group rule", + "dns_record": { + "description": "The DNS record for the provided organization", "allOf": [ { - "$ref": "#/components/schemas/GetSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" + "$ref": "#/components/schemas/DNSRecord" } ] } }, "required": [ - "security_group_rule" + "dns_record" ] } } @@ -4525,10 +4607,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" + "$ref": "#/components/responses/DNSRecordNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4536,7 +4618,7 @@ } }, "patch": { - "operationId": "patch:security_groups_rules_security_group_rule", + "operationId": "patch:dns_record", "tags": [ "Core" ], @@ -4545,15 +4627,15 @@ "application/json": { "schema": { "properties": { - "security_group_rule": { - "$ref": "#/components/schemas/SecurityGroupRuleLookup" + "dns_record": { + "$ref": "#/components/schemas/DNSRecordLookup" }, "properties": { - "$ref": "#/components/schemas/SecurityGroupRuleArguments" + "$ref": "#/components/schemas/DNSRecordArguments" } }, "required": [ - "security_group_rule", + "dns_record", "properties" ] } @@ -4562,22 +4644,22 @@ }, "responses": { "200": { - "description": "Updates a security group rule with new properties", + "description": "Update a DNS record properties", "content": { "application/json": { "schema": { "properties": { - "security_group_rule": { - "description": "The security group that has been updated", + "dns_record": { + "description": "The DNS record that has been updated", "allOf": [ { - "$ref": "#/components/schemas/PatchSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" + "$ref": "#/components/schemas/DNSRecord" } ] } }, "required": [ - "security_group_rule" + "dns_record" ] } } @@ -4587,10 +4669,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" + "$ref": "#/components/responses/DNSRecordNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -4601,7 +4683,7 @@ } }, "delete": { - "operationId": "delete:security_groups_rules_security_group_rule", + "operationId": "delete:dns_record", "tags": [ "Core" ], @@ -4610,12 +4692,12 @@ "application/json": { "schema": { "properties": { - "security_group_rule": { - "$ref": "#/components/schemas/SecurityGroupRuleLookup" + "dns_record": { + "$ref": "#/components/schemas/DNSRecordLookup" } }, "required": [ - "security_group_rule" + "dns_record" ] } } @@ -4623,22 +4705,17 @@ }, "responses": { "200": { - "description": "Delete a security group rule", + "description": "Delete a DNS record", "content": { "application/json": { "schema": { "properties": { - "security_group_rule": { - "description": "The security group rule that has been destroyed", - "allOf": [ - { - "$ref": "#/components/schemas/DeleteSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" - } - ] + "deleted": { + "type": "boolean" } }, "required": [ - "security_group_rule" + "deleted" ] } } @@ -4648,13 +4725,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/DNSRecordNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4662,9 +4736,9 @@ } } }, - "/organizations/:organization/file_storage_volumes": { + "/organizations/:organization/security_groups": { "get": { - "operationId": "get:organization_file_storage_volumes", + "operationId": "get:organization_security_groups", "tags": [ "Core" ], @@ -4675,7 +4749,7 @@ "schema": { "type": "string" }, - "description": "The organization to return all file storage volumes for. All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization to return all security groups for. All 'organization[]' params are mutually exclusive, only one can be provided." }, { "name": "organization[sub_domain]", @@ -4683,7 +4757,7 @@ "schema": { "type": "string" }, - "description": "The organization to return all file storage volumes for. All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization to return all security groups for. All 'organization[]' params are mutually exclusive, only one can be provided." }, { "name": "page", @@ -4702,7 +4776,7 @@ ], "responses": { "200": { - "description": "Returns a list of all file storage volumes for a given organization", + "description": "Returns a list of all security groups for a given organization", "content": { "application/json": { "schema": { @@ -4710,17 +4784,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "file_storage_volumes": { + "security_groups": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationFileStorageVolumes200ResponseFileStorageVolumes" + "$ref": "#/components/schemas/SecurityGroup" }, - "description": "A list of all file storage volumes for the given organization." + "description": "The security groups owned by this organization" } }, "required": [ "pagination", - "file_storage_volumes" + "security_groups" ] } } @@ -4741,7 +4815,7 @@ } }, "post": { - "operationId": "post:organization_file_storage_volumes", + "operationId": "post:organization_security_groups", "tags": [ "Core" ], @@ -4754,7 +4828,7 @@ "$ref": "#/components/schemas/OrganizationLookup" }, "properties": { - "$ref": "#/components/schemas/FileStorageVolumeArguments" + "$ref": "#/components/schemas/SecurityGroupArguments" } }, "required": [ @@ -4766,23 +4840,23 @@ } }, "responses": { - "201": { - "description": "Create a new file storage volume for a given organization.", + "200": { + "description": "Create a new security group for a given organization", "content": { "application/json": { "schema": { "properties": { - "file_storage_volume": { - "description": "The file storage volume.", + "security_group": { + "description": "The security group that has been created", "allOf": [ { - "$ref": "#/components/schemas/PostOrganizationFileStorageVolumes201ResponseFileStorageVolume" + "$ref": "#/components/schemas/SecurityGroup" } ] } }, "required": [ - "file_storage_volume" + "security_group" ] } } @@ -4806,40 +4880,40 @@ } } }, - "/file_storage_volumes/:file_storage_volume": { + "/security_groups/:security_group": { "get": { - "operationId": "get:file_storage_volume", + "operationId": "get:security_group", "tags": [ "Core" ], "parameters": [ { - "name": "file_storage_volume[id]", + "name": "security_group[id]", "in": "query", "schema": { "type": "string" }, - "description": "The file storage volume to return. All 'file_storage_volume[]' params are mutually exclusive, only one can be provided." + "description": "The security group to return the details for. All 'security_group[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns details for a file storage volume.", + "description": "Returns details about a security group", "content": { "application/json": { "schema": { "properties": { - "file_storage_volume": { - "description": "The file storage volume.", + "security_group": { + "description": "The security group", "allOf": [ { - "$ref": "#/components/schemas/GetFileStorageVolume200ResponseFileStorageVolume" + "$ref": "#/components/schemas/SecurityGroup" } ] } }, "required": [ - "file_storage_volume" + "security_group" ] } } @@ -4849,13 +4923,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/FileStorageVolumeNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/SecurityGroupNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4863,7 +4934,7 @@ } }, "patch": { - "operationId": "patch:file_storage_volume", + "operationId": "patch:security_group", "tags": [ "Core" ], @@ -4872,15 +4943,15 @@ "application/json": { "schema": { "properties": { - "file_storage_volume": { - "$ref": "#/components/schemas/FileStorageVolumeLookup" + "security_group": { + "$ref": "#/components/schemas/SecurityGroupLookup" }, "properties": { - "$ref": "#/components/schemas/FileStorageVolumeArguments" + "$ref": "#/components/schemas/SecurityGroupArguments" } }, "required": [ - "file_storage_volume", + "security_group", "properties" ] } @@ -4889,22 +4960,22 @@ }, "responses": { "200": { - "description": "Update a file storage volume with new properties.", + "description": "Updates a security group with new properties", "content": { "application/json": { "schema": { "properties": { - "file_storage_volume": { - "description": "The file storage volume.", + "security_group": { + "description": "The security group that has been updated", "allOf": [ { - "$ref": "#/components/schemas/PatchFileStorageVolume200ResponseFileStorageVolume" + "$ref": "#/components/schemas/SecurityGroup" } ] } }, "required": [ - "file_storage_volume" + "security_group" ] } } @@ -4917,10 +4988,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/FileStorageVolumeNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/SecurityGroupNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -4931,7 +4999,7 @@ } }, "delete": { - "operationId": "delete:file_storage_volume", + "operationId": "delete:security_group", "tags": [ "Core" ], @@ -4940,12 +5008,12 @@ "application/json": { "schema": { "properties": { - "file_storage_volume": { - "$ref": "#/components/schemas/FileStorageVolumeLookup" + "security_group": { + "$ref": "#/components/schemas/SecurityGroupLookup" } }, "required": [ - "file_storage_volume" + "security_group" ] } } @@ -4953,26 +5021,22 @@ }, "responses": { "200": { - "description": "Delete a file storage volume.", + "description": "Delete a security group", "content": { "application/json": { "schema": { "properties": { - "trash_object": { - "$ref": "#/components/schemas/TrashObject" - }, - "file_storage_volume": { - "description": "The file storage volume that has been destroyed.", + "security_group": { + "description": "The security group that has been destroyed", "allOf": [ { - "$ref": "#/components/schemas/DeleteFileStorageVolume200ResponseFileStorageVolume" + "$ref": "#/components/schemas/DeleteSecurityGroup200ResponseSecurityGroup" } ] } }, "required": [ - "trash_object", - "file_storage_volume" + "security_group" ] } } @@ -4985,10 +5049,10 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/FileStorageVolumeNotFoundResponse" + "$ref": "#/components/responses/SecurityGroupNotFoundResponse" }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "409": { + "$ref": "#/components/responses/DeletionRestrictedResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -4999,53 +5063,57 @@ } } }, - "/organizations/:organization/available_networks": { + "/security_groups/:security_group/rules": { "get": { - "operationId": "get:organization_available_networks", + "operationId": "get:security_group_rules", "tags": [ "Core" ], "parameters": [ { - "name": "organization[id]", + "name": "security_group[id]", "in": "query", "schema": { "type": "string" }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The security group to return all load rules for. All 'security_group[]' params are mutually exclusive, only one can be provided." }, { - "name": "organization[sub_domain]", + "name": "page", "in": "query", "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "type": "integer" + } + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" + } } ], "responses": { "200": { - "description": "Returns a list of all networks available for an organization", + "description": "Returns a list of all rules for a given security group", "content": { "application/json": { "schema": { "properties": { - "networks": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizationAvailableNetworks200ResponseNetworks" - } + "pagination": { + "$ref": "#/components/schemas/PaginationObject" }, - "virtual_networks": { + "security_group_rules": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationAvailableNetworks200ResponseVirtualNetworks" - } + "$ref": "#/components/schemas/GetSecurityGroupRules200ResponseSecurityGroupRules" + }, + "description": "The security group rules for this security group" } }, "required": [ - "networks", - "virtual_networks" + "pagination", + "security_group_rules" ] } } @@ -5055,59 +5123,59 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/SecurityGroupNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/networks/:network": { - "get": { - "operationId": "get:network", + }, + "post": { + "operationId": "post:security_group_rules", "tags": [ "Core" ], - "parameters": [ - { - "name": "network[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The network to return. All 'network[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "network[permalink]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The network to return. All 'network[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "security_group": { + "$ref": "#/components/schemas/SecurityGroupLookup" + }, + "properties": { + "$ref": "#/components/schemas/SecurityGroupRuleArguments" + } + }, + "required": [ + "security_group", + "properties" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Returns details for a specific network", + "description": "Create a new security group rule", "content": { "application/json": { "schema": { "properties": { - "network": { - "description": "The details for the requested network", + "security_group_rule": { + "description": "The security group rule that has been created", "allOf": [ { - "$ref": "#/components/schemas/Network" + "$ref": "#/components/schemas/PostSecurityGroupRules200ResponseSecurityGroupRule" } ] } }, "required": [ - "network" + "security_group_rule" ] } } @@ -5117,10 +5185,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/NetworkNotFoundResponse" + "$ref": "#/components/responses/SecurityGroupNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5128,65 +5199,40 @@ } } }, - "/organizations/:organization/network_speed_profiles": { + "/security_groups/rules/:security_group_rule": { "get": { - "operationId": "get:organization_network_speed_profiles", + "operationId": "get:security_groups_rules_security_group_rule", "tags": [ "Core" ], "parameters": [ { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to use when looking up network speed profiles. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "organization[sub_domain]", + "name": "security_group_rule[id]", "in": "query", "schema": { "type": "string" }, - "description": "The organization to use when looking up network speed profiles. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "description": "The security group rule to return the details for. All 'security_group_rule[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns a list of all network speed profiles available to an organization", + "description": "Returns details about a security group rule", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "network_speed_profiles": { - "type": "array", - "items": { - "$ref": "#/components/schemas/NetworkSpeedProfile" - }, - "description": "The network speed profiles available to this organization" + "security_group_rule": { + "description": "The resolved security group rule", + "allOf": [ + { + "$ref": "#/components/schemas/GetSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" + } + ] } }, "required": [ - "pagination", - "network_speed_profiles" + "security_group_rule" ] } } @@ -5196,60 +5242,59 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/address_lists": { - "get": { - "operationId": "get:address_lists", + }, + "patch": { + "operationId": "patch:security_groups_rules_security_group_rule", "tags": [ "Core" ], - "parameters": [ - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "security_group_rule": { + "$ref": "#/components/schemas/SecurityGroupRuleLookup" + }, + "properties": { + "$ref": "#/components/schemas/SecurityGroupRuleArguments" + } + }, + "required": [ + "security_group_rule", + "properties" + ] + } } } - ], + }, "responses": { "200": { - "description": "Returns a list of all global address lists.", + "description": "Updates a security group rule with new properties", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "address_lists": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetAddressLists200ResponseAddressLists" - }, - "description": "A list of all global address lists." + "security_group_rule": { + "description": "The security group that has been updated", + "allOf": [ + { + "$ref": "#/components/schemas/PatchSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" + } + ] } }, "required": [ - "pagination", - "address_lists" + "security_group_rule" ] } } @@ -5259,55 +5304,122 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/organizations/:organization/address_lists": { - "get": { - "operationId": "get:organization_address_lists", + }, + "delete": { + "operationId": "delete:security_groups_rules_security_group_rule", "tags": [ "Core" ], - "parameters": [ - { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization for which the address lists should be returned. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization for which the address lists should be returned. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "security_group_rule": { + "$ref": "#/components/schemas/SecurityGroupRuleLookup" + } + }, + "required": [ + "security_group_rule" + ] + } } } - ], + }, "responses": { "200": { - "description": "Returns a list of all address lists for a given organization", + "description": "Delete a security group rule", + "content": { + "application/json": { + "schema": { + "properties": { + "security_group_rule": { + "description": "The security group rule that has been destroyed", + "allOf": [ + { + "$ref": "#/components/schemas/DeleteSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" + } + ] + } + }, + "required": [ + "security_group_rule" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + } + } + } + }, + "/organizations/:organization/file_storage_volumes": { + "get": { + "operationId": "get:organization_file_storage_volumes", + "tags": [ + "Core" + ], + "parameters": [ + { + "name": "organization[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The organization to return all file storage volumes for. All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "organization[sub_domain]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The organization to return all file storage volumes for. All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "Returns a list of all file storage volumes for a given organization", "content": { "application/json": { "schema": { @@ -5315,17 +5427,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "address_lists": { + "file_storage_volumes": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationAddressLists200ResponseAddressLists" + "$ref": "#/components/schemas/GetOrganizationFileStorageVolumes200ResponseFileStorageVolumes" }, - "description": "A list of all address lists for the given organization." + "description": "A list of all file storage volumes for the given organization." } }, "required": [ "pagination", - "address_lists" + "file_storage_volumes" ] } } @@ -5346,7 +5458,7 @@ } }, "post": { - "operationId": "post:organization_address_lists", + "operationId": "post:organization_file_storage_volumes", "tags": [ "Core" ], @@ -5359,7 +5471,7 @@ "$ref": "#/components/schemas/OrganizationLookup" }, "properties": { - "$ref": "#/components/schemas/AddressListArguments" + "$ref": "#/components/schemas/FileStorageVolumeArguments" } }, "required": [ @@ -5372,22 +5484,22 @@ }, "responses": { "201": { - "description": "Create a new address list for a given organization.", + "description": "Create a new file storage volume for a given organization.", "content": { "application/json": { "schema": { "properties": { - "address_list": { - "description": "The address list.", + "file_storage_volume": { + "description": "The file storage volume.", "allOf": [ { - "$ref": "#/components/schemas/AddressList" + "$ref": "#/components/schemas/PostOrganizationFileStorageVolumes201ResponseFileStorageVolume" } ] } }, "required": [ - "address_list" + "file_storage_volume" ] } } @@ -5397,7 +5509,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" @@ -5411,40 +5523,40 @@ } } }, - "/address_lists/:address_list": { + "/file_storage_volumes/:file_storage_volume": { "get": { - "operationId": "get:address_list", + "operationId": "get:file_storage_volume", "tags": [ "Core" ], "parameters": [ { - "name": "address_list[id]", + "name": "file_storage_volume[id]", "in": "query", "schema": { "type": "string" }, - "description": "The address list to return. All 'address_list[]' params are mutually exclusive, only one can be provided." + "description": "The file storage volume to return. All 'file_storage_volume[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns details for a address list.", + "description": "Returns details for a file storage volume.", "content": { "application/json": { "schema": { "properties": { - "address_list": { - "description": "The address list.", + "file_storage_volume": { + "description": "The file storage volume.", "allOf": [ { - "$ref": "#/components/schemas/AddressList" + "$ref": "#/components/schemas/GetFileStorageVolume200ResponseFileStorageVolume" } ] } }, "required": [ - "address_list" + "file_storage_volume" ] } } @@ -5454,10 +5566,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/AddressListNotFoundResponse" + "$ref": "#/components/responses/FileStorageVolumeNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5465,7 +5580,7 @@ } }, "patch": { - "operationId": "patch:address_list", + "operationId": "patch:file_storage_volume", "tags": [ "Core" ], @@ -5474,15 +5589,15 @@ "application/json": { "schema": { "properties": { - "address_list": { - "$ref": "#/components/schemas/AddressListLookup" + "file_storage_volume": { + "$ref": "#/components/schemas/FileStorageVolumeLookup" }, "properties": { - "$ref": "#/components/schemas/AddressListArguments" + "$ref": "#/components/schemas/FileStorageVolumeArguments" } }, "required": [ - "address_list", + "file_storage_volume", "properties" ] } @@ -5491,22 +5606,22 @@ }, "responses": { "200": { - "description": "Update a address list with new properties.", + "description": "Update a file storage volume with new properties.", "content": { "application/json": { "schema": { "properties": { - "address_list": { - "description": "The address list.", + "file_storage_volume": { + "description": "The file storage volume.", "allOf": [ { - "$ref": "#/components/schemas/AddressList" + "$ref": "#/components/schemas/PatchFileStorageVolume200ResponseFileStorageVolume" } ] } }, "required": [ - "address_list" + "file_storage_volume" ] } } @@ -5519,7 +5634,10 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/AddressListNotFoundResponse" + "$ref": "#/components/responses/FileStorageVolumeNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -5530,7 +5648,7 @@ } }, "delete": { - "operationId": "delete:address_list", + "operationId": "delete:file_storage_volume", "tags": [ "Core" ], @@ -5539,12 +5657,12 @@ "application/json": { "schema": { "properties": { - "address_list": { - "$ref": "#/components/schemas/AddressListLookup" + "file_storage_volume": { + "$ref": "#/components/schemas/FileStorageVolumeLookup" } }, "required": [ - "address_list" + "file_storage_volume" ] } } @@ -5552,22 +5670,26 @@ }, "responses": { "200": { - "description": "Delete a address list.", + "description": "Delete a file storage volume.", "content": { "application/json": { "schema": { "properties": { - "address_list": { - "description": "The address list that has been destroyed.", + "trash_object": { + "$ref": "#/components/schemas/TrashObject" + }, + "file_storage_volume": { + "description": "The file storage volume that has been destroyed.", "allOf": [ { - "$ref": "#/components/schemas/AddressList" + "$ref": "#/components/schemas/DeleteFileStorageVolume200ResponseFileStorageVolume" } ] } }, "required": [ - "address_list" + "trash_object", + "file_storage_volume" ] } } @@ -5580,7 +5702,13 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/AddressListNotFoundResponse" + "$ref": "#/components/responses/FileStorageVolumeNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5588,57 +5716,53 @@ } } }, - "/address_lists/:address_list/entries": { + "/organizations/:organization/available_networks": { "get": { - "operationId": "get:address_list_entries", + "operationId": "get:organization_available_networks", "tags": [ "Core" ], "parameters": [ { - "name": "address_list[id]", + "name": "organization[id]", "in": "query", "schema": { "type": "string" }, - "description": "The address list for which the entries should be returned. All 'address_list[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "name": "per_page", + "name": "organization[sub_domain]", "in": "query", "schema": { - "type": "integer" - } + "type": "string" + }, + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns a list of all address list entries for a given address list", + "description": "Returns a list of all networks available for an organization", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" + "networks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizationAvailableNetworks200ResponseNetworks" + } }, - "address_list_entries": { + "virtual_networks": { "type": "array", "items": { - "$ref": "#/components/schemas/AddressListEntry" - }, - "description": "A list of all address list entries for the given address list." + "$ref": "#/components/schemas/GetOrganizationAvailableNetworks200ResponseVirtualNetworks" + } } }, "required": [ - "pagination", - "address_list_entries" + "networks", + "virtual_networks" ] } } @@ -5648,59 +5772,59 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/AddressListNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - }, - "post": { - "operationId": "post:address_list_entries", + } + }, + "/networks/:network": { + "get": { + "operationId": "get:network", "tags": [ "Core" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "address_list": { - "$ref": "#/components/schemas/AddressListLookup" - }, - "properties": { - "$ref": "#/components/schemas/AddressListEntryArguments" - } - }, - "required": [ - "address_list", - "properties" - ] - } - } + "parameters": [ + { + "name": "network[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The network to return. All 'network[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "network[permalink]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The network to return. All 'network[]' params are mutually exclusive, only one can be provided." } - }, + ], "responses": { - "201": { - "description": "Create a new address list entry for a given address list.", + "200": { + "description": "Returns details for a specific network", "content": { "application/json": { "schema": { "properties": { - "address_list_entry": { - "description": "The address list entry.", + "network": { + "description": "The details for the requested network", "allOf": [ { - "$ref": "#/components/schemas/AddressListEntry" + "$ref": "#/components/schemas/Network" } ] } }, "required": [ - "address_list_entry" + "network" ] } } @@ -5710,13 +5834,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/AddressListNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/NetworkNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5724,102 +5845,65 @@ } } }, - "/address_list_entries/:address_list_entry": { + "/organizations/:organization/network_speed_profiles": { "get": { - "operationId": "get:address_list_entry", + "operationId": "get:organization_network_speed_profiles", "tags": [ "Core" ], "parameters": [ { - "name": "address_list_entry[id]", + "name": "organization[id]", "in": "query", "schema": { "type": "string" }, - "description": "The address list entry to return. All 'address_list_entry[]' params are mutually exclusive, only one can be provided." - } - ], - "responses": { - "200": { - "description": "Returns details for an address list entry.", - "content": { - "application/json": { - "schema": { - "properties": { - "address_list_entry": { - "description": "The address list entry.", - "allOf": [ - { - "$ref": "#/components/schemas/AddressListEntry" - } - ] - } - }, - "required": [ - "address_list_entry" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" + "description": "The organization to use when looking up network speed profiles. All 'organization[]' params are mutually exclusive, only one can be provided." }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + { + "name": "organization[sub_domain]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The organization to use when looking up network speed profiles. All 'organization[]' params are mutually exclusive, only one can be provided." }, - "404": { - "$ref": "#/components/responses/AddressListEntryNotFoundResponse" + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - } - } - }, - "patch": { - "operationId": "patch:address_list_entry", - "tags": [ - "Core" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "address_list_entry": { - "$ref": "#/components/schemas/AddressListEntryLookup" - }, - "properties": { - "$ref": "#/components/schemas/AddressListEntryArguments" - } - }, - "required": [ - "address_list_entry", - "properties" - ] - } + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" } } - }, + ], "responses": { "200": { - "description": "Update an address list entry with new properties.", + "description": "Returns a list of all network speed profiles available to an organization", "content": { "application/json": { "schema": { "properties": { - "address_list_entry": { - "description": "The address list entry.", - "allOf": [ - { - "$ref": "#/components/schemas/AddressListEntry" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "network_speed_profiles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NetworkSpeedProfile" + }, + "description": "The network speed profiles available to this organization" } }, "required": [ - "address_list_entry" + "pagination", + "network_speed_profiles" ] } } @@ -5829,58 +5913,60 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/AddressListEntryNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - }, - "delete": { - "operationId": "delete:address_list_entry", + } + }, + "/address_lists": { + "get": { + "operationId": "get:address_lists", "tags": [ "Core" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "address_list_entry": { - "$ref": "#/components/schemas/AddressListEntryLookup" - } - }, - "required": [ - "address_list_entry" - ] - } + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" } } - }, + ], "responses": { "200": { - "description": "Delete an address list entry.", + "description": "Returns a list of all global address lists.", "content": { "application/json": { "schema": { "properties": { - "address_list_entry": { - "description": "The address list entry that has been destroyed.", - "allOf": [ - { - "$ref": "#/components/schemas/AddressListEntry" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "address_lists": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetAddressLists200ResponseAddressLists" + }, + "description": "A list of all global address lists." } }, "required": [ - "address_list_entry" + "pagination", + "address_lists" ] } } @@ -5890,10 +5976,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" - }, - "404": { - "$ref": "#/components/responses/AddressListEntryNotFoundResponse" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5901,9 +5984,9 @@ } } }, - "/organizations/:organization/certificates": { + "/organizations/:organization/address_lists": { "get": { - "operationId": "get:organization_certificates", + "operationId": "get:organization_address_lists", "tags": [ "Core" ], @@ -5914,7 +5997,7 @@ "schema": { "type": "string" }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization for which the address lists should be returned. All 'organization[]' params are mutually exclusive, only one can be provided." }, { "name": "organization[sub_domain]", @@ -5922,7 +6005,7 @@ "schema": { "type": "string" }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization for which the address lists should be returned. All 'organization[]' params are mutually exclusive, only one can be provided." }, { "name": "page", @@ -5941,7 +6024,7 @@ ], "responses": { "200": { - "description": "Provides a full list of certificates", + "description": "Returns a list of all address lists for a given organization", "content": { "application/json": { "schema": { @@ -5949,16 +6032,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "certificates": { + "address_lists": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationCertificates200ResponseCertificates" - } + "$ref": "#/components/schemas/GetOrganizationAddressLists200ResponseAddressLists" + }, + "description": "A list of all address lists for the given organization." } }, "required": [ "pagination", - "certificates" + "address_lists" ] } } @@ -5968,7 +6052,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" @@ -5977,143 +6061,9 @@ "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/certificates/:certificate": { - "get": { - "operationId": "get:certificate", - "tags": [ - "Core" - ], - "parameters": [ - { - "name": "certificate[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'certificate[]' params are mutually exclusive, only one can be provided." - } - ], - "responses": { - "200": { - "description": "Return details for a specific certificate", - "content": { - "application/json": { - "schema": { - "properties": { - "certificate": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Certificate" - } - } - }, - "required": [ - "certificate" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" - }, - "404": { - "$ref": "#/components/responses/CertificateNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - } - } - } - }, - "/organizations/:organization/load_balancers": { - "get": { - "operationId": "get:organization_load_balancers", - "tags": [ - "Core" - ], - "parameters": [ - { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to return all load balancers for. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to return all load balancers for. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "Returns a list of all load balancers for a given organization", - "content": { - "application/json": { - "schema": { - "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "load_balancers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizationLoadBalancers200ResponseLoadBalancers" - }, - "description": "The load balancers owned by this organization" - } - }, - "required": [ - "pagination", - "load_balancers" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" - }, - "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - } - } - }, - "post": { - "operationId": "post:organization_load_balancers", + }, + "post": { + "operationId": "post:organization_address_lists", "tags": [ "Core" ], @@ -6126,7 +6076,7 @@ "$ref": "#/components/schemas/OrganizationLookup" }, "properties": { - "$ref": "#/components/schemas/LoadBalancerArguments" + "$ref": "#/components/schemas/AddressListArguments" } }, "required": [ @@ -6139,22 +6089,22 @@ }, "responses": { "201": { - "description": "Create a new load balancer for a given organization", + "description": "Create a new address list for a given organization.", "content": { "application/json": { "schema": { "properties": { - "load_balancer": { - "description": "The load balancer that has been created", + "address_list": { + "description": "The address list.", "allOf": [ { - "$ref": "#/components/schemas/PostOrganizationLoadBalancers201ResponseLoadBalancer" + "$ref": "#/components/schemas/AddressList" } ] } }, "required": [ - "load_balancer" + "address_list" ] } } @@ -6164,7 +6114,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" @@ -6178,48 +6128,40 @@ } } }, - "/load_balancers/:load_balancer": { + "/address_lists/:address_list": { "get": { - "operationId": "get:load_balancer", + "operationId": "get:address_list", "tags": [ "Core" ], "parameters": [ { - "name": "load_balancer[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The load balancer to return the details for. All 'load_balancer[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "load_balancer[api_reference]", + "name": "address_list[id]", "in": "query", "schema": { "type": "string" }, - "description": "The load balancer to return the details for. All 'load_balancer[]' params are mutually exclusive, only one can be provided." + "description": "The address list to return. All 'address_list[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns details about a load balancer", + "description": "Returns details for a address list.", "content": { "application/json": { "schema": { "properties": { - "load_balancer": { - "description": "The load balancer", + "address_list": { + "description": "The address list.", "allOf": [ { - "$ref": "#/components/schemas/GetLoadBalancer200ResponseLoadBalancer" + "$ref": "#/components/schemas/AddressList" } ] } }, "required": [ - "load_balancer" + "address_list" ] } } @@ -6232,7 +6174,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/LoadBalancerNotFoundResponse" + "$ref": "#/components/responses/AddressListNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6240,7 +6182,7 @@ } }, "patch": { - "operationId": "patch:load_balancer", + "operationId": "patch:address_list", "tags": [ "Core" ], @@ -6249,15 +6191,15 @@ "application/json": { "schema": { "properties": { - "load_balancer": { - "$ref": "#/components/schemas/LoadBalancerLookup" + "address_list": { + "$ref": "#/components/schemas/AddressListLookup" }, "properties": { - "$ref": "#/components/schemas/LoadBalancerArguments" + "$ref": "#/components/schemas/AddressListArguments" } }, "required": [ - "load_balancer", + "address_list", "properties" ] } @@ -6266,22 +6208,22 @@ }, "responses": { "200": { - "description": "Updates a load balancer with new properties", + "description": "Update a address list with new properties.", "content": { "application/json": { "schema": { "properties": { - "load_balancer": { - "description": "The load balancer that has been updated", + "address_list": { + "description": "The address list.", "allOf": [ { - "$ref": "#/components/schemas/PatchLoadBalancer200ResponseLoadBalancer" + "$ref": "#/components/schemas/AddressList" } ] } }, "required": [ - "load_balancer" + "address_list" ] } } @@ -6294,7 +6236,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/LoadBalancerNotFoundResponse" + "$ref": "#/components/responses/AddressListNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -6305,7 +6247,7 @@ } }, "delete": { - "operationId": "delete:load_balancer", + "operationId": "delete:address_list", "tags": [ "Core" ], @@ -6314,12 +6256,12 @@ "application/json": { "schema": { "properties": { - "load_balancer": { - "$ref": "#/components/schemas/LoadBalancerLookup" + "address_list": { + "$ref": "#/components/schemas/AddressListLookup" } }, "required": [ - "load_balancer" + "address_list" ] } } @@ -6327,22 +6269,22 @@ }, "responses": { "200": { - "description": "Delete a load balancer", + "description": "Delete a address list.", "content": { "application/json": { "schema": { "properties": { - "load_balancer": { - "description": "The load balancer that has been destroyed", + "address_list": { + "description": "The address list that has been destroyed.", "allOf": [ { - "$ref": "#/components/schemas/DeleteLoadBalancer200ResponseLoadBalancer" + "$ref": "#/components/schemas/AddressList" } ] } }, "required": [ - "load_balancer" + "address_list" ] } } @@ -6355,10 +6297,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/LoadBalancerNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/AddressListNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6366,28 +6305,20 @@ } } }, - "/load_balancers/:load_balancer/rules": { + "/address_lists/:address_list/entries": { "get": { - "operationId": "get:load_balancer_rules", + "operationId": "get:address_list_entries", "tags": [ "Core" ], "parameters": [ { - "name": "load_balancer[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The load balancer to return all load rules for. All 'load_balancer[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "load_balancer[api_reference]", + "name": "address_list[id]", "in": "query", "schema": { "type": "string" }, - "description": "The load balancer to return all load rules for. All 'load_balancer[]' params are mutually exclusive, only one can be provided." + "description": "The address list for which the entries should be returned. All 'address_list[]' params are mutually exclusive, only one can be provided." }, { "name": "page", @@ -6406,7 +6337,7 @@ ], "responses": { "200": { - "description": "Returns a list of all rules for a given load balancer", + "description": "Returns a list of all address list entries for a given address list", "content": { "application/json": { "schema": { @@ -6414,17 +6345,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "load_balancer_rules": { + "address_list_entries": { "type": "array", "items": { - "$ref": "#/components/schemas/GetLoadBalancerRules200ResponseLoadBalancerRules" + "$ref": "#/components/schemas/AddressListEntry" }, - "description": "The load balancer rules for this load balancer" + "description": "A list of all address list entries for the given address list." } }, "required": [ "pagination", - "load_balancer_rules" + "address_list_entries" ] } } @@ -6437,7 +6368,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/LoadBalancerNotFoundResponse" + "$ref": "#/components/responses/AddressListNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6445,7 +6376,7 @@ } }, "post": { - "operationId": "post:load_balancer_rules", + "operationId": "post:address_list_entries", "tags": [ "Core" ], @@ -6454,15 +6385,15 @@ "application/json": { "schema": { "properties": { - "load_balancer": { - "$ref": "#/components/schemas/LoadBalancerLookup" + "address_list": { + "$ref": "#/components/schemas/AddressListLookup" }, "properties": { - "$ref": "#/components/schemas/LoadBalancerRuleArguments" + "$ref": "#/components/schemas/AddressListEntryArguments" } }, "required": [ - "load_balancer", + "address_list", "properties" ] } @@ -6470,23 +6401,23 @@ } }, "responses": { - "200": { - "description": "Create a new load balancer rule", + "201": { + "description": "Create a new address list entry for a given address list.", "content": { "application/json": { "schema": { "properties": { - "load_balancer_rule": { - "description": "The load balancer rule that has been created", + "address_list_entry": { + "description": "The address list entry.", "allOf": [ { - "$ref": "#/components/schemas/PostLoadBalancerRules200ResponseLoadBalancerRule" + "$ref": "#/components/schemas/AddressListEntry" } ] } }, "required": [ - "load_balancer_rule" + "address_list_entry" ] } } @@ -6499,7 +6430,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/LoadBalancerNotFoundResponse" + "$ref": "#/components/responses/AddressListNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -6510,40 +6441,40 @@ } } }, - "/load_balancers/rules/:load_balancer_rule": { + "/address_list_entries/:address_list_entry": { "get": { - "operationId": "get:load_balancers_rules_load_balancer_rule", + "operationId": "get:address_list_entry", "tags": [ "Core" ], "parameters": [ { - "name": "load_balancer_rule[id]", + "name": "address_list_entry[id]", "in": "query", "schema": { "type": "string" }, - "description": "The load balancer rule to return the details for. All 'load_balancer_rule[]' params are mutually exclusive, only one can be provided." + "description": "The address list entry to return. All 'address_list_entry[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns details about a load balancer rule", + "description": "Returns details for an address list entry.", "content": { "application/json": { "schema": { "properties": { - "load_balancer_rule": { - "description": "The resolved load balancer rule", + "address_list_entry": { + "description": "The address list entry.", "allOf": [ { - "$ref": "#/components/schemas/GetLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule" + "$ref": "#/components/schemas/AddressListEntry" } ] } }, "required": [ - "load_balancer_rule" + "address_list_entry" ] } } @@ -6556,7 +6487,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/LoadBalancerRuleNotFoundResponse" + "$ref": "#/components/responses/AddressListEntryNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6564,7 +6495,7 @@ } }, "patch": { - "operationId": "patch:load_balancers_rules_load_balancer_rule", + "operationId": "patch:address_list_entry", "tags": [ "Core" ], @@ -6573,15 +6504,15 @@ "application/json": { "schema": { "properties": { - "load_balancer_rule": { - "$ref": "#/components/schemas/LoadBalancerRuleLookup" + "address_list_entry": { + "$ref": "#/components/schemas/AddressListEntryLookup" }, "properties": { - "$ref": "#/components/schemas/LoadBalancerRuleArguments" + "$ref": "#/components/schemas/AddressListEntryArguments" } }, "required": [ - "load_balancer_rule", + "address_list_entry", "properties" ] } @@ -6590,22 +6521,22 @@ }, "responses": { "200": { - "description": "Updates a load balancer rule with new properties", + "description": "Update an address list entry with new properties.", "content": { "application/json": { "schema": { "properties": { - "load_balancer_rule": { - "description": "The load balancer that has been updated", + "address_list_entry": { + "description": "The address list entry.", "allOf": [ { - "$ref": "#/components/schemas/PatchLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule" + "$ref": "#/components/schemas/AddressListEntry" } ] } }, "required": [ - "load_balancer_rule" + "address_list_entry" ] } } @@ -6618,7 +6549,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/LoadBalancerRuleNotFoundResponse" + "$ref": "#/components/responses/AddressListEntryNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -6629,7 +6560,7 @@ } }, "delete": { - "operationId": "delete:load_balancers_rules_load_balancer_rule", + "operationId": "delete:address_list_entry", "tags": [ "Core" ], @@ -6638,12 +6569,12 @@ "application/json": { "schema": { "properties": { - "load_balancer_rule": { - "$ref": "#/components/schemas/LoadBalancerRuleLookup" + "address_list_entry": { + "$ref": "#/components/schemas/AddressListEntryLookup" } }, "required": [ - "load_balancer_rule" + "address_list_entry" ] } } @@ -6651,22 +6582,22 @@ }, "responses": { "200": { - "description": "Delete a load balancer rule", + "description": "Delete an address list entry.", "content": { "application/json": { "schema": { "properties": { - "load_balancer_rule": { - "description": "The load balancer rule that has been destroyed", + "address_list_entry": { + "description": "The address list entry that has been destroyed.", "allOf": [ { - "$ref": "#/components/schemas/DeleteLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule" + "$ref": "#/components/schemas/AddressListEntry" } ] } }, "required": [ - "load_balancer_rule" + "address_list_entry" ] } } @@ -6679,10 +6610,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/LoadBalancerRuleNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/AddressListEntryNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6690,9 +6618,9 @@ } } }, - "/organizations/:organization/ip_addresses": { + "/organizations/:organization/certificates": { "get": { - "operationId": "get:organization_ip_addresses", + "operationId": "get:organization_certificates", "tags": [ "Core" ], @@ -6703,7 +6631,7 @@ "schema": { "type": "string" }, - "description": "The organization to use when looking up IP addresses. All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." }, { "name": "organization[sub_domain]", @@ -6711,16 +6639,7 @@ "schema": { "type": "string" }, - "description": "The organization to use when looking up IP addresses. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "allocated", - "in": "query", - "schema": { - "type": "boolean", - "description": "If true, only return allocated IP addresss. If false, only return unallocated IP addresses." - }, - "description": "If true, only return allocated IP addresss. If false, only return unallocated IP addresses." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." }, { "name": "page", @@ -6739,7 +6658,7 @@ ], "responses": { "200": { - "description": "Returns a list of all IP addresses belonging to an organization", + "description": "Provides a full list of certificates", "content": { "application/json": { "schema": { @@ -6747,17 +6666,16 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "ip_addresses": { + "certificates": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationIPAddresses200ResponseIPAddresses" - }, - "description": "The IP addresses belonging to this organization" + "$ref": "#/components/schemas/GetOrganizationCertificates200ResponseCertificates" + } } }, "required": [ "pagination", - "ip_addresses" + "certificates" ] } } @@ -6767,7 +6685,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" @@ -6776,62 +6694,40 @@ "$ref": "#/components/responses/APIAuthenticator429Response" } } - }, - "post": { - "operationId": "post:organization_ip_addresses", + } + }, + "/certificates/:certificate": { + "get": { + "operationId": "get:certificate", "tags": [ "Core" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - }, - "network": { - "$ref": "#/components/schemas/NetworkLookup" - }, - "version": { - "$ref": "#/components/schemas/IPAddressVersionEnum" - }, - "vip": { - "type": "boolean", - "description": "Whether or not to set this address as a VIP" - }, - "label": { - "type": "string", - "description": "The label to give this address if setting it as a VIP" - } - }, - "required": [ - "organization", - "network", - "version" - ] - } - } + "parameters": [ + { + "name": "certificate[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "All 'certificate[]' params are mutually exclusive, only one can be provided." } - }, + ], "responses": { "200": { - "description": "Creates a new IP address on this organization", + "description": "Return details for a specific certificate", "content": { "application/json": { "schema": { "properties": { - "ip_address": { - "description": "The newly allocated IP address", - "allOf": [ - { - "$ref": "#/components/schemas/IPAddress" - } - ] + "certificate": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Certificate" + } } }, "required": [ - "ip_address" + "certificate" ] } } @@ -6841,75 +6737,79 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/NetworkNotFoundOrganizationNotFound404Res" + "$ref": "#/components/responses/CertificateNotFoundResponse" }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$ref": "#/components/responses/NoAvailableAddressesResponse" } } } }, - "/ip_addresses/:ip_address": { + "/organizations/:organization/load_balancers": { "get": { - "operationId": "get:ip_address", + "operationId": "get:organization_load_balancers", "tags": [ "Core" ], "parameters": [ { - "name": "ip_address[id]", + "name": "organization[id]", "in": "query", "schema": { "type": "string" }, - "description": "The IP address to find. All 'ip_address[]' params are mutually exclusive, only one can be provided." + "description": "The organization to return all load balancers for. All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "name": "ip_address[address]", + "name": "organization[sub_domain]", "in": "query", "schema": { "type": "string" }, - "description": "The IP address to find. All 'ip_address[]' params are mutually exclusive, only one can be provided." + "description": "The organization to return all load balancers for. All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" + } } ], "responses": { "200": { - "description": "Returns information about a specific IP address", + "description": "Returns a list of all load balancers for a given organization", "content": { "application/json": { "schema": { "properties": { - "ip_address": { - "description": "The IP address that has been located", - "allOf": [ - { - "$ref": "#/components/schemas/IPAddress" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" }, - "allocation": { - "allOf": [ - { - "$ref": "#/components/schemas/GetIPAddress200ResponseAllocation" - } - ], - "description": "The resource this address is allocated to", - "nullable": true + "load_balancers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizationLoadBalancers200ResponseLoadBalancers" + }, + "description": "The load balancers owned by this organization" } }, "required": [ - "ip_address", - "allocation" + "pagination", + "load_balancers" ] } } @@ -6919,18 +6819,18 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/IPAddressNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } }, - "patch": { - "operationId": "patch:ip_address", + "post": { + "operationId": "post:organization_load_balancers", "tags": [ "Core" ], @@ -6939,47 +6839,39 @@ "application/json": { "schema": { "properties": { - "ip_address": { - "$ref": "#/components/schemas/IPAddressLookup" - }, - "vip": { - "type": "boolean", - "description": "Whether or not to set this address as a VIP" - }, - "label": { - "type": "string", - "description": "The label to give this address if setting it as a VIP" + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" }, - "reverse_dns": { - "type": "string", - "description": "The reverse DNS to set for this IP address" + "properties": { + "$ref": "#/components/schemas/LoadBalancerArguments" } }, "required": [ - "ip_address" + "organization", + "properties" ] } } } }, "responses": { - "200": { - "description": "Updates the details on an IP address", + "201": { + "description": "Create a new load balancer for a given organization", "content": { "application/json": { "schema": { "properties": { - "ip_address": { - "description": "The IP address that has been updated", + "load_balancer": { + "description": "The load balancer that has been created", "allOf": [ { - "$ref": "#/components/schemas/IPAddress" + "$ref": "#/components/schemas/PostOrganizationLoadBalancers201ResponseLoadBalancer" } ] } }, "required": [ - "ip_address" + "load_balancer" ] } } @@ -6989,10 +6881,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" }, "404": { - "$ref": "#/components/responses/IPAddressNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -7001,9 +6893,71 @@ "$ref": "#/components/responses/APIAuthenticator429Response" } } + } + }, + "/load_balancers/:load_balancer": { + "get": { + "operationId": "get:load_balancer", + "tags": [ + "Core" + ], + "parameters": [ + { + "name": "load_balancer[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The load balancer to return the details for. All 'load_balancer[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "load_balancer[api_reference]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The load balancer to return the details for. All 'load_balancer[]' params are mutually exclusive, only one can be provided." + } + ], + "responses": { + "200": { + "description": "Returns details about a load balancer", + "content": { + "application/json": { + "schema": { + "properties": { + "load_balancer": { + "description": "The load balancer", + "allOf": [ + { + "$ref": "#/components/schemas/GetLoadBalancer200ResponseLoadBalancer" + } + ] + } + }, + "required": [ + "load_balancer" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/LoadBalancerNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + } + } }, - "delete": { - "operationId": "delete:ip_address", + "patch": { + "operationId": "patch:load_balancer", "tags": [ "Core" ], @@ -7012,12 +6966,16 @@ "application/json": { "schema": { "properties": { - "ip_address": { - "$ref": "#/components/schemas/IPAddressLookup" + "load_balancer": { + "$ref": "#/components/schemas/LoadBalancerLookup" + }, + "properties": { + "$ref": "#/components/schemas/LoadBalancerArguments" } }, "required": [ - "ip_address" + "load_balancer", + "properties" ] } } @@ -7025,13 +6983,23 @@ }, "responses": { "200": { - "description": "Release an IP address from its organization", + "description": "Updates a load balancer with new properties", "content": { "application/json": { "schema": { "properties": { - - } + "load_balancer": { + "description": "The load balancer that has been updated", + "allOf": [ + { + "$ref": "#/components/schemas/PatchLoadBalancer200ResponseLoadBalancer" + } + ] + } + }, + "required": [ + "load_balancer" + ] } } } @@ -7043,20 +7011,18 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/IPAddressNotFoundResponse" + "$ref": "#/components/responses/LoadBalancerNotFoundResponse" }, - "409": { - "$ref": "#/components/responses/ResourceDoesNotSupportUnallocationResponse" + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/ip_addresses/:ip_address/unallocate": { - "post": { - "operationId": "post:ip_address_unallocate", + }, + "delete": { + "operationId": "delete:load_balancer", "tags": [ "Core" ], @@ -7065,12 +7031,12 @@ "application/json": { "schema": { "properties": { - "ip_address": { - "$ref": "#/components/schemas/IPAddressLookup" + "load_balancer": { + "$ref": "#/components/schemas/LoadBalancerLookup" } }, "required": [ - "ip_address" + "load_balancer" ] } } @@ -7078,13 +7044,23 @@ }, "responses": { "200": { - "description": "Unallocate an IP address from its resource", + "description": "Delete a load balancer", "content": { "application/json": { "schema": { "properties": { - - } + "load_balancer": { + "description": "The load balancer that has been destroyed", + "allOf": [ + { + "$ref": "#/components/schemas/DeleteLoadBalancer200ResponseLoadBalancer" + } + ] + } + }, + "required": [ + "load_balancer" + ] } } } @@ -7093,16 +7069,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/IPAddressNotFoundResponse" - }, - "409": { - "$ref": "#/components/responses/ResourceDoesNotSupportUnallocationResponse" + "$ref": "#/components/responses/LoadBalancerNotFoundResponse" }, "422": { - "$ref": "#/components/responses/NoAllocationResponse" + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -7110,28 +7083,28 @@ } } }, - "/virtual_machines/:virtual_machine/network_interfaces": { + "/load_balancers/:load_balancer/rules": { "get": { - "operationId": "get:virtual_machine_network_interfaces", + "operationId": "get:load_balancer_rules", "tags": [ "Core" ], "parameters": [ { - "name": "virtual_machine[id]", + "name": "load_balancer[id]", "in": "query", "schema": { "type": "string" }, - "description": "The virtual machine to show network interfaces for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + "description": "The load balancer to return all load rules for. All 'load_balancer[]' params are mutually exclusive, only one can be provided." }, { - "name": "virtual_machine[fqdn]", + "name": "load_balancer[api_reference]", "in": "query", "schema": { "type": "string" }, - "description": "The virtual machine to show network interfaces for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + "description": "The load balancer to return all load rules for. All 'load_balancer[]' params are mutually exclusive, only one can be provided." }, { "name": "page", @@ -7150,7 +7123,7 @@ ], "responses": { "200": { - "description": "Returns a list of virtual machine network interfaces", + "description": "Returns a list of all rules for a given load balancer", "content": { "application/json": { "schema": { @@ -7158,17 +7131,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "virtual_machine_network_interfaces": { + "load_balancer_rules": { "type": "array", "items": { - "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaces" + "$ref": "#/components/schemas/GetLoadBalancerRules200ResponseLoadBalancerRules" }, - "description": "The network interfaces for this virtual machine" + "description": "The load balancer rules for this load balancer" } }, "required": [ "pagination", - "virtual_machine_network_interfaces" + "load_balancer_rules" ] } } @@ -7178,78 +7151,59 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/LoadBalancerNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/virtual_machines/:virtual_machine/networks/:network/interface": { - "get": { - "operationId": "get:virtual_machine_network_interface", + }, + "post": { + "operationId": "post:load_balancer_rules", "tags": [ "Core" ], - "parameters": [ - { - "name": "virtual_machine[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The virtual machine to find the network interface for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "virtual_machine[fqdn]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The virtual machine to find the network interface for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "network[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The network to find the network interface for. All 'network[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "network[permalink]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The network to find the network interface for. All 'network[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "load_balancer": { + "$ref": "#/components/schemas/LoadBalancerLookup" + }, + "properties": { + "$ref": "#/components/schemas/LoadBalancerRuleArguments" + } + }, + "required": [ + "load_balancer", + "properties" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Return information about a virtual machine network interface for a specific network", + "description": "Create a new load balancer rule", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_network_interface": { - "description": "The network interface details", + "load_balancer_rule": { + "description": "The load balancer rule that has been created", "allOf": [ { - "$ref": "#/components/schemas/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface" + "$ref": "#/components/schemas/PostLoadBalancerRules200ResponseLoadBalancerRule" } ] } }, "required": [ - "virtual_machine_network_interface" + "load_balancer_rule" ] } } @@ -7259,13 +7213,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/InterfaceNotFoundNetworkNotFoundVirtualMachineNotFound404Res" + "$ref": "#/components/responses/LoadBalancerNotFoundResponse" }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -7273,102 +7227,40 @@ } } }, - "/virtual_machine_network_interfaces/:virtual_machine_network_interface": { + "/load_balancers/rules/:load_balancer_rule": { "get": { - "operationId": "get:v_m_n_i__v_m_n_i", + "operationId": "get:load_balancers_rules_load_balancer_rule", "tags": [ "Core" ], "parameters": [ { - "name": "virtual_machine_network_interface[id]", + "name": "load_balancer_rule[id]", "in": "query", "schema": { "type": "string" }, - "description": "The network interface to show the information for. All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided." + "description": "The load balancer rule to return the details for. All 'load_balancer_rule[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Return information about a given virtual machine network interface", + "description": "Returns details about a load balancer rule", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_network_interface": { - "description": "The network interface details", + "load_balancer_rule": { + "description": "The resolved load balancer rule", "allOf": [ { - "$ref": "#/components/schemas/GetVMNIVMNI200ResponseVirtualMachineNetworkInterface" + "$ref": "#/components/schemas/GetLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule" } ] } }, "required": [ - "virtual_machine_network_interface" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" - }, - "404": { - "$ref": "#/components/responses/VirtualMachineNetworkInterfaceNotFoundResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - } - } - } - }, - "/virtual_machine_network_interfaces/:virtual_machine_network_interface/available_ips/:address_version": { - "get": { - "operationId": "get:virtual_machine_network_interface_available_ips_address_version", - "tags": [ - "Core" - ], - "parameters": [ - { - "name": "virtual_machine_network_interface[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The network interface to get IP addresses for. All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "address_version", - "in": "query", - "schema": { - "$ref": "#/components/schemas/IPAddressVersionEnum" - }, - "description": "The IP address version to return results for", - "required": true - } - ], - "responses": { - "200": { - "description": "Returns a list of IP addresses that can be allocated to a specific network interface", - "content": { - "application/json": { - "schema": { - "properties": { - "ip_addresses": { - "type": "array", - "items": { - "$ref": "#/components/schemas/IPAddress" - }, - "description": "The IP addresses available for this network interface" - } - }, - "required": [ - "ip_addresses" + "load_balancer_rule" ] } } @@ -7381,17 +7273,15 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineNetworkInterfaceNotFoundResponse" + "$ref": "#/components/responses/LoadBalancerRuleNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/virtual_machine_network_interfaces/:virtual_machine_network_interface/allocate_ip": { - "post": { - "operationId": "post:virtual_machine_network_interface_allocate_ip", + }, + "patch": { + "operationId": "patch:load_balancers_rules_load_balancer_rule", "tags": [ "Core" ], @@ -7400,16 +7290,16 @@ "application/json": { "schema": { "properties": { - "virtual_machine_network_interface": { - "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceLookup" + "load_balancer_rule": { + "$ref": "#/components/schemas/LoadBalancerRuleLookup" }, - "ip_address": { - "$ref": "#/components/schemas/IPAddressLookup" + "properties": { + "$ref": "#/components/schemas/LoadBalancerRuleArguments" } }, "required": [ - "virtual_machine_network_interface", - "ip_address" + "load_balancer_rule", + "properties" ] } } @@ -7417,22 +7307,22 @@ }, "responses": { "200": { - "description": "Allocate a specific IP address to a given network interface", + "description": "Updates a load balancer rule with new properties", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_network_interface": { - "description": "The network interface details", + "load_balancer_rule": { + "description": "The load balancer that has been updated", "allOf": [ { - "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterface" + "$ref": "#/components/schemas/PatchLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule" } ] } }, "required": [ - "virtual_machine_network_interface" + "load_balancer_rule" ] } } @@ -7442,23 +7332,21 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/IPAddressNotFoundVirtualMachineNetworkInterfaceNotFound404Res" + "$ref": "#/components/responses/LoadBalancerRuleNotFoundResponse" }, "422": { - "$ref": "#/components/responses/IPAlreadyAllocatedInvalidIP422Res" + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/virtual_machine_network_interfaces/:virtual_machine_network_interface/allocate_new_ip": { - "post": { - "operationId": "post:virtual_machine_network_interface_allocate_new_ip", + }, + "delete": { + "operationId": "delete:load_balancers_rules_load_balancer_rule", "tags": [ "Core" ], @@ -7467,16 +7355,12 @@ "application/json": { "schema": { "properties": { - "virtual_machine_network_interface": { - "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceLookup" - }, - "address_version": { - "$ref": "#/components/schemas/IPAddressVersionEnum" + "load_balancer_rule": { + "$ref": "#/components/schemas/LoadBalancerRuleLookup" } }, "required": [ - "virtual_machine_network_interface", - "address_version" + "load_balancer_rule" ] } } @@ -7484,22 +7368,22 @@ }, "responses": { "200": { - "description": "Add a new IP address to this organization and allocate it to a virtual machine network interface", + "description": "Delete a load balancer rule", "content": { "application/json": { "schema": { "properties": { - "ip_address": { - "description": "The newly allocated IP address", + "load_balancer_rule": { + "description": "The load balancer rule that has been destroyed", "allOf": [ { - "$ref": "#/components/schemas/IPAddress" + "$ref": "#/components/schemas/DeleteLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule" } ] } }, "required": [ - "ip_address" + "load_balancer_rule" ] } } @@ -7512,80 +7396,10 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNetworkInterfaceNotFoundResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$ref": "#/components/responses/NoAvailableAddressesResponse" - } - } - } - }, - "/virtual_machine_network_interfaces/:virtual_machine_network_interface/update_speed_profile": { - "patch": { - "operationId": "patch:virtual_machine_network_interface_update_speed_profile", - "tags": [ - "Core" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine_network_interface": { - "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceLookup" - }, - "speed_profile": { - "$ref": "#/components/schemas/NetworkSpeedProfileLookup" - } - }, - "required": [ - "virtual_machine_network_interface", - "speed_profile" - ] - } - } - } - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "properties": { - "task": { - "description": "The task responsible for updating the virtual machine network interface speed profile", - "allOf": [ - { - "$ref": "#/components/schemas/Task" - } - ] - } - }, - "required": [ - "task" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" - }, - "404": { - "$ref": "#/components/responses/NetworkSpeedProfileNotFoundVirtualMachineNetworkInterfaceNotFound404Res" - }, - "406": { - "$ref": "#/components/responses/TaskQueueingErrorResponse" + "$ref": "#/components/responses/LoadBalancerRuleNotFoundResponse" }, "422": { - "$ref": "#/components/responses/SpeedProfileAlreadyAssignedResponse" + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -7593,9 +7407,9 @@ } } }, - "/organizations/:organization/tags": { + "/organizations/:organization/ip_addresses": { "get": { - "operationId": "get:organization_tags", + "operationId": "get:organization_ip_addresses", "tags": [ "Core" ], @@ -7606,7 +7420,7 @@ "schema": { "type": "string" }, - "description": "The organization to list the tags for. All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization to use when looking up IP addresses. All 'organization[]' params are mutually exclusive, only one can be provided." }, { "name": "organization[sub_domain]", @@ -7614,7 +7428,16 @@ "schema": { "type": "string" }, - "description": "The organization to list the tags for. All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization to use when looking up IP addresses. All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "allocated", + "in": "query", + "schema": { + "type": "boolean", + "description": "If true, only return allocated IP addresss. If false, only return unallocated IP addresses." + }, + "description": "If true, only return allocated IP addresss. If false, only return unallocated IP addresses." }, { "name": "page", @@ -7633,7 +7456,7 @@ ], "responses": { "200": { - "description": "Returns a list of all tags for an organization", + "description": "Returns a list of all IP addresses belonging to an organization", "content": { "application/json": { "schema": { @@ -7641,17 +7464,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "tags": { + "ip_addresses": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationTags200ResponseTags" + "$ref": "#/components/schemas/GetOrganizationIPAddresses200ResponseIPAddresses" }, - "description": "The details for the tags on the organization" + "description": "The IP addresses belonging to this organization" } }, "required": [ "pagination", - "tags" + "ip_addresses" ] } } @@ -7661,7 +7484,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" @@ -7672,7 +7495,7 @@ } }, "post": { - "operationId": "post:organization_tags", + "operationId": "post:organization_ip_addresses", "tags": [ "Core" ], @@ -7684,13 +7507,25 @@ "organization": { "$ref": "#/components/schemas/OrganizationLookup" }, - "properties": { - "$ref": "#/components/schemas/TagArguments" + "network": { + "$ref": "#/components/schemas/NetworkLookup" + }, + "version": { + "$ref": "#/components/schemas/IPAddressVersionEnum" + }, + "vip": { + "type": "boolean", + "description": "Whether or not to set this address as a VIP" + }, + "label": { + "type": "string", + "description": "The label to give this address if setting it as a VIP" } }, "required": [ "organization", - "properties" + "network", + "version" ] } } @@ -7698,22 +7533,22 @@ }, "responses": { "200": { - "description": "Creates a new tag with the provided properties", + "description": "Creates a new IP address on this organization", "content": { "application/json": { "schema": { "properties": { - "tag": { - "description": "The newly created tag", + "ip_address": { + "description": "The newly allocated IP address", "allOf": [ { - "$ref": "#/components/schemas/Tag" + "$ref": "#/components/schemas/IPAddress" } ] } }, "required": [ - "tag" + "ip_address" ] } } @@ -7726,51 +7561,72 @@ "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/NetworkNotFoundOrganizationNotFound404Res" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/NoAvailableAddressesResponse" } } } }, - "/tags/:tag": { + "/ip_addresses/:ip_address": { "get": { - "operationId": "get:tag", + "operationId": "get:ip_address", "tags": [ "Core" ], "parameters": [ { - "name": "tag[id]", + "name": "ip_address[id]", "in": "query", "schema": { "type": "string" }, - "description": "The tag to load the details for. All 'tag[]' params are mutually exclusive, only one can be provided." + "description": "The IP address to find. All 'ip_address[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "ip_address[address]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The IP address to find. All 'ip_address[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns details about a specific tag", + "description": "Returns information about a specific IP address", "content": { "application/json": { "schema": { "properties": { - "tag": { - "description": "The details for the requested tag", + "ip_address": { + "description": "The IP address that has been located", "allOf": [ { - "$ref": "#/components/schemas/Tag" + "$ref": "#/components/schemas/IPAddress" } ] + }, + "allocation": { + "allOf": [ + { + "$ref": "#/components/schemas/GetIPAddress200ResponseAllocation" + } + ], + "description": "The resource this address is allocated to", + "nullable": true } }, "required": [ - "tag" + "ip_address", + "allocation" ] } } @@ -7783,7 +7639,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/TagNotFoundResponse" + "$ref": "#/components/responses/IPAddressNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -7791,7 +7647,7 @@ } }, "patch": { - "operationId": "patch:tag", + "operationId": "patch:ip_address", "tags": [ "Core" ], @@ -7800,16 +7656,24 @@ "application/json": { "schema": { "properties": { - "tag": { - "$ref": "#/components/schemas/TagLookup" + "ip_address": { + "$ref": "#/components/schemas/IPAddressLookup" }, - "properties": { - "$ref": "#/components/schemas/TagArguments" + "vip": { + "type": "boolean", + "description": "Whether or not to set this address as a VIP" + }, + "label": { + "type": "string", + "description": "The label to give this address if setting it as a VIP" + }, + "reverse_dns": { + "type": "string", + "description": "The reverse DNS to set for this IP address" } }, "required": [ - "tag", - "properties" + "ip_address" ] } } @@ -7817,22 +7681,22 @@ }, "responses": { "200": { - "description": "Updates a tag with the provided properties", + "description": "Updates the details on an IP address", "content": { "application/json": { "schema": { "properties": { - "tag": { - "description": "The newly updated tag", + "ip_address": { + "description": "The IP address that has been updated", "allOf": [ { - "$ref": "#/components/schemas/Tag" + "$ref": "#/components/schemas/IPAddress" } ] } }, "required": [ - "tag" + "ip_address" ] } } @@ -7845,7 +7709,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/TagNotFoundResponse" + "$ref": "#/components/responses/IPAddressNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -7856,7 +7720,7 @@ } }, "delete": { - "operationId": "delete:tag", + "operationId": "delete:ip_address", "tags": [ "Core" ], @@ -7865,12 +7729,12 @@ "application/json": { "schema": { "properties": { - "tag": { - "$ref": "#/components/schemas/TagLookup" + "ip_address": { + "$ref": "#/components/schemas/IPAddressLookup" } }, "required": [ - "tag" + "ip_address" ] } } @@ -7878,23 +7742,13 @@ }, "responses": { "200": { - "description": "Deletes a tag", + "description": "Release an IP address from its organization", "content": { "application/json": { "schema": { "properties": { - "tag": { - "description": "The newly deleted tag", - "allOf": [ - { - "$ref": "#/components/schemas/Tag" - } - ] - } - }, - "required": [ - "tag" - ] + + } } } } @@ -7906,7 +7760,10 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/TagNotFoundResponse" + "$ref": "#/components/responses/IPAddressNotFoundResponse" + }, + "409": { + "$ref": "#/components/responses/ResourceDoesNotSupportUnallocationResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -7914,68 +7771,9 @@ } } }, - "/organizations/:organization/virtual_machine_groups": { - "get": { - "operationId": "get:organization_virtual_machine_groups", - "tags": [ - "Core" - ], - "parameters": [ - { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to return groups for. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to return groups for. All 'organization[]' params are mutually exclusive, only one can be provided." - } - ], - "responses": { - "200": { - "description": "Return a list of all virtual machine groups for an organization", - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine_groups": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VirtualMachineGroup" - }, - "description": "The virtual machine groups for the provided organization" - } - }, - "required": [ - "virtual_machine_groups" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" - }, - "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - } - } - }, + "/ip_addresses/:ip_address/unallocate": { "post": { - "operationId": "post:organization_virtual_machine_groups", + "operationId": "post:ip_address_unallocate", "tags": [ "Core" ], @@ -7984,16 +7782,12 @@ "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - }, - "properties": { - "$ref": "#/components/schemas/VirtualMachineGroupArguments" + "ip_address": { + "$ref": "#/components/schemas/IPAddressLookup" } }, "required": [ - "organization", - "properties" + "ip_address" ] } } @@ -8001,23 +7795,13 @@ }, "responses": { "200": { - "description": "Create a new virtual machine group with the provided details", + "description": "Unallocate an IP address from its resource", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_group": { - "description": "The new virtual machine group details", - "allOf": [ - { - "$ref": "#/components/schemas/VirtualMachineGroup" - } - ] - } - }, - "required": [ - "virtual_machine_group" - ] + + } } } } @@ -8026,13 +7810,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/IPAddressNotFoundResponse" + }, + "409": { + "$ref": "#/components/responses/ResourceDoesNotSupportUnallocationResponse" }, "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/NoAllocationResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8040,102 +7827,65 @@ } } }, - "/virtual_machine_groups/:virtual_machine_group": { + "/virtual_machines/:virtual_machine/network_interfaces": { "get": { - "operationId": "get:virtual_machine_group", + "operationId": "get:virtual_machine_network_interfaces", "tags": [ "Core" ], "parameters": [ { - "name": "virtual_machine_group[id]", + "name": "virtual_machine[id]", "in": "query", "schema": { "type": "string" }, - "description": "The virtual machine group to retrieve. All 'virtual_machine_group[]' params are mutually exclusive, only one can be provided." - } - ], - "responses": { - "200": { - "description": "Return detailed information about a virtual machine group", - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine_group": { - "description": "The virtual machine group details", - "allOf": [ - { - "$ref": "#/components/schemas/VirtualMachineGroup" - } - ] - } - }, - "required": [ - "virtual_machine_group" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" + "description": "The virtual machine to show network interfaces for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." }, - "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + { + "name": "virtual_machine[fqdn]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The virtual machine to show network interfaces for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." }, - "404": { - "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - } - } - }, - "patch": { - "operationId": "patch:virtual_machine_group", - "tags": [ - "Core" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine_group": { - "$ref": "#/components/schemas/VirtualMachineGroupLookup" - }, - "properties": { - "$ref": "#/components/schemas/VirtualMachineGroupArguments" - } - }, - "required": [ - "virtual_machine_group", - "properties" - ] - } + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" } } - }, + ], "responses": { "200": { - "description": "Update a virtual machine group with the provided details", + "description": "Returns a list of virtual machine network interfaces", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_group": { - "description": "The updated virtual machine group details", - "allOf": [ - { - "$ref": "#/components/schemas/VirtualMachineGroup" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "virtual_machine_network_interfaces": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaces" + }, + "description": "The network interfaces for this virtual machine" } }, "required": [ - "virtual_machine_group" + "pagination", + "virtual_machine_network_interfaces" ] } } @@ -8145,58 +7895,78 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - }, - "delete": { - "operationId": "delete:virtual_machine_group", + } + }, + "/virtual_machines/:virtual_machine/networks/:network/interface": { + "get": { + "operationId": "get:virtual_machine_network_interface", "tags": [ "Core" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine_group": { - "$ref": "#/components/schemas/VirtualMachineGroupLookup" - } - }, - "required": [ - "virtual_machine_group" - ] - } - } + "parameters": [ + { + "name": "virtual_machine[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The virtual machine to find the network interface for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "virtual_machine[fqdn]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The virtual machine to find the network interface for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "network[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The network to find the network interface for. All 'network[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "network[permalink]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The network to find the network interface for. All 'network[]' params are mutually exclusive, only one can be provided." } - }, + ], "responses": { "200": { - "description": "", + "description": "Return information about a virtual machine network interface for a specific network", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_group": { - "description": "The details for the deleted virtual machine group", + "virtual_machine_network_interface": { + "description": "The network interface details", "allOf": [ { - "$ref": "#/components/schemas/VirtualMachineGroup" + "$ref": "#/components/schemas/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface" } ] } }, "required": [ - "virtual_machine_group" + "virtual_machine_network_interface" ] } } @@ -8206,13 +7976,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" + "$ref": "#/components/responses/InterfaceNotFoundNetworkNotFoundVirtualMachineNotFound404Res" }, - "409": { - "$ref": "#/components/responses/DeletionRestrictedResponse" + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8220,49 +7990,40 @@ } } }, - "/operating_systems": { + "/virtual_machine_network_interfaces/:virtual_machine_network_interface": { "get": { - "operationId": "get:operating_systems", + "operationId": "get:v_m_n_i__v_m_n_i", "tags": [ "Core" ], "parameters": [ { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", + "name": "virtual_machine_network_interface[id]", "in": "query", "schema": { - "type": "integer" - } + "type": "string" + }, + "description": "The network interface to show the information for. All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Return a list of all operating systems", + "description": "Return information about a given virtual machine network interface", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "operating_systems": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOperatingSystems200ResponseOperatingSystems" - }, - "description": "The list of available operating systems" + "virtual_machine_network_interface": { + "description": "The network interface details", + "allOf": [ + { + "$ref": "#/components/schemas/GetVMNIVMNI200ResponseVirtualMachineNetworkInterface" + } + ] } }, "required": [ - "pagination", - "operating_systems" + "virtual_machine_network_interface" ] } } @@ -8274,46 +8035,57 @@ "403": { "$ref": "#/components/responses/APIAuthenticator403Response" }, + "404": { + "$ref": "#/components/responses/VirtualMachineNetworkInterfaceNotFoundResponse" + }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } } }, - "/operating_systems/:operating_system": { + "/virtual_machine_network_interfaces/:virtual_machine_network_interface/available_ips/:address_version": { "get": { - "operationId": "get:operating_system", + "operationId": "get:virtual_machine_network_interface_available_ips_address_version", "tags": [ "Core" ], "parameters": [ { - "name": "operating_system[id]", + "name": "virtual_machine_network_interface[id]", "in": "query", "schema": { "type": "string" }, - "description": "The operating system to return. All 'operating_system[]' params are mutually exclusive, only one can be provided." + "description": "The network interface to get IP addresses for. All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "address_version", + "in": "query", + "schema": { + "$ref": "#/components/schemas/IPAddressVersionEnum" + }, + "description": "The IP address version to return results for", + "required": true } ], "responses": { "200": { - "description": "Return details for a specific operating system", + "description": "Returns a list of IP addresses that can be allocated to a specific network interface", "content": { "application/json": { "schema": { "properties": { - "operating_system": { - "description": "The operating system details", - "allOf": [ - { - "$ref": "#/components/schemas/OperatingSystem" - } - ] + "ip_addresses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPAddress" + }, + "description": "The IP addresses available for this network interface" } }, "required": [ - "operating_system" + "ip_addresses" ] } } @@ -8326,7 +8098,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OperatingSystemNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNetworkInterfaceNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8334,65 +8106,117 @@ } } }, - "/organizations/:organization/trash_objects": { - "get": { - "operationId": "get:organization_trash_objects", + "/virtual_machine_network_interfaces/:virtual_machine_network_interface/allocate_ip": { + "post": { + "operationId": "post:virtual_machine_network_interface_allocate_ip", "tags": [ "Core" ], - "parameters": [ - { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to find all trash objects for. All 'organization[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_network_interface": { + "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceLookup" + }, + "ip_address": { + "$ref": "#/components/schemas/IPAddressLookup" + } + }, + "required": [ + "virtual_machine_network_interface", + "ip_address" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Allocate a specific IP address to a given network interface", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_network_interface": { + "description": "The network interface details", + "allOf": [ + { + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterface" + } + ] + } + }, + "required": [ + "virtual_machine_network_interface" + ] + } + } + } }, - { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to find all trash objects for. All 'organization[]' params are mutually exclusive, only one can be provided." + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "404": { + "$ref": "#/components/responses/IPAddressNotFoundVirtualMachineNetworkInterfaceNotFound404Res" + }, + "422": { + "$ref": "#/components/responses/IPAlreadyAllocatedInvalidIP422Res" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" } + } + } + }, + "/virtual_machine_network_interfaces/:virtual_machine_network_interface/allocate_new_ip": { + "post": { + "operationId": "post:virtual_machine_network_interface_allocate_new_ip", + "tags": [ + "Core" ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_network_interface": { + "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceLookup" + }, + "address_version": { + "$ref": "#/components/schemas/IPAddressVersionEnum" + } + }, + "required": [ + "virtual_machine_network_interface", + "address_version" + ] + } + } + } + }, "responses": { "200": { - "description": "Provides a full list of all trash objects for a specific organization", + "description": "Add a new IP address to this organization and allocate it to a virtual machine network interface", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "trash_objects": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TrashObject" - }, - "description": "The trash objects that belong to this organization" + "ip_address": { + "description": "The newly allocated IP address", + "allOf": [ + { + "$ref": "#/components/schemas/IPAddress" + } + ] } }, "required": [ - "pagination", - "trash_objects" + "ip_address" ] } } @@ -8402,20 +8226,23 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNetworkInterfaceNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/NoAvailableAddressesResponse" } } } }, - "/organizations/:organization/trash_objects/purge_all": { - "post": { - "operationId": "post:organization_trash_objects_purge_all", + "/virtual_machine_network_interfaces/:virtual_machine_network_interface/update_speed_profile": { + "patch": { + "operationId": "patch:virtual_machine_network_interface_update_speed_profile", "tags": [ "Core" ], @@ -8424,12 +8251,16 @@ "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" + "virtual_machine_network_interface": { + "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceLookup" + }, + "speed_profile": { + "$ref": "#/components/schemas/NetworkSpeedProfileLookup" } }, "required": [ - "organization" + "virtual_machine_network_interface", + "speed_profile" ] } } @@ -8437,13 +8268,18 @@ }, "responses": { "200": { - "description": "Purge all trash objects for an organization", + "description": "", "content": { "application/json": { "schema": { "properties": { "task": { - "$ref": "#/components/schemas/Task" + "description": "The task responsible for updating the virtual machine network interface speed profile", + "allOf": [ + { + "$ref": "#/components/schemas/Task" + } + ] } }, "required": [ @@ -8457,62 +8293,82 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/NetworkSpeedProfileNotFoundVirtualMachineNetworkInterfaceNotFound404Res" }, "406": { "$ref": "#/components/responses/TaskQueueingErrorResponse" }, + "422": { + "$ref": "#/components/responses/SpeedProfileAlreadyAssignedResponse" + }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } } }, - "/trash_objects/:trash_object": { + "/organizations/:organization/tags": { "get": { - "operationId": "get:trash_object", + "operationId": "get:organization_tags", "tags": [ "Core" ], "parameters": [ { - "name": "trash_object[id]", + "name": "organization[id]", "in": "query", "schema": { "type": "string" }, - "description": "The trash object to find. All 'trash_object[]' params are mutually exclusive, only one can be provided." + "description": "The organization to list the tags for. All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "name": "trash_object[object_id]", + "name": "organization[sub_domain]", "in": "query", "schema": { "type": "string" }, - "description": "The trash object to find. All 'trash_object[]' params are mutually exclusive, only one can be provided." + "description": "The organization to list the tags for. All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" + } } ], "responses": { "200": { - "description": "Provides information on a specific trash object", + "description": "Returns a list of all tags for an organization", "content": { "application/json": { "schema": { "properties": { - "trash_object": { - "description": "The requested trash object", - "allOf": [ - { - "$ref": "#/components/schemas/TrashObject" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizationTags200ResponseTags" + }, + "description": "The details for the tags on the organization" } }, "required": [ - "trash_object" + "pagination", + "tags" ] } } @@ -8522,18 +8378,18 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/TrashObjectNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } }, - "delete": { - "operationId": "delete:trash_object", + "post": { + "operationId": "post:organization_tags", "tags": [ "Core" ], @@ -8542,12 +8398,16 @@ "application/json": { "schema": { "properties": { - "trash_object": { - "$ref": "#/components/schemas/TrashObjectLookup" + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + }, + "properties": { + "$ref": "#/components/schemas/TagArguments" } }, "required": [ - "trash_object" + "organization", + "properties" ] } } @@ -8555,17 +8415,22 @@ }, "responses": { "200": { - "description": "Purge a specific trash object", + "description": "Creates a new tag with the provided properties", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/Task" + "tag": { + "description": "The newly created tag", + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + } + ] } }, "required": [ - "task" + "tag" ] } } @@ -8575,13 +8440,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/TrashObjectNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, - "406": { - "$ref": "#/components/responses/TaskQueueingErrorResponse" + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8589,46 +8454,40 @@ } } }, - "/trash_objects/:trash_object/restore": { - "post": { - "operationId": "post:trash_object_restore", + "/tags/:tag": { + "get": { + "operationId": "get:tag", "tags": [ "Core" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "trash_object": { - "$ref": "#/components/schemas/TrashObjectLookup" - } - }, - "required": [ - "trash_object" - ] - } - } + "parameters": [ + { + "name": "tag[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The tag to load the details for. All 'tag[]' params are mutually exclusive, only one can be provided." } - }, + ], "responses": { "200": { - "description": "Restore a trashed object to its original location", + "description": "Returns details about a specific tag", "content": { "application/json": { "schema": { "properties": { - "trash_object": { - "description": "The requested trash object", + "tag": { + "description": "The details for the requested tag", "allOf": [ { - "$ref": "#/components/schemas/TrashObject" + "$ref": "#/components/schemas/Tag" } ] } }, "required": [ - "trash_object" + "tag" ] } } @@ -8638,43 +8497,59 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/TrashObjectNotFoundResponse" + "$ref": "#/components/responses/TagNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/zones": { - "get": { - "operationId": "get:zones", + }, + "patch": { + "operationId": "patch:tag", "tags": [ "Core" ], - "parameters": [ - - ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "tag": { + "$ref": "#/components/schemas/TagLookup" + }, + "properties": { + "$ref": "#/components/schemas/TagArguments" + } + }, + "required": [ + "tag", + "properties" + ] + } + } + } + }, "responses": { "200": { - "description": "Returns a list of all zones on the system for the current identity", + "description": "Updates a tag with the provided properties", "content": { "application/json": { "schema": { "properties": { - "zones": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetZones200ResponseZones" - }, - "description": "The zones available to the current identity" + "tag": { + "description": "The newly updated tag", + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + } + ] } }, "required": [ - "zones" + "tag" ] } } @@ -8684,56 +8559,58 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/TagNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/zones/:zone": { - "get": { - "operationId": "get:zone", + }, + "delete": { + "operationId": "delete:tag", "tags": [ "Core" ], - "parameters": [ - { - "name": "zone[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The zone to find. All 'zone[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "zone[permalink]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The zone to find. All 'zone[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "tag": { + "$ref": "#/components/schemas/TagLookup" + } + }, + "required": [ + "tag" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Returns the details for a specific zone", + "description": "Deletes a tag", "content": { "application/json": { "schema": { "properties": { - "zone": { - "description": "The zone details", + "tag": { + "description": "The newly deleted tag", "allOf": [ { - "$ref": "#/components/schemas/Zone" + "$ref": "#/components/schemas/Tag" } ] } }, "required": [ - "zone" + "tag" ] } } @@ -8743,10 +8620,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/ZoneNotFoundResponse" + "$ref": "#/components/responses/TagNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8754,49 +8631,47 @@ } } }, - "/countries": { + "/organizations/:organization/virtual_machine_groups": { "get": { - "operationId": "get:countries", + "operationId": "get:organization_virtual_machine_groups", "tags": [ "Core" ], "parameters": [ { - "name": "page", + "name": "organization[id]", "in": "query", "schema": { - "type": "integer" - } + "type": "string" + }, + "description": "The organization to return groups for. All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "name": "per_page", + "name": "organization[sub_domain]", "in": "query", "schema": { - "type": "integer" - } + "type": "string" + }, + "description": "The organization to return groups for. All 'organization[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Return a list of all countries available in Katapult", + "description": "Return a list of all virtual machine groups for an organization", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "countries": { + "virtual_machine_groups": { "type": "array", "items": { - "$ref": "#/components/schemas/GetCountries200ResponseCountries" + "$ref": "#/components/schemas/VirtualMachineGroup" }, - "description": "The list of countries" + "description": "The virtual machine groups for the provided organization" } }, "required": [ - "pagination", - "countries" + "virtual_machine_groups" ] } } @@ -8806,64 +8681,59 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/countries/:country": { - "get": { - "operationId": "get:country", + }, + "post": { + "operationId": "post:organization_virtual_machine_groups", "tags": [ "Core" ], - "parameters": [ - { - "name": "country[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The country to return. All 'country[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "country[iso_code2]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The country to return. All 'country[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "country[iso_code3]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The country to return. All 'country[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + }, + "properties": { + "$ref": "#/components/schemas/VirtualMachineGroupArguments" + } + }, + "required": [ + "organization", + "properties" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Return details for a specific country", + "description": "Create a new virtual machine group with the provided details", "content": { "application/json": { "schema": { "properties": { - "country": { - "description": "The country details", + "virtual_machine_group": { + "description": "The new virtual machine group details", "allOf": [ { - "$ref": "#/components/schemas/Country" + "$ref": "#/components/schemas/VirtualMachineGroup" } ] } }, "required": [ - "country" + "virtual_machine_group" ] } } @@ -8873,10 +8743,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/CountryNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8884,73 +8757,102 @@ } } }, - "/countries/:country/country_states": { + "/virtual_machine_groups/:virtual_machine_group": { "get": { - "operationId": "get:country_country_states", + "operationId": "get:virtual_machine_group", "tags": [ "Core" ], "parameters": [ { - "name": "country[id]", + "name": "virtual_machine_group[id]", "in": "query", "schema": { "type": "string" }, - "description": "The country to return states for. All 'country[]' params are mutually exclusive, only one can be provided." + "description": "The virtual machine group to retrieve. All 'virtual_machine_group[]' params are mutually exclusive, only one can be provided." + } + ], + "responses": { + "200": { + "description": "Return detailed information about a virtual machine group", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_group": { + "description": "The virtual machine group details", + "allOf": [ + { + "$ref": "#/components/schemas/VirtualMachineGroup" + } + ] + } + }, + "required": [ + "virtual_machine_group" + ] + } + } + } }, - { - "name": "country[iso_code2]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The country to return states for. All 'country[]' params are mutually exclusive, only one can be provided." + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" }, - { - "name": "country[iso_code3]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The country to return states for. All 'country[]' params are mutually exclusive, only one can be provided." + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } + "404": { + "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" } + } + }, + "patch": { + "operationId": "patch:virtual_machine_group", + "tags": [ + "Core" ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_group": { + "$ref": "#/components/schemas/VirtualMachineGroupLookup" + }, + "properties": { + "$ref": "#/components/schemas/VirtualMachineGroupArguments" + } + }, + "required": [ + "virtual_machine_group", + "properties" + ] + } + } + } + }, "responses": { "200": { - "description": "Return a list of all country states for a specific country", + "description": "Update a virtual machine group with the provided details", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "country_states": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetCountryCountryStates200ResponseCountryStates" - }, - "description": "The list of country states for the given country" + "virtual_machine_group": { + "description": "The updated virtual machine group details", + "allOf": [ + { + "$ref": "#/components/schemas/VirtualMachineGroup" + } + ] } }, "required": [ - "pagination", - "country_states" + "virtual_machine_group" ] } } @@ -8960,51 +8862,58 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/CountryNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" } } - } - }, - "/country_states/:country_state": { - "get": { - "operationId": "get:country_state", + }, + "delete": { + "operationId": "delete:virtual_machine_group", "tags": [ "Core" ], - "parameters": [ - { - "name": "country_state[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The country state to return. All 'country_state[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_group": { + "$ref": "#/components/schemas/VirtualMachineGroupLookup" + } + }, + "required": [ + "virtual_machine_group" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Return details for a specific country state", + "description": "", "content": { "application/json": { "schema": { "properties": { - "country_state": { - "description": "The country state details", + "virtual_machine_group": { + "description": "The details for the deleted virtual machine group", "allOf": [ { - "$ref": "#/components/schemas/CountryState" + "$ref": "#/components/schemas/VirtualMachineGroup" } ] } }, "required": [ - "country_state" + "virtual_machine_group" ] } } @@ -9014,10 +8923,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/CountryStateNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" + }, + "409": { + "$ref": "#/components/responses/DeletionRestrictedResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9025,9 +8937,9 @@ } } }, - "/currencies": { + "/operating_systems": { "get": { - "operationId": "get:currencies", + "operationId": "get:operating_systems", "tags": [ "Core" ], @@ -9049,7 +8961,7 @@ ], "responses": { "200": { - "description": "Return a list of all currencies available in Katapult", + "description": "Return a list of all operating systems", "content": { "application/json": { "schema": { @@ -9057,17 +8969,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "currencies": { + "operating_systems": { "type": "array", "items": { - "$ref": "#/components/schemas/GetCurrencies200ResponseCurrencies" + "$ref": "#/components/schemas/GetOperatingSystems200ResponseOperatingSystems" }, - "description": "The list of currencies" + "description": "The list of available operating systems" } }, "required": [ "pagination", - "currencies" + "operating_systems" ] } } @@ -9085,48 +8997,40 @@ } } }, - "/currencies/:currency": { + "/operating_systems/:operating_system": { "get": { - "operationId": "get:currency", + "operationId": "get:operating_system", "tags": [ "Core" ], "parameters": [ { - "name": "currency[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The currency to return. All 'currency[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "currency[iso_code]", + "name": "operating_system[id]", "in": "query", "schema": { "type": "string" }, - "description": "The currency to return. All 'currency[]' params are mutually exclusive, only one can be provided." + "description": "The operating system to return. All 'operating_system[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Return details for a specific currency", + "description": "Return details for a specific operating system", "content": { "application/json": { "schema": { "properties": { - "currency": { - "description": "The currency details", + "operating_system": { + "description": "The operating system details", "allOf": [ { - "$ref": "#/components/schemas/Currency" + "$ref": "#/components/schemas/OperatingSystem" } ] } }, "required": [ - "currency" + "operating_system" ] } } @@ -9139,7 +9043,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/CurrencyNotFoundResponse" + "$ref": "#/components/responses/OperatingSystemNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9147,35 +9051,65 @@ } } }, - "/tasks/:task": { + "/organizations/:organization/trash_objects": { "get": { - "operationId": "get:task", + "operationId": "get:organization_trash_objects", "tags": [ "Core" ], "parameters": [ { - "name": "task[id]", + "name": "organization[id]", "in": "query", "schema": { "type": "string" }, - "description": "All 'task[]' params are mutually exclusive, only one can be provided." + "description": "The organization to find all trash objects for. All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "organization[sub_domain]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The organization to find all trash objects for. All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" + } } ], "responses": { "200": { - "description": "Returns details about a specific task", + "description": "Provides a full list of all trash objects for a specific organization", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/Task" + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "trash_objects": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TrashObject" + }, + "description": "The trash objects that belong to this organization" } }, "required": [ - "task" + "pagination", + "trash_objects" ] } } @@ -9185,10 +9119,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/TaskNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9196,39 +9130,106 @@ } } }, - "/users/current": { + "/organizations/:organization/trash_objects/purge_all": { + "post": { + "operationId": "post:organization_trash_objects_purge_all", + "tags": [ + "Core" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + } + }, + "required": [ + "organization" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Purge all trash objects for an organization", + "content": { + "application/json": { + "schema": { + "properties": { + "task": { + "$ref": "#/components/schemas/Task" + } + }, + "required": [ + "task" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/OrganizationNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/TaskQueueingErrorResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + } + } + } + }, + "/trash_objects/:trash_object": { "get": { - "operationId": "get:users_current", + "operationId": "get:trash_object", "tags": [ "Core" ], "parameters": [ - + { + "name": "trash_object[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The trash object to find. All 'trash_object[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "trash_object[object_id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The trash object to find. All 'trash_object[]' params are mutually exclusive, only one can be provided." + } ], "responses": { "200": { - "description": "This endpoint returns details for the currently authenticated user. If the API token used to\nauthenticate to the API is not associated with a user, this method will return an error.\n", + "description": "Provides information on a specific trash object", "content": { "application/json": { "schema": { "properties": { - "user": { - "$ref": "#/components/schemas/User" - }, - "organizations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetUsersCurrent200ResponseOrganizations" - } - }, - "api_token_id": { - "type": "string" + "trash_object": { + "description": "The requested trash object", + "allOf": [ + { + "$ref": "#/components/schemas/TrashObject" + } + ] } }, "required": [ - "user", - "organizations", - "api_token_id" + "trash_object" ] } } @@ -9241,7 +9242,63 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/NoUserAssociatedWithIdentityResponse" + "$ref": "#/components/responses/TrashObjectNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + } + } + }, + "delete": { + "operationId": "delete:trash_object", + "tags": [ + "Core" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "trash_object": { + "$ref": "#/components/schemas/TrashObjectLookup" + } + }, + "required": [ + "trash_object" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Purge a specific trash object", + "content": { + "application/json": { + "schema": { + "properties": { + "task": { + "$ref": "#/components/schemas/Task" + } + }, + "required": [ + "task" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/TrashObjectNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/TaskQueueingErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9249,9 +9306,9 @@ } } }, - "/invalidate_linked_web_session": { + "/trash_objects/:trash_object/restore": { "post": { - "operationId": "post:invalidate_linked_web_session", + "operationId": "post:trash_object_restore", "tags": [ "Core" ], @@ -9260,46 +9317,1997 @@ "application/json": { "schema": { "properties": { - - } + "trash_object": { + "$ref": "#/components/schemas/TrashObjectLookup" + } + }, + "required": [ + "trash_object" + ] } } } }, "responses": { "200": { - "description": "This endpoint allows you to invalidate the web session which is associated with your authenticated\nidentity. This will only work for API identities (most likely API tokens) that were generated using the first-party application\nlogin flow.\n", + "description": "Restore a trashed object to its original location", "content": { "application/json": { "schema": { "properties": { - "status": { - "type": "boolean" + "trash_object": { + "description": "The requested trash object", + "allOf": [ + { + "$ref": "#/components/schemas/TrashObject" + } + ] } }, "required": [ - "status" + "trash_object" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/TrashObjectNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + } + } + } + }, + "/zones": { + "get": { + "operationId": "get:zones", + "tags": [ + "Core" + ], + "parameters": [ + + ], + "responses": { + "200": { + "description": "Returns a list of all zones on the system for the current identity", + "content": { + "application/json": { + "schema": { + "properties": { + "zones": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetZones200ResponseZones" + }, + "description": "The zones available to the current identity" + } + }, + "required": [ + "zones" ] } } - } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + } + } + } + }, + "/zones/:zone": { + "get": { + "operationId": "get:zone", + "tags": [ + "Core" + ], + "parameters": [ + { + "name": "zone[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The zone to find. All 'zone[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "zone[permalink]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The zone to find. All 'zone[]' params are mutually exclusive, only one can be provided." + } + ], + "responses": { + "200": { + "description": "Returns the details for a specific zone", + "content": { + "application/json": { + "schema": { + "properties": { + "zone": { + "description": "The zone details", + "allOf": [ + { + "$ref": "#/components/schemas/Zone" + } + ] + } + }, + "required": [ + "zone" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/ZoneNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + } + } + } + }, + "/countries": { + "get": { + "operationId": "get:countries", + "tags": [ + "Core" + ], + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "Return a list of all countries available in Katapult", + "content": { + "application/json": { + "schema": { + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "countries": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetCountries200ResponseCountries" + }, + "description": "The list of countries" + } + }, + "required": [ + "pagination", + "countries" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + } + } + } + }, + "/countries/:country": { + "get": { + "operationId": "get:country", + "tags": [ + "Core" + ], + "parameters": [ + { + "name": "country[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The country to return. All 'country[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "country[iso_code2]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The country to return. All 'country[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "country[iso_code3]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The country to return. All 'country[]' params are mutually exclusive, only one can be provided." + } + ], + "responses": { + "200": { + "description": "Return details for a specific country", + "content": { + "application/json": { + "schema": { + "properties": { + "country": { + "description": "The country details", + "allOf": [ + { + "$ref": "#/components/schemas/Country" + } + ] + } + }, + "required": [ + "country" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/CountryNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + } + } + } + }, + "/countries/:country/country_states": { + "get": { + "operationId": "get:country_country_states", + "tags": [ + "Core" + ], + "parameters": [ + { + "name": "country[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The country to return states for. All 'country[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "country[iso_code2]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The country to return states for. All 'country[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "country[iso_code3]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The country to return states for. All 'country[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "Return a list of all country states for a specific country", + "content": { + "application/json": { + "schema": { + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "country_states": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetCountryCountryStates200ResponseCountryStates" + }, + "description": "The list of country states for the given country" + } + }, + "required": [ + "pagination", + "country_states" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/CountryNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + } + } + } + }, + "/country_states/:country_state": { + "get": { + "operationId": "get:country_state", + "tags": [ + "Core" + ], + "parameters": [ + { + "name": "country_state[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The country state to return. All 'country_state[]' params are mutually exclusive, only one can be provided." + } + ], + "responses": { + "200": { + "description": "Return details for a specific country state", + "content": { + "application/json": { + "schema": { + "properties": { + "country_state": { + "description": "The country state details", + "allOf": [ + { + "$ref": "#/components/schemas/CountryState" + } + ] + } + }, + "required": [ + "country_state" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/CountryStateNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + } + } + } + }, + "/currencies": { + "get": { + "operationId": "get:currencies", + "tags": [ + "Core" + ], + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "Return a list of all currencies available in Katapult", + "content": { + "application/json": { + "schema": { + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "currencies": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetCurrencies200ResponseCurrencies" + }, + "description": "The list of currencies" + } + }, + "required": [ + "pagination", + "currencies" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + } + } + } + }, + "/currencies/:currency": { + "get": { + "operationId": "get:currency", + "tags": [ + "Core" + ], + "parameters": [ + { + "name": "currency[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The currency to return. All 'currency[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "currency[iso_code]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "The currency to return. All 'currency[]' params are mutually exclusive, only one can be provided." + } + ], + "responses": { + "200": { + "description": "Return details for a specific currency", + "content": { + "application/json": { + "schema": { + "properties": { + "currency": { + "description": "The currency details", + "allOf": [ + { + "$ref": "#/components/schemas/Currency" + } + ] + } + }, + "required": [ + "currency" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/CurrencyNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + } + } + } + }, + "/tasks/:task": { + "get": { + "operationId": "get:task", + "tags": [ + "Core" + ], + "parameters": [ + { + "name": "task[id]", + "in": "query", + "schema": { + "type": "string" + }, + "description": "All 'task[]' params are mutually exclusive, only one can be provided." + } + ], + "responses": { + "200": { + "description": "Returns details about a specific task", + "content": { + "application/json": { + "schema": { + "properties": { + "task": { + "$ref": "#/components/schemas/Task" + } + }, + "required": [ + "task" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/TaskNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + } + } + } + }, + "/users/current": { + "get": { + "operationId": "get:users_current", + "tags": [ + "Core" + ], + "parameters": [ + + ], + "responses": { + "200": { + "description": "This endpoint returns details for the currently authenticated user. If the API token used to\nauthenticate to the API is not associated with a user, this method will return an error.\n", + "content": { + "application/json": { + "schema": { + "properties": { + "user": { + "$ref": "#/components/schemas/User" + }, + "organizations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetUsersCurrent200ResponseOrganizations" + } + }, + "api_token_id": { + "type": "string" + } + }, + "required": [ + "user", + "organizations", + "api_token_id" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/NoUserAssociatedWithIdentityResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + } + } + } + }, + "/invalidate_linked_web_session": { + "post": { + "operationId": "post:invalidate_linked_web_session", + "tags": [ + "Core" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + + } + } + } + } + }, + "responses": { + "200": { + "description": "This endpoint allows you to invalidate the web session which is associated with your authenticated\nidentity. This will only work for API identities (most likely API tokens) that were generated using the first-party application\nlogin flow.\n", + "content": { + "application/json": { + "schema": { + "properties": { + "status": { + "type": "boolean" + } + }, + "required": [ + "status" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/IdentityNotLinkedToWebSession400Res" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + } + } + } + } + }, + "components": { + "schemas": { + "GetDataCenters200ResponseDataCenters": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "permalink": { + "type": "string", + "nullable": true + }, + "country": { + "$ref": "#/components/schemas/GetDataCentersPartCountry" + } + } + }, + "GetDataCentersPartCountry": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "MissingAPITokenEnum": { + "type": "string", + "enum": [ + "missing_api_token" + ] + }, + "UnauthorizedNetworkForAPIToken": { + "type": "object", + "properties": { + "ip_address": { + "type": "string", + "description": "The IP address the request was received from" + } + } + }, + "UnauthorizedNetworkForAPITokenEnum": { + "type": "string", + "enum": [ + "unauthorized_network_for_api_token" + ] + }, + "UnauthorizedNetworkForAPITokenSchema": { + "type": "object", + "description": "Network is not allowed to access the API with this API token", + "properties": { + "code": { + "$ref": "#/components/schemas/UnauthorizedNetworkForAPITokenEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "$ref": "#/components/schemas/UnauthorizedNetworkForAPIToken" + } + } + }, + "InvalidAPIToken": { + "type": "object", + "properties": { + "details": { + "type": "string", + "nullable": true + } + } + }, + "InvalidAPITokenEnum": { + "type": "string", + "enum": [ + "invalid_api_token" + ] + }, + "InvalidAPITokenSchema": { + "type": "object", + "description": "The API token provided was not valid (it may not exist or have expired)", + "properties": { + "code": { + "$ref": "#/components/schemas/InvalidAPITokenEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "$ref": "#/components/schemas/InvalidAPIToken" + } + } + }, + "ScopeNotGrantedError": { + "properties": { + "scopes": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ScopeNotGrantedErrorEnum": { + "type": "string", + "enum": [ + "scope_not_granted" + ] + }, + "ScopeNotGrantedErrorSchema": { + "type": "object", + "description": "The scope required for this endpoint has not been granted to the authenticating identity", + "properties": { + "code": { + "$ref": "#/components/schemas/ScopeNotGrantedErrorEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "$ref": "#/components/schemas/ScopeNotGrantedError" + } + } + }, + "OneOfAPIAuthenticator403Response": { + "oneOf": [ + { + "$ref": "#/components/schemas/UnauthorizedNetworkForAPITokenSchema" + }, + { + "$ref": "#/components/schemas/InvalidAPITokenSchema" + }, + { + "$ref": "#/components/schemas/ScopeNotGrantedErrorSchema" + } + ] + }, + "RateLimitReached": { + "type": "object", + "properties": { + "total_permitted": { + "type": "integer", + "description": "The total number of requests per minute that are permitted" + } + } + }, + "RateLimitReachedEnum": { + "type": "string", + "enum": [ + "rate_limit_reached" + ] + }, + "GetDataCenter200ResponseDataCenter": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "permalink": { + "type": "string", + "nullable": true + }, + "country": { + "$ref": "#/components/schemas/GetDataCenterPartCountry" + } + } + }, + "GetDataCenterPartCountry": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "DataCenterNotFoundEnum": { + "type": "string", + "enum": [ + "data_center_not_found" + ] + }, + "GetDataCenterDefaultNetwork200ResponseNetwork": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "permalink": { + "type": "string", + "nullable": true + }, + "data_center": { + "$ref": "#/components/schemas/GetDataCenterDefaultNetworkPartDataCenter" + } + } + }, + "GetDataCenterDefaultNetworkPartDataCenter": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "permalink": { + "type": "string", + "nullable": true + } + } + }, + "GetOrganizations200ResponseOrganizations": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sub_domain": { + "type": "string" + }, + "infrastructure_domain": { + "type": "string" + }, + "created_at": { + "type": "integer" + }, + "suspended": { + "type": "boolean" + }, + "managed": { + "type": "boolean" + } + } + }, + "Organization": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sub_domain": { + "type": "string" + }, + "infrastructure_domain": { + "type": "string" + }, + "created_at": { + "type": "integer" + }, + "suspended": { + "type": "boolean" + }, + "managed": { + "type": "boolean" + }, + "billing_name": { + "type": "string", + "nullable": true + }, + "address1": { + "type": "string", + "nullable": true + }, + "address2": { + "type": "string", + "nullable": true + }, + "address3": { + "type": "string", + "nullable": true + }, + "address4": { + "type": "string", + "nullable": true + }, + "postcode": { + "type": "string", + "nullable": true + }, + "vat_number": { + "type": "string", + "nullable": true + }, + "phone_number": { + "type": "string", + "nullable": true + }, + "currency": { + "$ref": "#/components/schemas/Currency" + }, + "country": { + "allOf": [ + { + "$ref": "#/components/schemas/Country" + } + ], + "nullable": true + }, + "country_state": { + "allOf": [ + { + "$ref": "#/components/schemas/CountryState" + } + ], + "nullable": true + } + } + }, + "Currency": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "iso_code": { + "type": "string" + }, + "symbol": { + "type": "string" + } + } + }, + "Country": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "iso_code2": { + "type": "string" + }, + "iso_code3": { + "type": "string" + }, + "time_zone": { + "type": "string", + "nullable": true + }, + "eu": { + "type": "boolean" + } + } + }, + "CountryState": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "code": { + "type": "string" + }, + "country": { + "$ref": "#/components/schemas/Country" + } + } + }, + "OrganizationSuspendedEnum": { + "type": "string", + "enum": [ + "organization_suspended" + ] + }, + "OrganizationSuspendedSchema": { + "type": "object", + "description": "An organization was found from the arguments provided but it was suspended", + "properties": { + "code": { + "$ref": "#/components/schemas/OrganizationSuspendedEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + }, + "OrganizationNotActivatedEnum": { + "type": "string", + "enum": [ + "organization_not_activated" + ] + }, + "OrganizationNotActivatedSchema": { + "type": "object", + "description": "An organization was found from the arguments provided but it wasn't activated yet", + "properties": { + "code": { + "$ref": "#/components/schemas/OrganizationNotActivatedEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + }, + "OneOfOrganizationNotActivatedOrganizationSuspended403Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/UnauthorizedNetworkForAPITokenSchema" + }, + { + "$ref": "#/components/schemas/InvalidAPITokenSchema" + }, + { + "$ref": "#/components/schemas/ScopeNotGrantedErrorSchema" + }, + { + "$ref": "#/components/schemas/OrganizationSuspendedSchema" + }, + { + "$ref": "#/components/schemas/OrganizationNotActivatedSchema" + } + ] + }, + "OrganizationNotFoundEnum": { + "type": "string", + "enum": [ + "organization_not_found" + ] + }, + "OrganizationPolicy": { + "type": "object", + "properties": { + "maximum_uninvoiced_balance": { + "$ref": "#/components/schemas/DecimalOrUnlimited" + }, + "maximum_virtual_machines": { + "$ref": "#/components/schemas/IntegerOrUnlimited" + }, + "maximum_virtual_machine_memory": { + "$ref": "#/components/schemas/IntegerOrUnlimited" + }, + "maximum_disk_space": { + "$ref": "#/components/schemas/IntegerOrUnlimited" + }, + "maximum_managed_organizations": { + "$ref": "#/components/schemas/IntegerOrUnlimited" + }, + "maximum_unallocated_ip_addresses": { + "$ref": "#/components/schemas/IntegerOrUnlimited" + }, + "maximum_security_groups": { + "$ref": "#/components/schemas/IntegerOrUnlimited" + }, + "maximum_virtual_networks": { + "$ref": "#/components/schemas/IntegerOrUnlimited" + }, + "maximum_load_balancers": { + "$ref": "#/components/schemas/IntegerOrUnlimited" + }, + "maximum_dns_zones": { + "$ref": "#/components/schemas/IntegerOrUnlimited" + }, + "maximum_certificates": { + "$ref": "#/components/schemas/IntegerOrUnlimited" + }, + "maximum_file_storage_volumes": { + "$ref": "#/components/schemas/IntegerOrUnlimited" + }, + "maximum_isos": { + "$ref": "#/components/schemas/IntegerOrUnlimited" + }, + "flexible_virtual_machine_resources": { + "type": "boolean" + }, + "allow_suspension": { + "type": "boolean" + }, + "allow_restricted_traffic_types": { + "type": "boolean" + } + } + }, + "DecimalOrUnlimited": { + "type": "object", + "properties": { + "value": { + "type": "number", + "format": "float", + "nullable": true + }, + "unlimited": { + "type": "boolean" + } + } + }, + "IntegerOrUnlimited": { + "type": "object", + "properties": { + "value": { + "type": "integer", + "nullable": true + }, + "unlimited": { + "type": "boolean" + } + } + }, + "PaginationObject": { + "type": "object", + "properties": { + "current_page": { + "type": "integer", + "description": "The current page" + }, + "total_pages": { + "type": "integer", + "description": "The total number of pages", + "nullable": true + }, + "total": { + "type": "integer", + "description": "The total number of items across all pages", + "nullable": true + }, + "per_page": { + "type": "integer", + "description": "The number of items per page" + }, + "large_set": { + "type": "boolean", + "description": "Is this a large set and therefore the total number of records cannot be returned?" + } + } + }, + "GetOrganizationUsersWithAccess200ResponseUsers": { + "type": "object", + "properties": { + "user": { + "allOf": [ + { + "$ref": "#/components/schemas/User" + } + ], + "nullable": true + } + } + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "first_name": { + "type": "string" + }, + "last_name": { + "type": "string" + }, + "avatar_url": { + "type": "string" + } + } + }, + "GetOrganizationManaged200ResponseOrganizations": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sub_domain": { + "type": "string" + }, + "infrastructure_domain": { + "type": "string" + }, + "created_at": { + "type": "integer" + }, + "managed": { + "type": "boolean" + } + } + }, + "OrganizationLookup": { + "description": "All 'organization[]' params are mutually exclusive, only one can be provided.", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "sub_domain": { + "type": "string" + } + } + }, + "OrganizationLimitReachedEnum": { + "type": "string", + "enum": [ + "organization_limit_reached" + ] + }, + "OrganizationLimitReachedSchema": { + "type": "object", + "description": "The maxmium number of organizations that can be created has been reached", + "properties": { + "code": { + "$ref": "#/components/schemas/OrganizationLimitReachedEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + }, + "ValidationError": { + "properties": { + "errors": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ValidationErrorEnum": { + "type": "string", + "enum": [ + "validation_error" + ] + }, + "ValidationErrorSchema": { + "type": "object", + "description": "A validation error occurred with the object that was being created/updated/deleted", + "properties": { + "code": { + "$ref": "#/components/schemas/ValidationErrorEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "$ref": "#/components/schemas/ValidationError" + } + } + }, + "OneOfOrganizationLimitReachedValidationError422Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/OrganizationLimitReachedSchema" + }, + { + "$ref": "#/components/schemas/ValidationErrorSchema" + } + ] + }, + "GetOrganizationDisks200ResponseDisk": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "size_in_gb": { + "type": "integer" + }, + "wwn": { + "type": "string" + }, + "state": { + "$ref": "#/components/schemas/DiskStateEnum" + }, + "virtual_machine_disk": { + "allOf": [ + { + "$ref": "#/components/schemas/GetOrganizationDisksPartVirtualMachineDisk" + } + ], + "nullable": true + } + } + }, + "DiskStateEnum": { + "type": "string", + "enum": [ + "not_built", + "failed", + "built", + "building", + "installing", + "restoring", + "formatting", + "resizing", + "configuring", + "importing" + ] + }, + "GetOrganizationDisksPartVirtualMachineDisk": { + "type": "object", + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/GetOrganizationDisksPartVirtualMachine" + } + } + }, + "GetOrganizationDisksPartVirtualMachine": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "fqdn": { + "type": "string" + } + } + }, + "DiskArguments": { + "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "bus_type": { + "$ref": "#/components/schemas/DiskBusEnum" + }, + "data_center": { + "$ref": "#/components/schemas/DataCenterLookup" + }, + "size_in_gb": { + "type": "integer", + "description": "Only available when creating disk. Existing disks must use the resize endpoint." + }, + "io_profile": { + "$ref": "#/components/schemas/DiskIOProfileLookup" + }, + "initial_file_system": { + "$ref": "#/components/schemas/FileSystemEnum" + }, + "storage_speed": { + "$ref": "#/components/schemas/StorageSpeedEnum" + }, + "virtual_machine_disk": { + "$ref": "#/components/schemas/VirtualMachineDiskArguments" + } + } + }, + "DiskBusEnum": { + "type": "string", + "enum": [ + "scsi", + "virtio" + ] + }, + "DataCenterLookup": { + "description": "All 'data_center[]' params are mutually exclusive, only one can be provided.", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "permalink": { + "type": "string" + } + } + }, + "DiskIOProfileLookup": { + "description": "All 'io_profile[]' params are mutually exclusive, only one can be provided.", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "permalink": { + "type": "string" + } + } + }, + "FileSystemEnum": { + "type": "string", + "enum": [ + "ext4", + "xfs" + ] + }, + "StorageSpeedEnum": { + "type": "string", + "enum": [ + "nvme", + "ssd" + ] + }, + "VirtualMachineDiskArguments": { + "description": "All 'virtual_machine_disk[]' params are mutually exclusive, only one can be provided.", + "type": "object", + "properties": { + "boot": { + "type": "boolean" + }, + "attach_on_boot": { + "type": "boolean", + "description": "Attach the disk during virtual machine start up. Default is true." + }, + "attach": { + "type": "boolean", + "description": "Attach the disk once built. If the virtual machine is not running the disk will attach when started. Only available when creating disk, existing disks must use the attach endpoint." + }, + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" + } + } + }, + "VirtualMachineLookup": { + "description": "All 'virtual_machine[]' params are mutually exclusive, only one can be provided.", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "fqdn": { + "type": "string" + } + } + }, + "PostOrganizationDisks201ResponseDisk": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "size_in_gb": { + "type": "integer" + }, + "wwn": { + "type": "string" + }, + "state": { + "$ref": "#/components/schemas/DiskStateEnum" + }, + "created_at": { + "type": "integer" + }, + "storage_speed": { + "$ref": "#/components/schemas/StorageSpeedEnum" + }, + "io_profile": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskIOProfile" + } + ], + "nullable": true + }, + "bus_type": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskBusEnum" + } + ], + "nullable": true + }, + "data_center": { + "$ref": "#/components/schemas/PostOrganizationDisksPartDataCenter" + }, + "virtual_machine_disk": { + "allOf": [ + { + "$ref": "#/components/schemas/PostOrganizationDisksPartVirtualMachineDisk" + } + ], + "nullable": true + }, + "installation": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskInstallation" + } + ], + "nullable": true + } + } + }, + "DiskIOProfile": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "permalink": { + "type": "string" + }, + "speed_in_mb": { + "type": "integer", + "nullable": true + }, + "iops": { + "type": "integer", + "nullable": true + } + } + }, + "PostOrganizationDisksPartDataCenter": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "permalink": { + "type": "string", + "nullable": true + } + } + }, + "PostOrganizationDisksPartVirtualMachineDisk": { + "type": "object", + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/PostOrganizationDisksPartVirtualMachine" + }, + "attach_on_boot": { + "type": "boolean" + }, + "boot": { + "type": "boolean" + }, + "state": { + "$ref": "#/components/schemas/VirtualMachineDiskAttachmentStateEnum" + } + } + }, + "PostOrganizationDisksPartVirtualMachine": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "fqdn": { + "type": "string" + } + } + }, + "VirtualMachineDiskAttachmentStateEnum": { + "type": "string", + "enum": [ + "detached", + "failed", + "attached", + "attaching", + "detaching" + ] + }, + "DiskInstallation": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "disk_template_version": { + "$ref": "#/components/schemas/DiskTemplateVersion" + }, + "attributes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DiskInstallationAttribute" + } + } + } + }, + "DiskTemplateVersion": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "number": { + "type": "integer" + }, + "stable": { + "type": "boolean" + }, + "size_in_gb": { + "type": "integer" + }, + "disk_template": { + "$ref": "#/components/schemas/DiskTemplate" + } + } + }, + "DiskTemplate": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string", + "nullable": true + }, + "permalink": { + "type": "string" + }, + "universal": { + "type": "boolean" + }, + "latest_version": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskTemplateVersion" + } + ], + "nullable": true + }, + "operating_system": { + "allOf": [ + { + "$ref": "#/components/schemas/OperatingSystem" + } + ], + "nullable": true + } + } + }, + "OperatingSystem": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "badge": { + "allOf": [ + { + "$ref": "#/components/schemas/Attachment" + } + ], + "nullable": true + } + } + }, + "Attachment": { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "file_name": { + "type": "string" + }, + "file_type": { + "type": "string" + }, + "file_size": { + "type": "integer" + }, + "digest": { + "type": "string" + }, + "token": { + "type": "string" + } + } + }, + "DiskInstallationAttribute": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "label": { + "type": "string" + }, + "value": { + "type": "string", + "nullable": true + }, + "description": { + "type": "string", + "nullable": true + }, + "protect": { + "type": "boolean" + } + } + }, + "Task": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/TaskStatusEnum" + }, + "created_at": { + "type": "integer" + }, + "started_at": { + "type": "integer", + "nullable": true + }, + "finished_at": { + "type": "integer", + "nullable": true + }, + "progress": { + "type": "integer" + } + } + }, + "TaskStatusEnum": { + "type": "string", + "enum": [ + "pending", + "running", + "completed", + "failed" + ] + }, + "PermissionDenied": { + "type": "object", + "properties": { + "details": { + "type": "string", + "description": "Additional information regarding the reason why permission was denied", + "nullable": true + } + } + }, + "PermissionDeniedEnum": { + "type": "string", + "enum": [ + "permission_denied" + ] + }, + "PermissionDeniedSchema": { + "type": "object", + "description": "The authenticated identity is not permitted to perform this action", + "properties": { + "code": { + "$ref": "#/components/schemas/PermissionDeniedEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "$ref": "#/components/schemas/PermissionDenied" + } + } + }, + "OneOfOrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/UnauthorizedNetworkForAPITokenSchema" + }, + { + "$ref": "#/components/schemas/InvalidAPITokenSchema" + }, + { + "$ref": "#/components/schemas/ScopeNotGrantedErrorSchema" + }, + { + "$ref": "#/components/schemas/OrganizationSuspendedSchema" + }, + { + "$ref": "#/components/schemas/OrganizationNotActivatedSchema" + }, + { + "$ref": "#/components/schemas/PermissionDeniedSchema" + } + ] + }, + "TaskQueueingError": { + "type": "object", + "properties": { + "details": { + "type": "string" + } + } + }, + "TaskQueueingErrorEnum": { + "type": "string", + "enum": [ + "task_queueing_error" + ] + }, + "GetDisk200ResponseDisk": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "size_in_gb": { + "type": "integer" + }, + "wwn": { + "type": "string" + }, + "state": { + "$ref": "#/components/schemas/DiskStateEnum" + }, + "created_at": { + "type": "integer" + }, + "storage_speed": { + "$ref": "#/components/schemas/StorageSpeedEnum" + }, + "io_profile": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskIOProfile" + } + ], + "nullable": true }, - "400": { - "$ref": "#/components/responses/IdentityNotLinkedToWebSession400Res" + "bus_type": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskBusEnum" + } + ], + "nullable": true }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "data_center": { + "$ref": "#/components/schemas/GetDiskPartDataCenter" }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" + "virtual_machine_disk": { + "allOf": [ + { + "$ref": "#/components/schemas/GetDiskPartVirtualMachineDisk" + } + ], + "nullable": true + }, + "installation": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskInstallation" + } + ], + "nullable": true } } - } - } - }, - "components": { - "schemas": { - "GetDataCenters200ResponseDataCenters": { + }, + "GetDiskPartDataCenter": { "type": "object", "properties": { "id": { @@ -9311,121 +11319,193 @@ "permalink": { "type": "string", "nullable": true + } + } + }, + "GetDiskPartVirtualMachineDisk": { + "type": "object", + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/GetDiskPartVirtualMachine" }, - "country": { - "$ref": "#/components/schemas/GetDataCentersPartCountry" + "attach_on_boot": { + "type": "boolean" + }, + "boot": { + "type": "boolean" + }, + "state": { + "$ref": "#/components/schemas/VirtualMachineDiskAttachmentStateEnum" } } }, - "GetDataCentersPartCountry": { + "GetDiskPartVirtualMachine": { "type": "object", "properties": { "id": { "type": "string" }, - "name": { + "fqdn": { "type": "string" } } }, - "MissingAPITokenEnum": { + "DiskNotFoundEnum": { "type": "string", "enum": [ - "missing_api_token" + "disk_not_found" ] }, - "UnauthorizedNetworkForAPIToken": { + "ObjectInTrash": { "type": "object", "properties": { - "ip_address": { - "type": "string", - "description": "The IP address the request was received from" + "trash_object": { + "allOf": [ + { + "$ref": "#/components/schemas/TrashObject" + } + ], + "nullable": true } } }, - "UnauthorizedNetworkForAPITokenEnum": { + "TrashObject": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "keep_until": { + "type": "integer" + }, + "object_id": { + "type": "string" + }, + "object_type": { + "type": "string" + } + } + }, + "ObjectInTrashEnum": { "type": "string", "enum": [ - "unauthorized_network_for_api_token" + "object_in_trash" ] }, - "UnauthorizedNetworkForAPITokenSchema": { + "DiskLookup": { + "description": "All 'disk[]' params are mutually exclusive, only one can be provided.", "type": "object", - "description": "Network is not allowed to access the API with this API token", "properties": { - "code": { - "$ref": "#/components/schemas/UnauthorizedNetworkForAPITokenEnum" - }, - "description": { + "id": { "type": "string" - }, - "detail": { - "$ref": "#/components/schemas/UnauthorizedNetworkForAPIToken" } } }, - "InvalidAPIToken": { + "PatchDisk200ResponseDisk": { "type": "object", "properties": { - "details": { - "type": "string", + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "size_in_gb": { + "type": "integer" + }, + "wwn": { + "type": "string" + }, + "state": { + "$ref": "#/components/schemas/DiskStateEnum" + }, + "created_at": { + "type": "integer" + }, + "storage_speed": { + "$ref": "#/components/schemas/StorageSpeedEnum" + }, + "io_profile": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskIOProfile" + } + ], + "nullable": true + }, + "bus_type": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskBusEnum" + } + ], + "nullable": true + }, + "data_center": { + "$ref": "#/components/schemas/PatchDiskPartDataCenter" + }, + "virtual_machine_disk": { + "allOf": [ + { + "$ref": "#/components/schemas/PatchDiskPartVirtualMachineDisk" + } + ], + "nullable": true + }, + "installation": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskInstallation" + } + ], "nullable": true } } }, - "InvalidAPITokenEnum": { - "type": "string", - "enum": [ - "invalid_api_token" - ] - }, - "InvalidAPITokenSchema": { + "PatchDiskPartDataCenter": { "type": "object", - "description": "The API token provided was not valid (it may not exist or have expired)", "properties": { - "code": { - "$ref": "#/components/schemas/InvalidAPITokenEnum" + "id": { + "type": "string" }, - "description": { + "name": { "type": "string" }, - "detail": { - "$ref": "#/components/schemas/InvalidAPIToken" + "permalink": { + "type": "string", + "nullable": true } } }, - "ScopeNotGrantedError": { + "PatchDiskPartVirtualMachineDisk": { + "type": "object", "properties": { - "scopes": { - "type": "array", - "items": { - "type": "string" - } + "virtual_machine": { + "$ref": "#/components/schemas/PatchDiskPartVirtualMachine" + }, + "attach_on_boot": { + "type": "boolean" + }, + "boot": { + "type": "boolean" + }, + "state": { + "$ref": "#/components/schemas/VirtualMachineDiskAttachmentStateEnum" } } }, - "ScopeNotGrantedErrorEnum": { - "type": "string", - "enum": [ - "scope_not_granted" - ] - }, - "ScopeNotGrantedErrorSchema": { + "PatchDiskPartVirtualMachine": { "type": "object", - "description": "The scope required for this endpoint has not been granted to the authenticating identity", "properties": { - "code": { - "$ref": "#/components/schemas/ScopeNotGrantedErrorEnum" - }, - "description": { + "id": { "type": "string" }, - "detail": { - "$ref": "#/components/schemas/ScopeNotGrantedError" + "fqdn": { + "type": "string" } } }, - "OneOfAPIAuthenticator403Response": { + "OneOfPermissionDenied403Res": { "oneOf": [ { "$ref": "#/components/schemas/UnauthorizedNetworkForAPITokenSchema" @@ -9434,61 +11514,45 @@ "$ref": "#/components/schemas/InvalidAPITokenSchema" }, { - "$ref": "#/components/schemas/ScopeNotGrantedErrorSchema" - } - ] - }, - "RateLimitReached": { - "type": "object", - "properties": { - "total_permitted": { - "type": "integer", - "description": "The total number of requests per minute that are permitted" - } - } - }, - "RateLimitReachedEnum": { - "type": "string", - "enum": [ - "rate_limit_reached" - ] - }, - "GetDataCenter200ResponseDataCenter": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "permalink": { - "type": "string", - "nullable": true + "$ref": "#/components/schemas/ScopeNotGrantedErrorSchema" }, - "country": { - "$ref": "#/components/schemas/GetDataCenterPartCountry" + { + "$ref": "#/components/schemas/PermissionDeniedSchema" } - } + ] }, - "GetDataCenterPartCountry": { + "UnassignedDiskEnum": { + "type": "string", + "enum": [ + "unassigned_disk" + ] + }, + "UnassignedDiskSchema": { "type": "object", + "description": "Disk is not assigned to a virtual machine.", "properties": { - "id": { - "type": "string" + "code": { + "$ref": "#/components/schemas/UnassignedDiskEnum" }, - "name": { + "description": { "type": "string" + }, + "detail": { + "type": "object" } } }, - "DataCenterNotFoundEnum": { - "type": "string", - "enum": [ - "data_center_not_found" + "OneOfUnassignedDiskValidationError422Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/UnassignedDiskSchema" + }, + { + "$ref": "#/components/schemas/ValidationErrorSchema" + } ] }, - "GetDataCenterDefaultNetwork200ResponseNetwork": { + "DeleteDisk200ResponseDisk": { "type": "object", "properties": { "id": { @@ -9497,16 +11561,59 @@ "name": { "type": "string" }, - "permalink": { - "type": "string", + "size_in_gb": { + "type": "integer" + }, + "wwn": { + "type": "string" + }, + "state": { + "$ref": "#/components/schemas/DiskStateEnum" + }, + "created_at": { + "type": "integer" + }, + "storage_speed": { + "$ref": "#/components/schemas/StorageSpeedEnum" + }, + "io_profile": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskIOProfile" + } + ], + "nullable": true + }, + "bus_type": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskBusEnum" + } + ], "nullable": true }, "data_center": { - "$ref": "#/components/schemas/GetDataCenterDefaultNetworkPartDataCenter" + "$ref": "#/components/schemas/DeleteDiskPartDataCenter" + }, + "virtual_machine_disk": { + "allOf": [ + { + "$ref": "#/components/schemas/DeleteDiskPartVirtualMachineDisk" + } + ], + "nullable": true + }, + "installation": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskInstallation" + } + ], + "nullable": true } } }, - "GetDataCenterDefaultNetworkPartDataCenter": { + "DeleteDiskPartDataCenter": { "type": "object", "properties": { "id": { @@ -9521,110 +11628,96 @@ } } }, - "GetOrganizations200ResponseOrganizations": { + "DeleteDiskPartVirtualMachineDisk": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "sub_domain": { - "type": "string" - }, - "infrastructure_domain": { - "type": "string" - }, - "created_at": { - "type": "integer" + "virtual_machine": { + "$ref": "#/components/schemas/DeleteDiskPartVirtualMachine" }, - "suspended": { + "attach_on_boot": { "type": "boolean" }, - "managed": { + "boot": { "type": "boolean" + }, + "state": { + "$ref": "#/components/schemas/VirtualMachineDiskAttachmentStateEnum" } } }, - "Organization": { + "DeleteDiskPartVirtualMachine": { "type": "object", "properties": { "id": { "type": "string" }, - "name": { + "fqdn": { "type": "string" - }, - "sub_domain": { + } + } + }, + "PostDiskAssign200ResponseDisk": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "infrastructure_domain": { + "name": { "type": "string" }, - "created_at": { + "size_in_gb": { "type": "integer" }, - "suspended": { - "type": "boolean" - }, - "managed": { - "type": "boolean" - }, - "billing_name": { - "type": "string", - "nullable": true - }, - "address1": { - "type": "string", - "nullable": true - }, - "address2": { - "type": "string", - "nullable": true + "wwn": { + "type": "string" }, - "address3": { - "type": "string", - "nullable": true + "state": { + "$ref": "#/components/schemas/DiskStateEnum" }, - "address4": { - "type": "string", - "nullable": true + "created_at": { + "type": "integer" }, - "postcode": { - "type": "string", - "nullable": true + "storage_speed": { + "$ref": "#/components/schemas/StorageSpeedEnum" }, - "vat_number": { - "type": "string", + "io_profile": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskIOProfile" + } + ], "nullable": true }, - "phone_number": { - "type": "string", + "bus_type": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskBusEnum" + } + ], "nullable": true }, - "currency": { - "$ref": "#/components/schemas/Currency" + "data_center": { + "$ref": "#/components/schemas/PostDiskAssignPartDataCenter" }, - "country": { + "virtual_machine_disk": { "allOf": [ { - "$ref": "#/components/schemas/Country" + "$ref": "#/components/schemas/PostDiskAssignPartVirtualMachineDisk" } ], "nullable": true }, - "country_state": { + "installation": { "allOf": [ { - "$ref": "#/components/schemas/CountryState" + "$ref": "#/components/schemas/DiskInstallation" } ], "nullable": true } } }, - "Currency": { + "PostDiskAssignPartDataCenter": { "type": "object", "properties": { "id": { @@ -9633,67 +11726,46 @@ "name": { "type": "string" }, - "iso_code": { - "type": "string" - }, - "symbol": { - "type": "string" + "permalink": { + "type": "string", + "nullable": true } } }, - "Country": { + "PostDiskAssignPartVirtualMachineDisk": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "iso_code2": { - "type": "string" - }, - "iso_code3": { - "type": "string" + "virtual_machine": { + "$ref": "#/components/schemas/PostDiskAssignPartVirtualMachine" }, - "time_zone": { - "type": "string", - "nullable": true + "attach_on_boot": { + "type": "boolean" }, - "eu": { + "boot": { "type": "boolean" + }, + "state": { + "$ref": "#/components/schemas/VirtualMachineDiskAttachmentStateEnum" } } }, - "CountryState": { + "PostDiskAssignPartVirtualMachine": { "type": "object", "properties": { "id": { "type": "string" }, - "name": { - "type": "string" - }, - "code": { + "fqdn": { "type": "string" - }, - "country": { - "$ref": "#/components/schemas/Country" } } }, - "OrganizationSuspendedEnum": { - "type": "string", - "enum": [ - "organization_suspended" - ] - }, - "OrganizationSuspendedSchema": { + "DiskNotFoundSchema": { "type": "object", - "description": "An organization was found from the arguments provided but it was suspended", + "description": "No disk was found matching any of the criteria provided in the arguments", "properties": { "code": { - "$ref": "#/components/schemas/OrganizationSuspendedEnum" + "$ref": "#/components/schemas/DiskNotFoundEnum" }, "description": { "type": "string" @@ -9703,18 +11775,18 @@ } } }, - "OrganizationNotActivatedEnum": { + "VirtualMachineNotFoundEnum": { "type": "string", "enum": [ - "organization_not_activated" + "virtual_machine_not_found" ] }, - "OrganizationNotActivatedSchema": { + "VirtualMachineNotFoundSchema": { "type": "object", - "description": "An organization was found from the arguments provided but it wasn't activated yet", + "description": "No virtual machine was found matching any of the criteria provided in the arguments", "properties": { "code": { - "$ref": "#/components/schemas/OrganizationNotActivatedEnum" + "$ref": "#/components/schemas/VirtualMachineNotFoundEnum" }, "description": { "type": "string" @@ -9724,264 +11796,297 @@ } } }, - "OneOfOrganizationNotActivatedOrganizationSuspended403Res": { + "OneOfDiskNotFoundVirtualMachineNotFound404Res": { "oneOf": [ { - "$ref": "#/components/schemas/UnauthorizedNetworkForAPITokenSchema" - }, - { - "$ref": "#/components/schemas/InvalidAPITokenSchema" - }, - { - "$ref": "#/components/schemas/ScopeNotGrantedErrorSchema" - }, - { - "$ref": "#/components/schemas/OrganizationSuspendedSchema" + "$ref": "#/components/schemas/DiskNotFoundSchema" }, { - "$ref": "#/components/schemas/OrganizationNotActivatedSchema" + "$ref": "#/components/schemas/VirtualMachineNotFoundSchema" } ] }, - "OrganizationNotFoundEnum": { + "UnableToAssign": { + "properties": { + "errors": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "UnableToAssignEnum": { "type": "string", "enum": [ - "organization_not_found" + "unable_to_assign" ] }, - "OrganizationPolicy": { + "PostDiskUnassign200ResponseDisk": { "type": "object", "properties": { - "maximum_uninvoiced_balance": { - "$ref": "#/components/schemas/DecimalOrUnlimited" + "id": { + "type": "string" }, - "maximum_virtual_machines": { - "$ref": "#/components/schemas/IntegerOrUnlimited" + "name": { + "type": "string" }, - "maximum_virtual_machine_memory": { - "$ref": "#/components/schemas/IntegerOrUnlimited" + "size_in_gb": { + "type": "integer" }, - "maximum_disk_space": { - "$ref": "#/components/schemas/IntegerOrUnlimited" + "wwn": { + "type": "string" }, - "maximum_managed_organizations": { - "$ref": "#/components/schemas/IntegerOrUnlimited" + "state": { + "$ref": "#/components/schemas/DiskStateEnum" }, - "maximum_unallocated_ip_addresses": { - "$ref": "#/components/schemas/IntegerOrUnlimited" + "created_at": { + "type": "integer" }, - "maximum_security_groups": { - "$ref": "#/components/schemas/IntegerOrUnlimited" + "storage_speed": { + "$ref": "#/components/schemas/StorageSpeedEnum" }, - "maximum_virtual_networks": { - "$ref": "#/components/schemas/IntegerOrUnlimited" + "io_profile": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskIOProfile" + } + ], + "nullable": true }, - "maximum_load_balancers": { - "$ref": "#/components/schemas/IntegerOrUnlimited" + "bus_type": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskBusEnum" + } + ], + "nullable": true }, - "maximum_dns_zones": { - "$ref": "#/components/schemas/IntegerOrUnlimited" + "data_center": { + "$ref": "#/components/schemas/PostDiskUnassignPartDataCenter" }, - "maximum_certificates": { - "$ref": "#/components/schemas/IntegerOrUnlimited" + "virtual_machine_disk": { + "allOf": [ + { + "$ref": "#/components/schemas/PostDiskUnassignPartVirtualMachineDisk" + } + ], + "nullable": true }, - "maximum_file_storage_volumes": { - "$ref": "#/components/schemas/IntegerOrUnlimited" + "installation": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskInstallation" + } + ], + "nullable": true + } + } + }, + "PostDiskUnassignPartDataCenter": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "maximum_isos": { - "$ref": "#/components/schemas/IntegerOrUnlimited" + "name": { + "type": "string" }, - "flexible_virtual_machine_resources": { - "type": "boolean" + "permalink": { + "type": "string", + "nullable": true + } + } + }, + "PostDiskUnassignPartVirtualMachineDisk": { + "type": "object", + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/PostDiskUnassignPartVirtualMachine" }, - "allow_suspension": { + "attach_on_boot": { "type": "boolean" }, - "allow_restricted_traffic_types": { + "boot": { "type": "boolean" + }, + "state": { + "$ref": "#/components/schemas/VirtualMachineDiskAttachmentStateEnum" } } }, - "DecimalOrUnlimited": { + "PostDiskUnassignPartVirtualMachine": { "type": "object", "properties": { - "value": { - "type": "number", - "format": "float", - "nullable": true + "id": { + "type": "string" }, - "unlimited": { - "type": "boolean" + "fqdn": { + "type": "string" } } }, - "IntegerOrUnlimited": { - "type": "object", + "UnableToUnassign": { "properties": { - "value": { - "type": "integer", - "nullable": true - }, - "unlimited": { - "type": "boolean" + "errors": { + "type": "array", + "items": { + "type": "string" + } } } }, - "PaginationObject": { + "UnableToUnassignEnum": { + "type": "string", + "enum": [ + "unable_to_unassign" + ] + }, + "PostDiskAttach200ResponseDisk": { "type": "object", "properties": { - "current_page": { - "type": "integer", - "description": "The current page" + "id": { + "type": "string" }, - "total_pages": { - "type": "integer", - "description": "The total number of pages", + "name": { + "type": "string" + }, + "size_in_gb": { + "type": "integer" + }, + "wwn": { + "type": "string" + }, + "state": { + "$ref": "#/components/schemas/DiskStateEnum" + }, + "created_at": { + "type": "integer" + }, + "storage_speed": { + "$ref": "#/components/schemas/StorageSpeedEnum" + }, + "io_profile": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskIOProfile" + } + ], "nullable": true }, - "total": { - "type": "integer", - "description": "The total number of items across all pages", + "bus_type": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskBusEnum" + } + ], "nullable": true }, - "per_page": { - "type": "integer", - "description": "The number of items per page" + "data_center": { + "$ref": "#/components/schemas/PostDiskAttachPartDataCenter" }, - "large_set": { - "type": "boolean", - "description": "Is this a large set and therefore the total number of records cannot be returned?" - } - } - }, - "GetOrganizationUsersWithAccess200ResponseUsers": { - "type": "object", - "properties": { - "user": { + "virtual_machine_disk": { "allOf": [ { - "$ref": "#/components/schemas/User" + "$ref": "#/components/schemas/PostDiskAttachPartVirtualMachineDisk" + } + ], + "nullable": true + }, + "installation": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskInstallation" } ], "nullable": true } } }, - "User": { + "PostDiskAttachPartDataCenter": { "type": "object", "properties": { "id": { "type": "string" }, - "first_name": { - "type": "string" - }, - "last_name": { + "name": { "type": "string" }, - "avatar_url": { - "type": "string" + "permalink": { + "type": "string", + "nullable": true } } }, - "GetOrganizationManaged200ResponseOrganizations": { + "PostDiskAttachPartVirtualMachineDisk": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "sub_domain": { - "type": "string" - }, - "infrastructure_domain": { - "type": "string" + "virtual_machine": { + "$ref": "#/components/schemas/PostDiskAttachPartVirtualMachine" }, - "created_at": { - "type": "integer" + "attach_on_boot": { + "type": "boolean" }, - "managed": { + "boot": { "type": "boolean" + }, + "state": { + "$ref": "#/components/schemas/VirtualMachineDiskAttachmentStateEnum" } } }, - "OrganizationLookup": { - "description": "All 'organization[]' params are mutually exclusive, only one can be provided.", + "PostDiskAttachPartVirtualMachine": { "type": "object", "properties": { "id": { "type": "string" }, - "sub_domain": { + "fqdn": { "type": "string" } } }, - "OrganizationLimitReachedEnum": { - "type": "string", - "enum": [ - "organization_limit_reached" - ] - }, - "OrganizationLimitReachedSchema": { + "ObjectInTrashSchema": { "type": "object", - "description": "The maxmium number of organizations that can be created has been reached", + "description": "The object found is in the trash and therefore cannot be manipulated through the API. It should be restored in order to run this operation.", "properties": { "code": { - "$ref": "#/components/schemas/OrganizationLimitReachedEnum" + "$ref": "#/components/schemas/ObjectInTrashEnum" }, "description": { "type": "string" }, "detail": { - "type": "object" - } - } - }, - "ValidationError": { - "properties": { - "errors": { - "type": "array", - "items": { - "type": "string" - } + "$ref": "#/components/schemas/ObjectInTrash" } - } - }, - "ValidationErrorEnum": { - "type": "string", - "enum": [ - "validation_error" - ] + } }, - "ValidationErrorSchema": { + "TaskQueueingErrorSchema": { "type": "object", - "description": "A validation error occurred with the object that was being created/updated/deleted", + "description": "This error means that a background task that was needed to complete your request could not be queued", "properties": { "code": { - "$ref": "#/components/schemas/ValidationErrorEnum" + "$ref": "#/components/schemas/TaskQueueingErrorEnum" }, "description": { "type": "string" }, "detail": { - "$ref": "#/components/schemas/ValidationError" + "$ref": "#/components/schemas/TaskQueueingError" } } }, - "OneOfOrganizationLimitReachedValidationError422Res": { + "OneOfObjectInTrashTaskQueueingError406Res": { "oneOf": [ { - "$ref": "#/components/schemas/OrganizationLimitReachedSchema" + "$ref": "#/components/schemas/ObjectInTrashSchema" }, { - "$ref": "#/components/schemas/ValidationErrorSchema" + "$ref": "#/components/schemas/TaskQueueingErrorSchema" } ] }, - "GetOrganizationDisks200ResponseDisk": { + "PostDiskDetach200ResponseDisk": { "type": "object", "properties": { "id": { @@ -9999,40 +12104,82 @@ "state": { "$ref": "#/components/schemas/DiskStateEnum" }, + "created_at": { + "type": "integer" + }, + "storage_speed": { + "$ref": "#/components/schemas/StorageSpeedEnum" + }, + "io_profile": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskIOProfile" + } + ], + "nullable": true + }, + "bus_type": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskBusEnum" + } + ], + "nullable": true + }, + "data_center": { + "$ref": "#/components/schemas/PostDiskDetachPartDataCenter" + }, "virtual_machine_disk": { "allOf": [ { - "$ref": "#/components/schemas/GetOrganizationDisksPartVirtualMachineDisk" + "$ref": "#/components/schemas/PostDiskDetachPartVirtualMachineDisk" + } + ], + "nullable": true + }, + "installation": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskInstallation" } ], "nullable": true } } }, - "DiskStateEnum": { - "type": "string", - "enum": [ - "not_built", - "failed", - "built", - "building", - "installing", - "restoring", - "formatting", - "resizing", - "configuring", - "importing" - ] + "PostDiskDetachPartDataCenter": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "permalink": { + "type": "string", + "nullable": true + } + } }, - "GetOrganizationDisksPartVirtualMachineDisk": { + "PostDiskDetachPartVirtualMachineDisk": { "type": "object", "properties": { "virtual_machine": { - "$ref": "#/components/schemas/GetOrganizationDisksPartVirtualMachine" + "$ref": "#/components/schemas/PostDiskDetachPartVirtualMachine" + }, + "attach_on_boot": { + "type": "boolean" + }, + "boot": { + "type": "boolean" + }, + "state": { + "$ref": "#/components/schemas/VirtualMachineDiskAttachmentStateEnum" } } }, - "GetOrganizationDisksPartVirtualMachine": { + "PostDiskDetachPartVirtualMachine": { "type": "object", "properties": { "id": { @@ -10043,7 +12190,7 @@ } } }, - "GetDisk200ResponseDisk": { + "PutDiskResize200ResponseDisk": { "type": "object", "properties": { "id": { @@ -10075,10 +12222,21 @@ ], "nullable": true }, + "bus_type": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskBusEnum" + } + ], + "nullable": true + }, + "data_center": { + "$ref": "#/components/schemas/PutDiskResizePartDataCenter" + }, "virtual_machine_disk": { "allOf": [ { - "$ref": "#/components/schemas/GetDiskPartVirtualMachineDisk" + "$ref": "#/components/schemas/PutDiskResizePartVirtualMachineDisk" } ], "nullable": true @@ -10093,14 +12251,7 @@ } } }, - "StorageSpeedEnum": { - "type": "string", - "enum": [ - "nvme", - "ssd" - ] - }, - "DiskIOProfile": { + "PutDiskResizePartDataCenter": { "type": "object", "properties": { "id": { @@ -10110,23 +12261,16 @@ "type": "string" }, "permalink": { - "type": "string" - }, - "speed_in_mb": { - "type": "integer", - "nullable": true - }, - "iops": { - "type": "integer", + "type": "string", "nullable": true } } }, - "GetDiskPartVirtualMachineDisk": { + "PutDiskResizePartVirtualMachineDisk": { "type": "object", "properties": { "virtual_machine": { - "$ref": "#/components/schemas/GetDiskPartVirtualMachine" + "$ref": "#/components/schemas/PutDiskResizePartVirtualMachine" }, "attach_on_boot": { "type": "boolean" @@ -10139,7 +12283,7 @@ } } }, - "GetDiskPartVirtualMachine": { + "PutDiskResizePartVirtualMachine": { "type": "object", "properties": { "id": { @@ -10150,91 +12294,68 @@ } } }, - "VirtualMachineDiskAttachmentStateEnum": { - "type": "string", - "enum": [ - "detached", - "failed", - "attached", - "attaching", - "detaching" - ] - }, - "DiskInstallation": { + "PutDiskIOProfile200ResponseDisk": { "type": "object", "properties": { "id": { "type": "string" }, - "disk_template_version": { - "$ref": "#/components/schemas/DiskTemplateVersion" - }, - "attributes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DiskInstallationAttribute" - } - } - } - }, - "DiskTemplateVersion": { - "type": "object", - "properties": { - "id": { + "name": { "type": "string" }, - "number": { - "type": "integer" - }, - "stable": { - "type": "boolean" - }, "size_in_gb": { "type": "integer" }, - "disk_template": { - "$ref": "#/components/schemas/DiskTemplate" - } - } - }, - "DiskTemplate": { - "type": "object", - "properties": { - "id": { + "wwn": { "type": "string" }, - "name": { - "type": "string" + "state": { + "$ref": "#/components/schemas/DiskStateEnum" }, - "description": { - "type": "string", + "created_at": { + "type": "integer" + }, + "storage_speed": { + "$ref": "#/components/schemas/StorageSpeedEnum" + }, + "io_profile": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskIOProfile" + } + ], "nullable": true }, - "permalink": { - "type": "string" + "bus_type": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskBusEnum" + } + ], + "nullable": true }, - "universal": { - "type": "boolean" + "data_center": { + "$ref": "#/components/schemas/PutDiskIOProfilePartDataCenter" }, - "latest_version": { + "virtual_machine_disk": { "allOf": [ { - "$ref": "#/components/schemas/DiskTemplateVersion" + "$ref": "#/components/schemas/PutDiskIOProfilePartVirtualMachineDisk" } ], "nullable": true }, - "operating_system": { + "installation": { "allOf": [ { - "$ref": "#/components/schemas/OperatingSystem" + "$ref": "#/components/schemas/DiskInstallation" } ], "nullable": true } } }, - "OperatingSystem": { + "PutDiskIOProfilePartDataCenter": { "type": "object", "properties": { "id": { @@ -10243,65 +12364,69 @@ "name": { "type": "string" }, - "badge": { - "allOf": [ - { - "$ref": "#/components/schemas/Attachment" - } - ], + "permalink": { + "type": "string", "nullable": true } } }, - "Attachment": { + "PutDiskIOProfilePartVirtualMachineDisk": { "type": "object", "properties": { - "url": { - "type": "string" - }, - "file_name": { - "type": "string" - }, - "file_type": { - "type": "string" + "virtual_machine": { + "$ref": "#/components/schemas/PutDiskIOProfilePartVirtualMachine" }, - "file_size": { - "type": "integer" + "attach_on_boot": { + "type": "boolean" }, - "digest": { - "type": "string" + "boot": { + "type": "boolean" }, - "token": { - "type": "string" + "state": { + "$ref": "#/components/schemas/VirtualMachineDiskAttachmentStateEnum" } } }, - "DiskInstallationAttribute": { + "PutDiskIOProfilePartVirtualMachine": { "type": "object", "properties": { - "key": { + "id": { "type": "string" }, - "label": { + "fqdn": { "type": "string" - }, - "value": { - "type": "string", - "nullable": true + } + } + }, + "DiskIOProfileNotFoundEnum": { + "type": "string", + "enum": [ + "disk_io_profile_not_found" + ] + }, + "DiskIOProfileNotFoundSchema": { + "type": "object", + "description": "No disk IO profile was found matching any of the criteria provided in the arguments", + "properties": { + "code": { + "$ref": "#/components/schemas/DiskIOProfileNotFoundEnum" }, "description": { - "type": "string", - "nullable": true + "type": "string" }, - "protect": { - "type": "boolean" + "detail": { + "type": "object" + } + } + }, + "OneOfDiskIOProfileNotFoundDiskNotFound404Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/DiskNotFoundSchema" + }, + { + "$ref": "#/components/schemas/DiskIOProfileNotFoundSchema" } - } - }, - "DiskNotFoundEnum": { - "type": "string", - "enum": [ - "disk_not_found" ] }, "GetVirtualMachineDisks200ResponseDisks": { @@ -10344,48 +12469,6 @@ } } }, - "VirtualMachineNotFoundEnum": { - "type": "string", - "enum": [ - "virtual_machine_not_found" - ] - }, - "ObjectInTrash": { - "type": "object", - "properties": { - "trash_object": { - "allOf": [ - { - "$ref": "#/components/schemas/TrashObject" - } - ], - "nullable": true - } - } - }, - "TrashObject": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "keep_until": { - "type": "integer" - }, - "object_id": { - "type": "string" - }, - "object_type": { - "type": "string" - } - } - }, - "ObjectInTrashEnum": { - "type": "string", - "enum": [ - "object_in_trash" - ] - }, "GetOrganizationDiskTemplates200ResponseDiskTemplates": { "type": "object", "properties": { @@ -11354,18 +13437,6 @@ } } }, - "VirtualMachineLookup": { - "description": "All 'virtual_machine[]' params are mutually exclusive, only one can be provided.", - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "fqdn": { - "type": "string" - } - } - }, "VirtualMachineArguments": { "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", "type": "object", @@ -11670,53 +13741,6 @@ } } }, - "PermissionDenied": { - "type": "object", - "properties": { - "details": { - "type": "string", - "description": "Additional information regarding the reason why permission was denied", - "nullable": true - } - } - }, - "PermissionDeniedEnum": { - "type": "string", - "enum": [ - "permission_denied" - ] - }, - "PermissionDeniedSchema": { - "type": "object", - "description": "The authenticated identity is not permitted to perform this action", - "properties": { - "code": { - "$ref": "#/components/schemas/PermissionDeniedEnum" - }, - "description": { - "type": "string" - }, - "detail": { - "$ref": "#/components/schemas/PermissionDenied" - } - } - }, - "OneOfPermissionDenied403Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/UnauthorizedNetworkForAPITokenSchema" - }, - { - "$ref": "#/components/schemas/InvalidAPITokenSchema" - }, - { - "$ref": "#/components/schemas/ScopeNotGrantedErrorSchema" - }, - { - "$ref": "#/components/schemas/PermissionDeniedSchema" - } - ] - }, "VirtualMachinePackageLookup": { "description": "All 'virtual_machine_package[]' params are mutually exclusive, only one can be provided.", "type": "object", @@ -11729,58 +13753,6 @@ } } }, - "Task": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "status": { - "$ref": "#/components/schemas/TaskStatusEnum" - }, - "created_at": { - "type": "integer" - }, - "started_at": { - "type": "integer", - "nullable": true - }, - "finished_at": { - "type": "integer", - "nullable": true - }, - "progress": { - "type": "integer" - } - } - }, - "TaskStatusEnum": { - "type": "string", - "enum": [ - "pending", - "running", - "completed", - "failed" - ] - }, - "VirtualMachineNotFoundSchema": { - "type": "object", - "description": "No virtual machine was found matching any of the criteria provided in the arguments", - "properties": { - "code": { - "$ref": "#/components/schemas/VirtualMachineNotFoundEnum" - }, - "description": { - "type": "string" - }, - "detail": { - "type": "object" - } - } - }, "VirtualMachinePackageNotFoundEnum": { "type": "string", "enum": [ @@ -11812,60 +13784,6 @@ } ] }, - "ObjectInTrashSchema": { - "type": "object", - "description": "The object found is in the trash and therefore cannot be manipulated through the API. It should be restored in order to run this operation.", - "properties": { - "code": { - "$ref": "#/components/schemas/ObjectInTrashEnum" - }, - "description": { - "type": "string" - }, - "detail": { - "$ref": "#/components/schemas/ObjectInTrash" - } - } - }, - "TaskQueueingError": { - "type": "object", - "properties": { - "details": { - "type": "string" - } - } - }, - "TaskQueueingErrorEnum": { - "type": "string", - "enum": [ - "task_queueing_error" - ] - }, - "TaskQueueingErrorSchema": { - "type": "object", - "description": "This error means that a background task that was needed to complete your request could not be queued", - "properties": { - "code": { - "$ref": "#/components/schemas/TaskQueueingErrorEnum" - }, - "description": { - "type": "string" - }, - "detail": { - "$ref": "#/components/schemas/TaskQueueingError" - } - } - }, - "OneOfObjectInTrashTaskQueueingError406Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/ObjectInTrashSchema" - }, - { - "$ref": "#/components/schemas/TaskQueueingErrorSchema" - } - ] - }, "VirtualMachineFlexibleResources": { "description": "All 'resources[]' params are mutually exclusive, only one can be provided.", "type": "object", @@ -12038,18 +13956,6 @@ } } }, - "DataCenterLookup": { - "description": "All 'data_center[]' params are mutually exclusive, only one can be provided.", - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "permalink": { - "type": "string" - } - } - }, "DiskTemplateLookup": { "description": "All 'disk_template[]' params are mutually exclusive, only one can be provided.", "type": "object", @@ -12393,40 +14299,18 @@ "description": { "type": "string" }, - "detail": { - "$ref": "#/components/schemas/InvalidSpecXML" - } - } - }, - "OneOfInvalidSpecXML400Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/APIAuthenticator400Schema" - }, - { - "$ref": "#/components/schemas/InvalidSpecXMLSchema" - } - ] - }, - "OneOfOrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/UnauthorizedNetworkForAPITokenSchema" - }, - { - "$ref": "#/components/schemas/InvalidAPITokenSchema" - }, - { - "$ref": "#/components/schemas/ScopeNotGrantedErrorSchema" - }, - { - "$ref": "#/components/schemas/OrganizationSuspendedSchema" - }, + "detail": { + "$ref": "#/components/schemas/InvalidSpecXML" + } + } + }, + "OneOfInvalidSpecXML400Res": { + "oneOf": [ { - "$ref": "#/components/schemas/OrganizationNotActivatedSchema" + "$ref": "#/components/schemas/APIAuthenticator400Schema" }, { - "$ref": "#/components/schemas/PermissionDeniedSchema" + "$ref": "#/components/schemas/InvalidSpecXMLSchema" } ] }, @@ -12889,6 +14773,17 @@ ], "nullable": true }, + "bus_type": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskBusEnum" + } + ], + "nullable": true + }, + "data_center": { + "$ref": "#/components/schemas/DataCenter" + }, "virtual_machine_disk": { "allOf": [ { @@ -13197,15 +15092,6 @@ } } }, - "DiskLookup": { - "description": "All 'disk[]' params are mutually exclusive, only one can be provided.", - "type": "object", - "properties": { - "id": { - "type": "string" - } - } - }, "PostDiskDiskBackupPolicies200ResponseDiskBackupPolicy": { "type": "object", "properties": { @@ -16426,34 +18312,64 @@ } } }, - "DiskNotFoundResponse": { - "description": "No disk was found matching any of the criteria provided in the arguments", + "OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res": { + "description": "403 error response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OneOfOrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + } + } + } + }, + "TaskQueueingErrorResponse": { + "description": "This error means that a background task that was needed to complete your request could not be queued", "content": { "application/json": { "schema": { "properties": { "code": { - "$ref": "#/components/schemas/DiskNotFoundEnum" + "$ref": "#/components/schemas/TaskQueueingErrorEnum" }, "description": { "type": "string" }, "detail": { - "type": "object" + "$ref": "#/components/schemas/TaskQueueingError" } } } } } }, - "VirtualMachineNotFoundResponse": { - "description": "No virtual machine was found matching any of the criteria provided in the arguments", + "ValidationErrorResponse": { + "description": "A validation error occurred with the object that was being created/updated/deleted", "content": { "application/json": { "schema": { "properties": { "code": { - "$ref": "#/components/schemas/VirtualMachineNotFoundEnum" + "$ref": "#/components/schemas/ValidationErrorEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "$ref": "#/components/schemas/ValidationError" + } + } + } + } + } + }, + "DiskNotFoundResponse": { + "description": "No disk was found matching any of the criteria provided in the arguments", + "content": { + "application/json": { + "schema": { + "properties": { + "code": { + "$ref": "#/components/schemas/DiskNotFoundEnum" }, "description": { "type": "string" @@ -16486,24 +18402,94 @@ } } }, - "OperatingSystemNotFoundOrganizationNotFound404Res": { + "PermissionDenied403Res": { + "description": "403 error response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OneOfPermissionDenied403Res" + } + } + } + }, + "UnassignedDiskValidationError422Res": { + "description": "422 error response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OneOfUnassignedDiskValidationError422Res" + } + } + } + }, + "DiskNotFoundVirtualMachineNotFound404Res": { "description": "404 error response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/OneOfOperatingSystemNotFoundOrganizationNotFound404Res" + "$ref": "#/components/schemas/OneOfDiskNotFoundVirtualMachineNotFound404Res" } } } }, - "DiskTemplateNotFoundResponse": { - "description": "No disk template was found matching any of the criteria provided in the arguments", + "UnableToAssignResponse": { + "description": "The disk can not be assigned to the virtual machine.", "content": { "application/json": { "schema": { "properties": { "code": { - "$ref": "#/components/schemas/DiskTemplateNotFoundEnum" + "$ref": "#/components/schemas/UnableToAssignEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "$ref": "#/components/schemas/UnableToAssign" + } + } + } + } + } + }, + "UnableToUnassignResponse": { + "description": "The disk can not be unassigned from the virtual machine.", + "content": { + "application/json": { + "schema": { + "properties": { + "code": { + "$ref": "#/components/schemas/UnableToUnassignEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "$ref": "#/components/schemas/UnableToUnassign" + } + } + } + } + } + }, + "ObjectInTrashTaskQueueingError406Res": { + "description": "406 error response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OneOfObjectInTrashTaskQueueingError406Res" + } + } + } + }, + "UnassignedDiskResponse": { + "description": "Disk is not assigned to a virtual machine.", + "content": { + "application/json": { + "schema": { + "properties": { + "code": { + "$ref": "#/components/schemas/UnassignedDiskEnum" }, "description": { "type": "string" @@ -16516,14 +18502,24 @@ } } }, - "DiskTemplateVersionNotFoundResponse": { - "description": "No disk template version was found matching any of the criteria provided in the arguments", + "DiskIOProfileNotFoundDiskNotFound404Res": { + "description": "404 error response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OneOfDiskIOProfileNotFoundDiskNotFound404Res" + } + } + } + }, + "VirtualMachineNotFoundResponse": { + "description": "No virtual machine was found matching any of the criteria provided in the arguments", "content": { "application/json": { "schema": { "properties": { "code": { - "$ref": "#/components/schemas/DiskTemplateVersionNotFoundEnum" + "$ref": "#/components/schemas/VirtualMachineNotFoundEnum" }, "description": { "type": "string" @@ -16536,14 +18532,24 @@ } } }, - "GPUTypeNotFoundResponse": { - "description": "No GPU type was found matching any of the criteria provided in the arguments", + "OperatingSystemNotFoundOrganizationNotFound404Res": { + "description": "404 error response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OneOfOperatingSystemNotFoundOrganizationNotFound404Res" + } + } + } + }, + "DiskTemplateNotFoundResponse": { + "description": "No disk template was found matching any of the criteria provided in the arguments", "content": { "application/json": { "schema": { "properties": { "code": { - "$ref": "#/components/schemas/GPUTypeNotFoundEnum" + "$ref": "#/components/schemas/DiskTemplateNotFoundEnum" }, "description": { "type": "string" @@ -16556,32 +18562,52 @@ } } }, - "PermissionDenied403Res": { - "description": "403 error response", + "DiskTemplateVersionNotFoundResponse": { + "description": "No disk template version was found matching any of the criteria provided in the arguments", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/OneOfPermissionDenied403Res" + "properties": { + "code": { + "$ref": "#/components/schemas/DiskTemplateVersionNotFoundEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } } } } }, - "VirtualMachineNotFoundVirtualMachinePackageNotFound404Res": { - "description": "404 error response", + "GPUTypeNotFoundResponse": { + "description": "No GPU type was found matching any of the criteria provided in the arguments", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/OneOfVirtualMachineNotFoundVirtualMachinePackageNotFound404Res" + "properties": { + "code": { + "$ref": "#/components/schemas/GPUTypeNotFoundEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } } } } }, - "ObjectInTrashTaskQueueingError406Res": { - "description": "406 error response", + "VirtualMachineNotFoundVirtualMachinePackageNotFound404Res": { + "description": "404 error response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/OneOfObjectInTrashTaskQueueingError406Res" + "$ref": "#/components/schemas/OneOfVirtualMachineNotFoundVirtualMachinePackageNotFound404Res" } } } @@ -16676,36 +18702,6 @@ } } }, - "OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res": { - "description": "403 error response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OneOfOrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" - } - } - } - }, - "ValidationErrorResponse": { - "description": "A validation error occurred with the object that was being created/updated/deleted", - "content": { - "application/json": { - "schema": { - "properties": { - "code": { - "$ref": "#/components/schemas/ValidationErrorEnum" - }, - "description": { - "type": "string" - }, - "detail": { - "$ref": "#/components/schemas/ValidationError" - } - } - } - } - } - }, "VirtualMachineBuildNotFoundResponse": { "description": "No build was found matching any of the criteria provided in the arguments", "content": { @@ -17216,26 +19212,6 @@ } } }, - "TaskQueueingErrorResponse": { - "description": "This error means that a background task that was needed to complete your request could not be queued", - "content": { - "application/json": { - "schema": { - "properties": { - "code": { - "$ref": "#/components/schemas/TaskQueueingErrorEnum" - }, - "description": { - "type": "string" - }, - "detail": { - "$ref": "#/components/schemas/TaskQueueingError" - } - } - } - } - } - }, "SpeedProfileAlreadyAssignedResponse": { "description": "This network speed profile is already assigned to this virtual machine network interface.", "content": {