diff --git a/packages/clients/src/api/instance/v1/api.gen.ts b/packages/clients/src/api/instance/v1/api.gen.ts index 5f2a374c7..73ac62f0e 100644 --- a/packages/clients/src/api/instance/v1/api.gen.ts +++ b/packages/clients/src/api/instance/v1/api.gen.ts @@ -241,8 +241,8 @@ const jsonContentHeaders = { /** * Instance API. - * - * This API allows you to manage your Instances. + +This API allows you to manage your CPU and GPU Instances. */ export class API extends ParentAPI { /** Lists the available zones of the API. */ @@ -280,8 +280,7 @@ export class API extends ParentAPI { ) /** - * List Instance types. List available Instance types and their technical - * details. + * List Instance types. List available Instance types and their technical details. * * @param request - The request {@link ListServersTypesRequest} * @returns A Promise of ListServersTypesResponse @@ -361,8 +360,7 @@ export class API extends ParentAPI { ) /** - * List all Instances. List all Instances in a specified Availability Zone, - * e.g. `fr-par-1`. + * List all Instances. List all Instances in a specified Availability Zone, e.g. `fr-par-1`. * * @param request - The request {@link ListServersRequest} * @returns A Promise of ListServersResponse @@ -436,8 +434,7 @@ export class API extends ParentAPI { ) /** - * List Instance actions. List all actions (e.g. power on, power off, reboot) - * that can currently be performed on an Instance. + * List Instance actions. List all actions (e.g. power on, power off, reboot) that can currently be performed on an Instance. * * @param request - The request {@link ListServerActionsRequest} * @returns A Promise of ListServerActionsResponse @@ -452,26 +449,22 @@ export class API extends ParentAPI { ) /** - * Perform action. Perform an action on an Instance. Available actions are: - * `poweron`: Start a stopped Instance. `poweroff`: Fully stop the Instance - * and release the hypervisor slot. `stop_in_place`: Stop the Instance, but - * keep the slot on the hypervisor. `reboot`: Stop the instance and restart - * it. `backup`: Create an image with all the volumes of an Instance. - * `terminate`: Delete the Instance along with its attached volumes, except - * for SBS volumes. `enable_routed_ip`: Migrate the Instance to the new - * network stack. - * - * The `terminate` action will result in the deletion of `l_ssd`, `b_ssd` and - * `scratch` volumes types, `sbs_volume` volumes type will only be detached. - * If you want to preserve your volumes, you should detach them before the - * Instance deletion or `terminate` action. - * - * The `backup` action can be done with: No `volumes` key in the body: an - * image is created with snapshots of all the server volumes, except for the - * `scratch` volumes types. `volumes` key in the body with a dictionary as - * value, in this dictionary volumes UUID as keys and empty dictionaries as - * values : an image is created with the snapshots of the volumes in `volumes` - * key. `scratch` volumes types can't be shapshotted. + * Perform action. Perform an action on an Instance. +Available actions are: +* `poweron`: Start a stopped Instance. +* `poweroff`: Fully stop the Instance and release the hypervisor slot. +* `stop_in_place`: Stop the Instance, but keep the slot on the hypervisor. +* `reboot`: Stop the instance and restart it. +* `backup`: Create an image with all the volumes of an Instance. +* `terminate`: Delete the Instance along with its attached volumes, except for SBS volumes. +* `enable_routed_ip`: Migrate the Instance to the new network stack. + +The `terminate` action will result in the deletion of `l_ssd`, `b_ssd` and `scratch` volumes types, `sbs_volume` volumes type will only be detached. +If you want to preserve your volumes, you should detach them before the Instance deletion or `terminate` action. + +The `backup` action can be done with: +* No `volumes` key in the body: an image is created with snapshots of all the server volumes, except for the `scratch` volumes types. +* `volumes` key in the body with a dictionary as value, in this dictionary volumes UUID as keys and empty dictionaries as values : an image is created with the snapshots of the volumes in `volumes` key. `scratch` volumes types can't be shapshotted. * * @param request - The request {@link ServerActionRequest} * @returns A Promise of ServerActionResponse @@ -516,12 +509,12 @@ export class API extends ParentAPI { }) /** - * Get Instance compatible types. Get compatible commercial types that can be - * used to update the Instance. The compatibility of an Instance offer is - * based on: the CPU architecture the OS type the required l_ssd storage size - * the required scratch storage size If the specified Instance offer is - * flagged as end of service, the best compatible offer is the first - * returned. + * Get Instance compatible types. Get compatible commercial types that can be used to update the Instance. The compatibility of an Instance offer is based on: +* the CPU architecture +* the OS type +* the required l_ssd storage size +* the required scratch storage size +If the specified Instance offer is flagged as end of service, the best compatible offer is the first returned. * * @param request - The request {@link GetServerCompatibleTypesRequest} * @returns A Promise of ServerCompatibleTypes @@ -607,8 +600,7 @@ export class API extends ParentAPI { ) /** - * Create an Instance image. Create an Instance image from the specified - * snapshot ID. + * Create an Instance image. Create an Instance image from the specified snapshot ID. * * @param request - The request {@link CreateImageRequest} * @returns A Promise of CreateImageResponse @@ -690,8 +682,7 @@ export class API extends ParentAPI { ) /** - * List snapshots. List all snapshots of an Organization in a specified - * Availability Zone. + * List snapshots. List all snapshots of an Organization in a specified Availability Zone. * * @param request - The request {@link ListSnapshotsRequest} * @returns A Promise of ListSnapshotsResponse @@ -700,9 +691,7 @@ export class API extends ParentAPI { enrichForPagination('snapshots', this.pageOfListSnapshots, request) /** - * Create a snapshot from a specified volume or from a QCOW2 file. Create a - * snapshot from a specified volume or from a QCOW2 file in a specified - * Availability Zone. + * Create a snapshot from a specified volume or from a QCOW2 file. Create a snapshot from a specified volume or from a QCOW2 file in a specified Availability Zone. * * @param request - The request {@link CreateSnapshotRequest} * @returns A Promise of CreateSnapshotResponse @@ -779,8 +768,7 @@ export class API extends ParentAPI { }) /** - * Export a snapshot. Export a snapshot to a specified Object Storage bucket - * in the same region. + * Export a snapshot. Export a snapshot to a specified Object Storage bucket in the same region. * * @param request - The request {@link ExportSnapshotRequest} * @returns A Promise of ExportSnapshotResponse @@ -822,8 +810,7 @@ export class API extends ParentAPI { ) /** - * List volumes. List volumes in the specified Availability Zone. You can - * filter the output by volume type. + * List volumes. List volumes in the specified Availability Zone. You can filter the output by volume type. * * @param request - The request {@link ListVolumesRequest} * @returns A Promise of ListVolumesResponse @@ -832,8 +819,7 @@ export class API extends ParentAPI { enrichForPagination('volumes', this.pageOfListVolumes, request) /** - * Create a volume. Create a volume of a specified type in an Availability - * Zone. + * Create a volume. Create a volume of a specified type in an Availability Zone. * * @param request - The request {@link CreateVolumeRequest} * @returns A Promise of CreateVolumeResponse @@ -867,9 +853,7 @@ export class API extends ParentAPI { ) /** - * Update a volume. Replace the name and/or size properties of a volume - * specified by its ID, with the specified value(s). Any volume name can be - * changed, however only `b_ssd` volumes can currently be increased in size. + * Update a volume. Replace the name and/or size properties of a volume specified by its ID, with the specified value(s). Any volume name can be changed, however only `b_ssd` volumes can currently be increased in size. * * @param request - The request {@link UpdateVolumeRequest} * @returns A Promise of UpdateVolumeResponse @@ -937,8 +921,7 @@ export class API extends ParentAPI { ) /** - * Create a security group. Create a security group with a specified name and - * description. + * Create a security group. Create a security group with a specified name and description. * * @param request - The request {@link CreateSecurityGroupRequest} * @returns A Promise of CreateSecurityGroupResponse @@ -957,8 +940,7 @@ export class API extends ParentAPI { ) /** - * Get a security group. Get the details of a security group with the - * specified ID. + * Get a security group. Get the details of a security group with the specified ID. * * @param request - The request {@link GetSecurityGroupRequest} * @returns A Promise of GetSecurityGroupResponse @@ -1016,8 +998,7 @@ export class API extends ParentAPI { ) /** - * Get default rules. Lists the default rules applied to all the security - * groups. + * Get default rules. Lists the default rules applied to all the security groups. * * @param request - The request {@link ListDefaultSecurityGroupRulesRequest} * @returns A Promise of ListSecurityGroupRulesResponse @@ -1079,10 +1060,7 @@ export class API extends ParentAPI { ) /** - * Update all the rules of a security group. Replaces the existing rules of - * the security group with the rules provided. This endpoint supports the - * update of existing rules, creation of new rules and deletion of existing - * rules when they are not passed in the request. + * Update all the rules of a security group. Replaces the existing rules of the security group with the rules provided. This endpoint supports the update of existing rules, creation of new rules and deletion of existing rules when they are not passed in the request. * * @param request - The request {@link SetSecurityGroupRulesRequest} * @returns A Promise of SetSecurityGroupRulesResponse @@ -1144,8 +1122,7 @@ export class API extends ParentAPI { ) /** - * Update security group rule. Update the properties of a rule from a - * specified security group. + * Update security group rule. Update the properties of a rule from a specified security group. * * @param request - The request {@link UpdateSecurityGroupRuleRequest} * @returns A Promise of UpdateSecurityGroupRuleResponse @@ -1190,8 +1167,7 @@ export class API extends ParentAPI { ) /** - * List placement groups. List all placement groups in a specified - * Availability Zone. + * List placement groups. List all placement groups in a specified Availability Zone. * * @param request - The request {@link ListPlacementGroupsRequest} * @returns A Promise of ListPlacementGroupsResponse @@ -1204,8 +1180,7 @@ export class API extends ParentAPI { ) /** - * Create a placement group. Create a new placement group in a specified - * Availability Zone. + * Create a placement group. Create a new placement group in a specified Availability Zone. * * @param request - The request {@link CreatePlacementGroupRequest} * @returns A Promise of CreatePlacementGroupResponse @@ -1260,8 +1235,7 @@ export class API extends ParentAPI { ) /** - * Update a placement group. Update one or more parameter of the specified - * placement group. + * Update a placement group. Update one or more parameter of the specified placement group. * * @param request - The request {@link UpdatePlacementGroupRequest} * @returns A Promise of UpdatePlacementGroupResponse @@ -1291,8 +1265,7 @@ export class API extends ParentAPI { }) /** - * Get placement group servers. Get all Instances belonging to the specified - * placement group. + * Get placement group servers. Get all Instances belonging to the specified placement group. * * @param request - The request {@link GetPlacementGroupServersRequest} * @returns A Promise of GetPlacementGroupServersResponse @@ -1309,8 +1282,7 @@ export class API extends ParentAPI { ) /** - * Set placement group servers. Set all Instances belonging to the specified - * placement group. + * Set placement group servers. Set all Instances belonging to the specified placement group. * * @param request - The request {@link SetPlacementGroupServersRequest} * @returns A Promise of SetPlacementGroupServersResponse @@ -1331,8 +1303,7 @@ export class API extends ParentAPI { ) /** - * Update placement group servers. Update all Instances belonging to the - * specified placement group. + * Update placement group servers. Update all Instances belonging to the specified placement group. * * @param request - The request {@link UpdatePlacementGroupServersRequest} * @returns A Promise of UpdatePlacementGroupServersResponse @@ -1388,8 +1359,7 @@ export class API extends ParentAPI { enrichForPagination('ips', this.pageOfListIps, request) /** - * Reserve a flexible IP. Reserve a flexible IP and attach it to the specified - * Instance. + * Reserve a flexible IP. Reserve a flexible IP and attach it to the specified Instance. * * @param request - The request {@link CreateIpRequest} * @returns A Promise of CreateIpResponse @@ -1423,8 +1393,7 @@ export class API extends ParentAPI { ) /** - * Update a flexible IP. Update a flexible IP in the specified zone with the - * specified ID. + * Update a flexible IP. Update a flexible IP in the specified zone with the specified ID. * * @param request - The request {@link UpdateIpRequest} * @returns A Promise of UpdateIpResponse @@ -1518,8 +1487,7 @@ export class API extends ParentAPI { ) /** - * Update a private NIC. Update one or more parameter(s) of a specified - * private NIC. + * Update a private NIC. Update one or more parameter(s) of a specified private NIC. * * @param request - The request {@link UpdatePrivateNICRequest} * @returns A Promise of PrivateNIC @@ -1562,23 +1530,11 @@ export class API extends ParentAPI { ) /** - * Get a volume or snapshot's migration plan. Given a volume or snapshot, - * returns the migration plan but does not perform the actual migration. To - * perform the migration, you have to call the [Migrate a volume and/or - * snapshots to - * SBS](#path-volumes-migrate-a-volume-andor-snapshots-to-sbs-scaleway-block-storage) - * endpoint afterward. The endpoint returns the resources that should be - * migrated together: - * - * - The volume and any snapshots created from the volume, if the call was made - * to plan a volume migration. - * - The base volume of the snapshot (if the volume is not deleted) and its - * related snapshots, if the call was made to plan a snapshot migration. The - * endpoint also returns the validation_key, which must be provided to the - * [Migrate a volume and/or snapshots to - * SBS](#path-volumes-migrate-a-volume-andor-snapshots-to-sbs-scaleway-block-storage) - * endpoint to confirm that all resources listed in the plan should be - * migrated. + * Get a volume or snapshot's migration plan. Given a volume or snapshot, returns the migration plan but does not perform the actual migration. To perform the migration, you have to call the [Migrate a volume and/or snapshots to SBS](#path-volumes-migrate-a-volume-andor-snapshots-to-sbs-scaleway-block-storage) endpoint afterward. +The endpoint returns the resources that should be migrated together: +- the volume and any snapshots created from the volume, if the call was made to plan a volume migration. +- the base volume of the snapshot (if the volume is not deleted) and its related snapshots, if the call was made to plan a snapshot migration. +The endpoint also returns the validation_key, which must be provided to the [Migrate a volume and/or snapshots to SBS](#path-volumes-migrate-a-volume-andor-snapshots-to-sbs-scaleway-block-storage) endpoint to confirm that all resources listed in the plan should be migrated. * * @param request - The request {@link PlanBlockMigrationRequest} * @returns A Promise of MigrationPlan @@ -1597,12 +1553,7 @@ export class API extends ParentAPI { ) /** - * Migrate a volume and/or snapshots to SBS (Scaleway Block Storage). To be - * used, the call to this endpoint must be preceded by a call to the [Get a - * volume or snapshot's migration - * plan](#path-volumes-get-a-volume-or-snapshots-migration-plan) endpoint. To - * migrate all resources mentioned in the migration plan, the validation_key - * returned in the plan must be provided. + * Migrate a volume and/or snapshots to SBS (Scaleway Block Storage). To be used, the call to this endpoint must be preceded by a call to the [Get a volume or snapshot's migration plan](#path-volumes-get-a-volume-or-snapshots-migration-plan) endpoint. To migrate all resources mentioned in the migration plan, the validation_key returned in the plan must be provided. * * @param request - The request {@link ApplyBlockMigrationRequest} */ diff --git a/packages/clients/src/api/instance/v1/types.gen.ts b/packages/clients/src/api/instance/v1/types.gen.ts index cc59a2312..d4a31a905 100644 --- a/packages/clients/src/api/instance/v1/types.gen.ts +++ b/packages/clients/src/api/instance/v1/types.gen.ts @@ -148,36 +148,64 @@ export interface Bootscript { public: boolean title: string project: string - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone: ScwZone } export interface Volume { - /** Volume unique ID. */ + /** + * Volume unique ID. + */ id: string - /** Volume name. */ + /** + * Volume name. + */ name: string - /** @deprecated Show the volume NBD export URI. */ + /** + * @deprecated Show the volume NBD export URI. + */ exportUri?: string - /** Volume disk size. */ + /** + * Volume disk size. + */ size: number - /** Volume type. */ + /** + * Volume type. + */ volumeType: VolumeVolumeType - /** Volume creation date. */ + /** + * Volume creation date. + */ creationDate?: Date - /** Volume modification date. */ + /** + * Volume modification date. + */ modificationDate?: Date - /** Volume Organization ID. */ + /** + * Volume Organization ID. + */ organization: string - /** Volume Project ID. */ + /** + * Volume Project ID. + */ project: string - /** Volume tags. */ + /** + * Volume tags. + */ tags: string[] - /** Instance attached to the volume. */ + /** + * Instance attached to the volume. + */ server?: ServerSummary - /** Volume state. */ + /** + * Volume state. + */ state: VolumeState - /** Zone in which the volume is located. */ + /** + * Zone in which the volume is located. + */ zone: ScwZone } @@ -189,16 +217,24 @@ export interface VolumeSummary { } export interface ServerTypeNetworkInterface { - /** Maximum internal bandwidth in bits per seconds. */ + /** + * Maximum internal bandwidth in bits per seconds. + */ internalBandwidth?: number - /** Maximum internet bandwidth in bits per seconds. */ + /** + * Maximum internet bandwidth in bits per seconds. + */ internetBandwidth?: number } export interface ServerTypeVolumeConstraintSizes { - /** Minimum volume size in bytes. */ + /** + * Minimum volume size in bytes. + */ minSize: number - /** Maximum volume size in bytes. */ + /** + * Maximum volume size in bytes. + */ maxSize: number } @@ -208,7 +244,9 @@ export interface Image { arch: Arch creationDate?: Date modificationDate?: Date - /** @deprecated */ + /** + * @deprecated + */ defaultBootscript?: Bootscript extraVolumes: Record fromServer: string @@ -218,52 +256,76 @@ export interface Image { state: ImageState project: string tags: string[] - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone: ScwZone } export interface PlacementGroup { - /** Placement group unique ID. */ + /** + * Placement group unique ID. + */ id: string - /** Placement group name. */ + /** + * Placement group name. + */ name: string - /** Placement group Organization ID. */ + /** + * Placement group Organization ID. + */ organization: string - /** Placement group Project ID. */ + /** + * Placement group Project ID. + */ project: string - /** Placement group tags. */ + /** + * Placement group tags. + */ tags: string[] /** - * Select the failure mode when the placement cannot be respected, either - * optional or enforced. + * Select the failure mode when the placement cannot be respected, either optional or enforced. */ policyMode: PlacementGroupPolicyMode /** - * Select the behavior of the placement group, either low_latency (group) or - * max_availability (spread). + * Select the behavior of the placement group, either low_latency (group) or max_availability (spread). */ policyType: PlacementGroupPolicyType /** - * In the server endpoints the value is always false as it is deprecated. In - * the placement group endpoints the value is correct. + * In the server endpoints the value is always false as it is deprecated. +In the placement group endpoints the value is correct. */ policyRespected: boolean - /** Zone in which the placement group is located. */ + /** + * Zone in which the placement group is located. + */ zone: ScwZone } export interface PrivateNIC { - /** Private NIC unique ID. */ + /** + * Private NIC unique ID. + */ id: string - /** Instance to which the private NIC is attached. */ + /** + * Instance to which the private NIC is attached. + */ serverId: string - /** Private Network the private NIC is attached to. */ + /** + * Private Network the private NIC is attached to. + */ privateNetworkId: string - /** Private NIC MAC address. */ + /** + * Private NIC MAC address. + */ macAddress: string - /** Private NIC state. */ + /** + * Private NIC state. + */ state: PrivateNICState - /** Private NIC tags. */ + /** + * Private NIC tags. + */ tags: string[] } @@ -273,34 +335,60 @@ export interface SecurityGroupSummary { } export interface ServerIp { - /** Unique ID of the IP address. */ + /** + * Unique ID of the IP address. + */ id: string - /** Instance's public IP-Address. */ + /** + * Instance's public IP-Address. + */ address: string - /** Gateway's IP address. */ + /** + * Gateway's IP address. + */ gateway: string - /** CIDR netmask. */ + /** + * CIDR netmask. + */ netmask: string - /** IP address family (inet or inet6). */ + /** + * IP address family (inet or inet6). + */ family: ServerIpIpFamily - /** True if the IP address is dynamic. */ + /** + * True if the IP address is dynamic. + */ dynamic: boolean - /** Information about this address provisioning mode. */ + /** + * Information about this address provisioning mode. + */ provisioningMode: ServerIpProvisioningMode - /** Tags associated with the IP. */ + /** + * Tags associated with the IP. + */ tags: string[] - /** The ip_id of an IPAM ip if the ip is created from IPAM, null if not. */ + /** + * The ip_id of an IPAM ip if the ip is created from IPAM, null if not. + */ ipamId: string - /** IP address state. */ + /** + * IP address state. + */ state: ServerIpState } export interface ServerIpv6 { - /** Instance IPv6 IP-Address. */ + /** + * Instance IPv6 IP-Address. + */ address: string - /** IPv6 IP-addresses gateway. */ + /** + * IPv6 IP-addresses gateway. + */ gateway: string - /** IPv6 IP-addresses CIDR netmask. */ + /** + * IPv6 IP-addresses CIDR netmask. + */ netmask: string } @@ -320,7 +408,9 @@ export interface ServerMaintenance { export interface VolumeServer { id: string name?: string - /** @deprecated */ + /** + * @deprecated + */ exportUri?: string organization?: string server?: ServerSummary @@ -331,46 +421,72 @@ export interface VolumeServer { state?: VolumeServerState project?: string boot: boolean - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone: ScwZone } export interface SnapshotBaseVolume { - /** Volume ID on which the snapshot is based. */ + /** + * Volume ID on which the snapshot is based. + */ id: string - /** Volume name on which the snapshot is based on. */ + /** + * Volume name on which the snapshot is based on. + */ name: string } export interface ServerTypeCapabilities { - /** Defines whether the Instance supports block storage. */ + /** + * Defines whether the Instance supports block storage. + */ blockStorage?: boolean - /** List of supported boot types. */ + /** + * List of supported boot types. + */ bootTypes: BootType[] } export interface ServerTypeGPUInfo { - /** GPU manufacturer. */ + /** + * GPU manufacturer. + */ gpuManufacturer: string - /** GPU model name. */ + /** + * GPU model name. + */ gpuName: string - /** RAM of a single GPU, in bytes. */ + /** + * RAM of a single GPU, in bytes. + */ gpuMemory: number } export interface ServerTypeNetwork { - /** List of available network interfaces. */ + /** + * List of available network interfaces. + */ interfaces: ServerTypeNetworkInterface[] - /** Total maximum internal bandwidth in bits per seconds. */ + /** + * Total maximum internal bandwidth in bits per seconds. + */ sumInternalBandwidth?: number - /** Total maximum internet bandwidth in bits per seconds. */ + /** + * Total maximum internet bandwidth in bits per seconds. + */ sumInternetBandwidth?: number - /** True if IPv6 is enabled. */ + /** + * True if IPv6 is enabled. + */ ipv6Support: boolean } export interface ServerTypeVolumeConstraintsByType { - /** Local SSD volumes. */ + /** + * Local SSD volumes. + */ lSsd?: ServerTypeVolumeConstraintSizes } @@ -384,118 +500,167 @@ export interface VolumeTypeConstraints { } export interface Server { - /** Instance unique ID. */ + /** + * Instance unique ID. + */ id: string - /** Instance name. */ + /** + * Instance name. + */ name: string - /** Instance Organization ID. */ + /** + * Instance Organization ID. + */ organization: string - /** Instance Project ID. */ + /** + * Instance Project ID. + */ project: string - /** List of allowed actions on the Instance. */ + /** + * List of allowed actions on the Instance. + */ allowedActions: ServerAction[] - /** Tags associated with the Instance. */ + /** + * Tags associated with the Instance. + */ tags: string[] - /** Instance commercial type (eg. GP1-M). */ + /** + * Instance commercial type (eg. GP1-M). + */ commercialType: string - /** Instance creation date. */ + /** + * Instance creation date. + */ creationDate?: Date - /** True if a dynamic IPv4 is required. */ + /** + * True if a dynamic IPv4 is required. + */ dynamicIpRequired: boolean /** - * @deprecated True to configure the instance so it uses the routed IP mode. - * Use of `routed_ip_enabled` as `False` is deprecated. + * @deprecated True to configure the instance so it uses the routed IP mode. Use of `routed_ip_enabled` as `False` is deprecated. */ routedIpEnabled?: boolean /** - * @deprecated True if IPv6 is enabled (deprecated and always `False` when - * `routed_ip_enabled` is `True`). + * @deprecated True if IPv6 is enabled (deprecated and always `False` when `routed_ip_enabled` is `True`). */ enableIpv6?: boolean - /** Instance host name. */ + /** + * Instance host name. + */ hostname: string - /** Information about the Instance image. */ + /** + * Information about the Instance image. + */ image?: Image - /** Defines whether the Instance protection option is activated. */ + /** + * Defines whether the Instance protection option is activated. + */ protected: boolean /** - * Private IP address of the Instance (deprecated and always `null` when - * `routed_ip_enabled` is `True`). + * Private IP address of the Instance (deprecated and always `null` when `routed_ip_enabled` is `True`). */ privateIp?: string /** - * @deprecated Information about the public IP (deprecated in favor of - * `public_ips`). + * @deprecated Information about the public IP (deprecated in favor of `public_ips`). */ publicIp?: ServerIp - /** Information about all the public IPs attached to the server. */ + /** + * Information about all the public IPs attached to the server. + */ publicIps: ServerIp[] - /** The server's MAC address. */ + /** + * The server's MAC address. + */ macAddress: string - /** Instance modification date. */ + /** + * Instance modification date. + */ modificationDate?: Date - /** Instance state. */ + /** + * Instance state. + */ state: ServerState - /** Instance location. */ + /** + * Instance location. + */ location?: ServerLocation /** - * @deprecated Instance IPv6 address (deprecated when `routed_ip_enabled` is - * `True`). + * @deprecated Instance IPv6 address (deprecated when `routed_ip_enabled` is `True`). */ ipv6?: ServerIpv6 - /** Instance boot type. */ + /** + * Instance boot type. + */ bootType: BootType - /** Instance volumes. */ + /** + * Instance volumes. + */ volumes: Record - /** Instance security group. */ + /** + * Instance security group. + */ securityGroup?: SecurityGroupSummary - /** Instance planned maintenance. */ + /** + * Instance planned maintenance. + */ maintenances: ServerMaintenance[] - /** Detailed information about the Instance state. */ + /** + * Detailed information about the Instance state. + */ stateDetail: string - /** Instance architecture. */ + /** + * Instance architecture. + */ arch: Arch - /** Instance placement group. */ + /** + * Instance placement group. + */ placementGroup?: PlacementGroup - /** Instance private NICs. */ + /** + * Instance private NICs. + */ privateNics: PrivateNIC[] - /** Zone in which the Instance is located. */ + /** + * Zone in which the Instance is located. + */ zone: ScwZone /** - * The public_key value of this key is used to encrypt the admin password. - * When set to an empty string, reset this value and - * admin_password_encrypted_value to an empty string so a new password may be - * generated. + * The public_key value of this key is used to encrypt the admin password. When set to an empty string, reset this value and admin_password_encrypted_value to an empty string so a new password may be generated. */ adminPasswordEncryptionSshKeyId?: string /** - * This value is reset when admin_password_encryption_ssh_key_id is set to an - * empty string. + * This value is reset when admin_password_encryption_ssh_key_id is set to an empty string. */ adminPasswordEncryptedValue?: string } export interface VolumeTemplate { - /** UUID of the volume. */ + /** + * UUID of the volume. + */ id: string - /** Name of the volume. */ + /** + * Name of the volume. + */ name: string - /** Disk size of the volume, must be a multiple of 512. */ + /** + * Disk size of the volume, must be a multiple of 512. + */ size: number - /** Type of the volume. */ + /** + * Type of the volume. + */ volumeType: VolumeVolumeType /** * @deprecated Organization ID of the volume. * - * One-of ('projectIdentifier'): at most one of 'project', 'organization' - * could be set. + * One-of ('projectIdentifier'): at most one of 'project', 'organization' could be set. */ organization?: string /** * Project ID of the volume. * - * One-of ('projectIdentifier'): at most one of 'project', 'organization' - * could be set. + * One-of ('projectIdentifier'): at most one of 'project', 'organization' could be set. */ project?: string } @@ -512,50 +677,80 @@ export interface Ip { state: IpState prefix: string ipamId: string - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone: ScwZone } export interface SecurityGroup { - /** Security group unique ID. */ + /** + * Security group unique ID. + */ id: string - /** Security group name. */ + /** + * Security group name. + */ name: string - /** Security group description. */ + /** + * Security group description. + */ description: string /** - * True if SMTP is blocked on IPv4 and IPv6. This feature is read only, please - * open a support ticket if you need to make it configurable. + * True if SMTP is blocked on IPv4 and IPv6. This feature is read only, please open a support ticket if you need to make it configurable. */ enableDefaultSecurity: boolean - /** Default inbound policy. */ + /** + * Default inbound policy. + */ inboundDefaultPolicy: SecurityGroupPolicy - /** Default outbound policy. */ + /** + * Default outbound policy. + */ outboundDefaultPolicy: SecurityGroupPolicy - /** Security group Organization ID. */ + /** + * Security group Organization ID. + */ organization: string - /** Security group Project ID. */ + /** + * Security group Project ID. + */ project: string - /** Security group tags. */ + /** + * Security group tags. + */ tags: string[] /** - * @deprecated True if it is your default security group for this Organization - * ID. + * @deprecated True if it is your default security group for this Organization ID. */ organizationDefault?: boolean - /** True if it is your default security group for this Project ID. */ + /** + * True if it is your default security group for this Project ID. + */ projectDefault: boolean - /** Security group creation date. */ + /** + * Security group creation date. + */ creationDate?: Date - /** Security group modification date. */ + /** + * Security group modification date. + */ modificationDate?: Date - /** List of Instances attached to this security group. */ + /** + * List of Instances attached to this security group. + */ servers: ServerSummary[] - /** Defines whether the security group is stateful. */ + /** + * Defines whether the security group is stateful. + */ stateful: boolean - /** Security group state. */ + /** + * Security group state. + */ state: SecurityGroupState - /** Zone in which the security group is located. */ + /** + * Zone in which the security group is located. + */ zone: ScwZone } @@ -569,74 +764,132 @@ export interface SecurityGroupRule { destPortTo?: number position: number editable: boolean - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone: ScwZone } export interface VolumeServerTemplate { - /** UUID of the volume. */ + /** + * UUID of the volume. + */ id?: string - /** Force the Instance to boot on this volume. */ + /** + * Force the Instance to boot on this volume. + */ boot?: boolean - /** Name of the volume. */ + /** + * Name of the volume. + */ name?: string - /** Disk size of the volume, must be a multiple of 512. */ + /** + * Disk size of the volume, must be a multiple of 512. + */ size?: number - /** Type of the volume. */ + /** + * Type of the volume. + */ volumeType: VolumeVolumeType - /** ID of the snapshot on which this volume will be based. */ + /** + * ID of the snapshot on which this volume will be based. + */ baseSnapshot?: string - /** Organization ID of the volume. */ + /** + * Organization ID of the volume. + */ organization?: string - /** Project ID of the volume. */ + /** + * Project ID of the volume. + */ project?: string } export interface Snapshot { - /** Snapshot ID. */ + /** + * Snapshot ID. + */ id: string - /** Snapshot name. */ + /** + * Snapshot name. + */ name: string - /** Snapshot Organization ID. */ + /** + * Snapshot Organization ID. + */ organization: string - /** Snapshot Project ID. */ + /** + * Snapshot Project ID. + */ project: string - /** Snapshot tags. */ + /** + * Snapshot tags. + */ tags: string[] - /** Snapshot volume type. */ + /** + * Snapshot volume type. + */ volumeType: VolumeVolumeType - /** Snapshot size. */ + /** + * Snapshot size. + */ size: number - /** Snapshot state. */ + /** + * Snapshot state. + */ state: SnapshotState - /** Volume on which the snapshot is based on. */ + /** + * Volume on which the snapshot is based on. + */ baseVolume?: SnapshotBaseVolume - /** Snapshot creation date. */ + /** + * Snapshot creation date. + */ creationDate?: Date - /** Snapshot modification date. */ + /** + * Snapshot modification date. + */ modificationDate?: Date - /** Snapshot zone. */ + /** + * Snapshot zone. + */ zone: ScwZone - /** Reason for the failed snapshot import. */ + /** + * Reason for the failed snapshot import. + */ errorReason?: string } export interface Task { - /** Unique ID of the task. */ + /** + * Unique ID of the task. + */ id: string - /** Description of the task. */ + /** + * Description of the task. + */ description: string - /** Progress of the task in percent. */ + /** + * Progress of the task in percent. + */ progress: number - /** Task start date. */ + /** + * Task start date. + */ startedAt?: Date - /** Task end date. */ + /** + * Task end date. + */ terminatedAt?: Date - /** Task status. */ + /** + * Task status. + */ status: TaskStatus hrefFrom: string hrefResult: string - /** Zone in which the task is excecuted. */ + /** + * Zone in which the task is excecuted. + */ zone: ScwZone } @@ -651,21 +904,31 @@ export interface Dashboard { securityGroupsCount: number ipsUnused: number volumesLSsdCount: number - /** @deprecated */ + /** + * @deprecated + */ volumesBSsdCount?: number volumesLSsdTotalSize: number - /** @deprecated */ + /** + * @deprecated + */ volumesBSsdTotalSize?: number privateNicsCount: number placementGroupsCount: number } export interface PlacementGroupServer { - /** Instance UUID. */ + /** + * Instance UUID. + */ id: string - /** Instance name. */ + /** + * Instance name. + */ name: string - /** Defines whether the placement group policy is respected (either 1 or 0). */ + /** + * Defines whether the placement group policy is respected (either 1 or 0). + */ policyRespected: boolean } @@ -674,38 +937,65 @@ export interface GetServerTypesAvailabilityResponseAvailability { } export interface ServerType { - /** @deprecated Estimated monthly price, for a 30 days month, in Euro. */ + /** + * @deprecated Estimated monthly price, for a 30 days month, in Euro. + */ monthlyPrice?: number - /** Hourly price in Euro. */ + /** + * Hourly price in Euro. + */ hourlyPrice: number - /** Alternative Instance name, if any. */ + /** + * Alternative Instance name, if any. + */ altNames: string[] - /** Additional volume constraints. */ + /** + * Additional volume constraints. + */ perVolumeConstraint?: ServerTypeVolumeConstraintsByType - /** Initial volume constraints. */ + /** + * Initial volume constraints. + */ volumesConstraint?: ServerTypeVolumeConstraintSizes - /** Number of CPU. */ + /** + * Number of CPU. + */ ncpus: number - /** Number of GPU. */ + /** + * Number of GPU. + */ gpu?: number - /** Available RAM in bytes. */ + /** + * Available RAM in bytes. + */ ram: number - /** GPU information. */ + /** + * GPU information. + */ gpuInfo?: ServerTypeGPUInfo - /** CPU architecture. */ + /** + * CPU architecture. + */ arch: Arch - /** Network available for the Instance. */ + /** + * Network available for the Instance. + */ network?: ServerTypeNetwork - /** Capabilities. */ + /** + * Capabilities. + */ capabilities?: ServerTypeCapabilities - /** Maximum available scratch storage. */ + /** + * Maximum available scratch storage. + */ scratchStorageMaxSize?: number /** - * The maximum bandwidth allocated to block storage access (in bytes per - * second). + * The maximum bandwidth allocated to block storage access (in bytes per second). */ blockBandwidth?: number - /** True if this Instance type has reached end of service. */ + /** + * True if this Instance type has reached end of service. + */ endOfService: boolean } @@ -717,53 +1007,59 @@ export interface VolumeType { export interface ServerActionRequestVolumeBackupTemplate { /** - * Overrides the `volume_type` of the snapshot for this volume. If omitted, - * the volume type of the original volume will be used. + * Overrides the `volume_type` of the snapshot for this volume. +If omitted, the volume type of the original volume will be used. */ volumeType: SnapshotVolumeType } export interface SetSecurityGroupRulesRequestRule { /** - * UUID of the security rule to update. If no value is provided, a new rule - * will be created. + * UUID of the security rule to update. If no value is provided, a new rule will be created. */ id?: string - /** Action to apply when the rule matches a packet. */ + /** + * Action to apply when the rule matches a packet. + */ action: SecurityGroupRuleAction - /** Protocol family this rule applies to. */ + /** + * Protocol family this rule applies to. + */ protocol: SecurityGroupRuleProtocol - /** Direction the rule applies to. */ + /** + * Direction the rule applies to. + */ direction: SecurityGroupRuleDirection - /** Range of IP addresses these rules apply to. */ + /** + * Range of IP addresses these rules apply to. + */ ipRange: string /** - * Beginning of the range of ports this rule applies to (inclusive). This - * value will be set to null if protocol is ICMP or ANY. + * Beginning of the range of ports this rule applies to (inclusive). This value will be set to null if protocol is ICMP or ANY. */ destPortFrom?: number /** - * End of the range of ports this rule applies to (inclusive). This value will - * be set to null if protocol is ICMP or ANY, or if it is equal to - * dest_port_from. + * End of the range of ports this rule applies to (inclusive). This value will be set to null if protocol is ICMP or ANY, or if it is equal to dest_port_from. */ destPortTo?: number /** - * Position of this rule in the security group rules list. If several rules - * are passed with the same position, the resulting order is undefined. + * Position of this rule in the security group rules list. If several rules are passed with the same position, the resulting order is undefined. */ position: number /** - * Indicates if this rule is editable. Rules with the value false will be - * ignored. + * Indicates if this rule is editable. Rules with the value false will be ignored. */ editable?: boolean - /** Zone of the rule. This field is ignored. */ + /** + * Zone of the rule. This field is ignored. + */ zone?: ScwZone } export interface VolumeImageUpdateTemplate { - /** UUID of the snapshot. */ + /** + * UUID of the snapshot. + */ id: string } @@ -773,37 +1069,32 @@ export interface SecurityGroupTemplate { } export type ApplyBlockMigrationRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone /** - * The volume to migrate, along with potentially other resources, according to - * the migration plan generated with a call to the [Get a volume or snapshot's - * migration plan](#path-volumes-get-a-volume-or-snapshots-migration-plan) - * endpoint. + * The volume to migrate, along with potentially other resources, according to the migration plan generated with a call to the [Get a volume or snapshot's migration plan](#path-volumes-get-a-volume-or-snapshots-migration-plan) endpoint. * * One-of ('resource'): at most one of 'volumeId', 'snapshotId' could be set. */ volumeId?: string /** - * The snapshot to migrate, along with potentially other resources, according - * to the migration plan generated with a call to the [Get a volume or - * snapshot's migration - * plan](#path-volumes-get-a-volume-or-snapshots-migration-plan) endpoint. + * The snapshot to migrate, along with potentially other resources, according to the migration plan generated with a call to the [Get a volume or snapshot's migration plan](#path-volumes-get-a-volume-or-snapshots-migration-plan) endpoint. * * One-of ('resource'): at most one of 'volumeId', 'snapshotId' could be set. */ snapshotId?: string /** - * A value to be retrieved from a call to the [Get a volume or snapshot's - * migration plan](#path-volumes-get-a-volume-or-snapshots-migration-plan) - * endpoint, to confirm that the volume and/or snapshots specified in said - * plan should be migrated. + * A value to be retrieved from a call to the [Get a volume or snapshot's migration plan](#path-volumes-get-a-volume-or-snapshots-migration-plan) endpoint, to confirm that the volume and/or snapshots specified in said plan should be migrated. */ validationKey: string } export type AttachServerVolumeRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone serverId: string volumeId: string @@ -816,39 +1107,53 @@ export interface AttachServerVolumeResponse { } export type CheckBlockMigrationOrganizationQuotasRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone organization?: string } export type CreateImageRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** Name of the image. */ + /** + * Name of the image. + */ name?: string - /** UUID of the snapshot. */ + /** + * UUID of the snapshot. + */ rootVolume: string - /** Architecture of the image. */ + /** + * Architecture of the image. + */ arch: Arch - /** Additional volumes of the image. */ + /** + * Additional volumes of the image. + */ extraVolumes?: Record /** * @deprecated Organization ID of the image. * - * One-of ('projectIdentifier'): at most one of 'project', 'organization' - * could be set. + * One-of ('projectIdentifier'): at most one of 'project', 'organization' could be set. */ organization?: string /** * Project ID of the image. * - * One-of ('projectIdentifier'): at most one of 'project', 'organization' - * could be set. + * One-of ('projectIdentifier'): at most one of 'project', 'organization' could be set. */ project?: string - /** Tags of the image. */ + /** + * Tags of the image. + */ tags?: string[] - /** True to create a public image. */ + /** + * True to create a public image. + */ public?: boolean } @@ -857,27 +1162,33 @@ export interface CreateImageResponse { } export type CreateIpRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone /** * @deprecated Organization ID in which the IP is reserved. * - * One-of ('projectIdentifier'): at most one of 'project', 'organization' - * could be set. + * One-of ('projectIdentifier'): at most one of 'project', 'organization' could be set. */ organization?: string /** * Project ID in which the IP is reserved. * - * One-of ('projectIdentifier'): at most one of 'project', 'organization' - * could be set. + * One-of ('projectIdentifier'): at most one of 'project', 'organization' could be set. */ project?: string - /** Tags of the IP. */ + /** + * Tags of the IP. + */ tags?: string[] - /** UUID of the Instance you want to attach the IP to. */ + /** + * UUID of the Instance you want to attach the IP to. + */ server?: string - /** IP type to reserve (either 'routed_ipv4' or 'routed_ipv6'). */ + /** + * IP type to reserve (either 'routed_ipv4' or 'routed_ipv6'). + */ type?: IpType } @@ -886,29 +1197,37 @@ export interface CreateIpResponse { } export type CreatePlacementGroupRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** Name of the placement group. */ + /** + * Name of the placement group. + */ name?: string /** * @deprecated Organization ID of the placement group. * - * One-of ('projectIdentifier'): at most one of 'project', 'organization' - * could be set. + * One-of ('projectIdentifier'): at most one of 'project', 'organization' could be set. */ organization?: string /** * Project ID of the placement group. * - * One-of ('projectIdentifier'): at most one of 'project', 'organization' - * could be set. + * One-of ('projectIdentifier'): at most one of 'project', 'organization' could be set. */ project?: string - /** Tags of the placement group. */ + /** + * Tags of the placement group. + */ tags?: string[] - /** Operating mode of the placement group. */ + /** + * Operating mode of the placement group. + */ policyMode?: PlacementGroupPolicyMode - /** Policy type of the placement group. */ + /** + * Policy type of the placement group. + */ policyType?: PlacementGroupPolicyType } @@ -917,19 +1236,28 @@ export interface CreatePlacementGroupResponse { } export type CreatePrivateNICRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the Instance the private NIC will be attached to. */ + /** + * UUID of the Instance the private NIC will be attached to. + */ serverId: string - /** UUID of the private network where the private NIC will be attached. */ + /** + * UUID of the private network where the private NIC will be attached. + */ privateNetworkId: string - /** Private NIC tags. */ + /** + * Private NIC tags. + */ tags?: string[] - /** @deprecated Ip_ids defined from IPAM. */ + /** + * @deprecated Ip_ids defined from IPAM. + */ ipIds?: string[] /** - * UUID of IPAM ips, to be attached to the instance in the requested private - * network. + * UUID of IPAM ips, to be attached to the instance in the requested private network. */ ipamIpIds?: string[] } @@ -939,53 +1267,60 @@ export interface CreatePrivateNICResponse { } export type CreateSecurityGroupRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** Name of the security group. */ + /** + * Name of the security group. + */ name?: string - /** Description of the security group. */ + /** + * Description of the security group. + */ description: string /** * @deprecated Organization ID the security group belongs to. * - * One-of ('projectIdentifier'): at most one of 'project', 'organization' - * could be set. + * One-of ('projectIdentifier'): at most one of 'project', 'organization' could be set. */ organization?: string /** * Project ID the security group belong to. * - * One-of ('projectIdentifier'): at most one of 'project', 'organization' - * could be set. + * One-of ('projectIdentifier'): at most one of 'project', 'organization' could be set. */ project?: string - /** Tags of the security group. */ + /** + * Tags of the security group. + */ tags?: string[] /** - * @deprecated Defines whether this security group becomes the default - * security group for new Instances. + * @deprecated Defines whether this security group becomes the default security group for new Instances. * - * One-of ('defaultIdentifier'): at most one of 'organizationDefault', - * 'projectDefault' could be set. + * One-of ('defaultIdentifier'): at most one of 'organizationDefault', 'projectDefault' could be set. */ organizationDefault?: boolean /** - * Whether this security group becomes the default security group for new - * Instances. + * Whether this security group becomes the default security group for new Instances. * - * One-of ('defaultIdentifier'): at most one of 'organizationDefault', - * 'projectDefault' could be set. + * One-of ('defaultIdentifier'): at most one of 'organizationDefault', 'projectDefault' could be set. */ projectDefault?: boolean - /** Whether the security group is stateful or not. */ + /** + * Whether the security group is stateful or not. + */ stateful: boolean - /** Default policy for inbound rules. */ + /** + * Default policy for inbound rules. + */ inboundDefaultPolicy?: SecurityGroupPolicy - /** Default policy for outbound rules. */ + /** + * Default policy for outbound rules. + */ outboundDefaultPolicy?: SecurityGroupPolicy /** - * True to block SMTP on IPv4 and IPv6. This feature is read only, please open - * a support ticket if you need to make it configurable. + * True to block SMTP on IPv4 and IPv6. This feature is read only, please open a support ticket if you need to make it configurable. */ enableDefaultSecurity?: boolean } @@ -995,21 +1330,33 @@ export interface CreateSecurityGroupResponse { } export type CreateSecurityGroupRuleRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the security group. */ + /** + * UUID of the security group. + */ securityGroupId: string protocol: SecurityGroupRuleProtocol direction: SecurityGroupRuleDirection action: SecurityGroupRuleAction ipRange: string - /** Beginning of the range of ports to apply this rule to (inclusive). */ + /** + * Beginning of the range of ports to apply this rule to (inclusive). + */ destPortFrom?: number - /** End of the range of ports to apply this rule to (inclusive). */ + /** + * End of the range of ports to apply this rule to (inclusive). + */ destPortTo?: number - /** Position of this rule in the security group rules list. */ + /** + * Position of this rule in the security group rules list. + */ position: number - /** Indicates if this rule is editable (will be ignored). */ + /** + * Indicates if this rule is editable (will be ignored). + */ editable: boolean } @@ -1018,55 +1365,77 @@ export interface CreateSecurityGroupRuleResponse { } export type CreateServerRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** Instance name. */ + /** + * Instance name. + */ name?: string - /** Define if a dynamic IPv4 is required for the Instance. */ + /** + * Define if a dynamic IPv4 is required for the Instance. + */ dynamicIpRequired?: boolean /** - * @deprecated If true, configure the Instance so it uses the new routed IP - * mode. + * @deprecated If true, configure the Instance so it uses the new routed IP mode. */ routedIpEnabled?: boolean - /** Define the Instance commercial type (i.e. GP1-S). */ + /** + * Define the Instance commercial type (i.e. GP1-S). + */ commercialType: string - /** Instance image ID or label. */ + /** + * Instance image ID or label. + */ image?: string - /** Volumes attached to the server. */ + /** + * Volumes attached to the server. + */ volumes?: Record /** - * @deprecated True if IPv6 is enabled on the server (deprecated and always - * `False` when `routed_ip_enabled` is `True`). + * @deprecated True if IPv6 is enabled on the server (deprecated and always `False` when `routed_ip_enabled` is `True`). */ enableIpv6?: boolean - /** @deprecated ID of the reserved IP to attach to the Instance. */ + /** + * @deprecated ID of the reserved IP to attach to the Instance. + */ publicIp?: string - /** A list of reserved IP IDs to attach to the Instance. */ + /** + * A list of reserved IP IDs to attach to the Instance. + */ publicIps?: string[] - /** Boot type to use. */ + /** + * Boot type to use. + */ bootType?: BootType /** * @deprecated Instance Organization ID. * - * One-of ('projectIdentifier'): at most one of 'project', 'organization' - * could be set. + * One-of ('projectIdentifier'): at most one of 'project', 'organization' could be set. */ organization?: string /** * Instance Project ID. * - * One-of ('projectIdentifier'): at most one of 'project', 'organization' - * could be set. + * One-of ('projectIdentifier'): at most one of 'project', 'organization' could be set. */ project?: string - /** Instance tags. */ + /** + * Instance tags. + */ tags?: string[] - /** Security group ID. */ + /** + * Security group ID. + */ securityGroup?: string - /** Placement group ID if Instance must be part of a placement group. */ + /** + * Placement group ID if Instance must be part of a placement group. + */ placementGroup?: string - /** The public_key value of this key is used to encrypt the admin password. */ + /** + * The public_key value of this key is used to encrypt the admin password. + */ adminPasswordEncryptionSshKeyId?: string } @@ -1075,38 +1444,50 @@ export interface CreateServerResponse { } export type CreateSnapshotRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** Name of the snapshot. */ + /** + * Name of the snapshot. + */ name?: string - /** UUID of the volume. */ + /** + * UUID of the volume. + */ volumeId?: string - /** Tags of the snapshot. */ + /** + * Tags of the snapshot. + */ tags?: string[] /** * @deprecated Organization ID of the snapshot. * - * One-of ('projectIdentifier'): at most one of 'project', 'organization' - * could be set. + * One-of ('projectIdentifier'): at most one of 'project', 'organization' could be set. */ organization?: string /** * Project ID of the snapshot. * - * One-of ('projectIdentifier'): at most one of 'project', 'organization' - * could be set. + * One-of ('projectIdentifier'): at most one of 'project', 'organization' could be set. */ project?: string /** - * Overrides the volume_type of the snapshot. If omitted, the volume type of - * the original volume will be used. + * Overrides the volume_type of the snapshot. +If omitted, the volume type of the original volume will be used. */ volumeType?: SnapshotVolumeType - /** Bucket name for snapshot imports. */ + /** + * Bucket name for snapshot imports. + */ bucket?: string - /** Object key for snapshot imports. */ + /** + * Object key for snapshot imports. + */ key?: string - /** Imported snapshot size, must be a multiple of 512. */ + /** + * Imported snapshot size, must be a multiple of 512. + */ size?: number } @@ -1116,27 +1497,33 @@ export interface CreateSnapshotResponse { } export type CreateVolumeRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** Volume name. */ + /** + * Volume name. + */ name?: string /** * @deprecated Volume Organization ID. * - * One-of ('projectIdentifier'): at most one of 'project', 'organization' - * could be set. + * One-of ('projectIdentifier'): at most one of 'project', 'organization' could be set. */ organization?: string /** * Volume Project ID. * - * One-of ('projectIdentifier'): at most one of 'project', 'organization' - * could be set. + * One-of ('projectIdentifier'): at most one of 'project', 'organization' could be set. */ project?: string - /** Volume tags. */ + /** + * Volume tags. + */ tags?: string[] - /** Volume type. */ + /** + * Volume type. + */ volumeType?: VolumeVolumeType /** * Volume disk size, must be a multiple of 512. @@ -1157,80 +1544,122 @@ export interface CreateVolumeResponse { } export type DeleteImageRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the image you want to delete. */ + /** + * UUID of the image you want to delete. + */ imageId: string } export type DeleteIpRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** ID or address of the IP to delete. */ + /** + * ID or address of the IP to delete. + */ ip: string } export type DeletePlacementGroupRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the placement group you want to delete. */ + /** + * UUID of the placement group you want to delete. + */ placementGroupId: string } export type DeletePrivateNICRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** Instance to which the private NIC is attached. */ + /** + * Instance to which the private NIC is attached. + */ serverId: string - /** Private NIC unique ID. */ + /** + * Private NIC unique ID. + */ privateNicId: string } export type DeleteSecurityGroupRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the security group you want to delete. */ + /** + * UUID of the security group you want to delete. + */ securityGroupId: string } export type DeleteSecurityGroupRuleRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone securityGroupId: string securityGroupRuleId: string } export type DeleteServerRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone serverId: string } export type DeleteServerUserDataRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the Instance. */ + /** + * UUID of the Instance. + */ serverId: string - /** Key of the user data to delete. */ + /** + * Key of the user data to delete. + */ key: string } export type DeleteSnapshotRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the snapshot you want to delete. */ + /** + * UUID of the snapshot you want to delete. + */ snapshotId: string } export type DeleteVolumeRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the volume you want to delete. */ + /** + * UUID of the volume you want to delete. + */ volumeId: string } export type DetachServerVolumeRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone serverId: string volumeId: string @@ -1241,13 +1670,21 @@ export interface DetachServerVolumeResponse { } export type ExportSnapshotRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** Snapshot ID. */ + /** + * Snapshot ID. + */ snapshotId: string - /** Object Storage bucket name. */ + /** + * Object Storage bucket name. + */ bucket: string - /** Object key. */ + /** + * Object key. + */ key: string } @@ -1256,7 +1693,9 @@ export interface ExportSnapshotResponse { } export type GetDashboardRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone organization?: string project?: string @@ -1267,9 +1706,13 @@ export interface GetDashboardResponse { } export type GetImageRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the image you want to get. */ + /** + * UUID of the image you want to get. + */ imageId: string } @@ -1278,9 +1721,13 @@ export interface GetImageResponse { } export type GetIpRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** IP ID or address to get. */ + /** + * IP ID or address to get. + */ ip: string } @@ -1289,9 +1736,13 @@ export interface GetIpResponse { } export type GetPlacementGroupRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the placement group you want to get. */ + /** + * UUID of the placement group you want to get. + */ placementGroupId: string } @@ -1300,23 +1751,35 @@ export interface GetPlacementGroupResponse { } export type GetPlacementGroupServersRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the placement group you want to get. */ + /** + * UUID of the placement group you want to get. + */ placementGroupId: string } export interface GetPlacementGroupServersResponse { - /** Instances attached to the placement group. */ + /** + * Instances attached to the placement group. + */ servers: PlacementGroupServer[] } export type GetPrivateNICRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** Instance to which the private NIC is attached. */ + /** + * Instance to which the private NIC is attached. + */ serverId: string - /** Private NIC unique ID. */ + /** + * Private NIC unique ID. + */ privateNicId: string } @@ -1325,9 +1788,13 @@ export interface GetPrivateNICResponse { } export type GetSecurityGroupRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the security group you want to get. */ + /** + * UUID of the security group you want to get. + */ securityGroupId: string } @@ -1336,7 +1803,9 @@ export interface GetSecurityGroupResponse { } export type GetSecurityGroupRuleRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone securityGroupId: string securityGroupRuleId: string @@ -1347,16 +1816,24 @@ export interface GetSecurityGroupRuleResponse { } export type GetServerCompatibleTypesRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the Instance you want to get. */ + /** + * UUID of the Instance you want to get. + */ serverId: string } export type GetServerRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the Instance you want to get. */ + /** + * UUID of the Instance you want to get. + */ serverId: string } @@ -1365,27 +1842,36 @@ export interface GetServerResponse { } export type GetServerTypesAvailabilityRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone /** - * A positive integer lower or equal to 100 to select the number of items to - * return. + * A positive integer lower or equal to 100 to select the number of items to return. */ perPage?: number - /** A positive integer to choose the page to return. */ + /** + * A positive integer to choose the page to return. + */ page?: number } export interface GetServerTypesAvailabilityResponse { - /** Map of server types. */ + /** + * Map of server types. + */ servers: Record totalCount: number } export type GetSnapshotRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the snapshot you want to get. */ + /** + * UUID of the snapshot you want to get. + */ snapshotId: string } @@ -1394,9 +1880,13 @@ export interface GetSnapshotResponse { } export type GetVolumeRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the volume you want to get. */ + /** + * UUID of the volume you want to get. + */ volumeId: string } @@ -1405,12 +1895,16 @@ export interface GetVolumeResponse { } export type ListDefaultSecurityGroupRulesRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone } export type ListImagesRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone organization?: string perPage?: number @@ -1423,93 +1917,124 @@ export type ListImagesRequest = { } export interface ListImagesResponse { - /** Total number of images. */ + /** + * Total number of images. + */ totalCount: number - /** List of images. */ + /** + * List of images. + */ images: Image[] } export type ListIpsRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** Project ID in which the IPs are reserved. */ + /** + * Project ID in which the IPs are reserved. + */ project?: string - /** Organization ID in which the IPs are reserved. */ + /** + * Organization ID in which the IPs are reserved. + */ organization?: string /** - * Filter IPs with these exact tags (to filter with several tags, use commas - * to separate them). + * Filter IPs with these exact tags (to filter with several tags, use commas to separate them). */ tags?: string[] - /** Filter on the IP address (Works as a LIKE operation on the IP address). */ + /** + * Filter on the IP address (Works as a LIKE operation on the IP address). + */ name?: string /** - * A positive integer lower or equal to 100 to select the number of items to - * return. + * A positive integer lower or equal to 100 to select the number of items to return. */ perPage?: number - /** A positive integer to choose the page to return. */ + /** + * A positive integer to choose the page to return. + */ page?: number /** - * Filter on the IP Mobility IP type (whose value should be either - * 'routed_ipv4' or 'routed_ipv6'). + * Filter on the IP Mobility IP type (whose value should be either 'routed_ipv4' or 'routed_ipv6'). */ type?: string } export interface ListIpsResponse { - /** Total number of ips. */ + /** + * Total number of ips. + */ totalCount: number - /** List of ips. */ + /** + * List of ips. + */ ips: Ip[] } export type ListPlacementGroupsRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone /** - * A positive integer lower or equal to 100 to select the number of items to - * return. + * A positive integer lower or equal to 100 to select the number of items to return. */ perPage?: number - /** A positive integer to choose the page to return. */ + /** + * A positive integer to choose the page to return. + */ page?: number - /** List only placement groups of this Organization ID. */ + /** + * List only placement groups of this Organization ID. + */ organization?: string - /** List only placement groups of this Project ID. */ + /** + * List only placement groups of this Project ID. + */ project?: string /** - * List placement groups with these exact tags (to filter with several tags, - * use commas to separate them). + * List placement groups with these exact tags (to filter with several tags, use commas to separate them). */ tags?: string[] /** - * Filter placement groups by name (for eg. "cluster1" will return - * "cluster100" and "cluster1" but not "foo"). + * Filter placement groups by name (for eg. "cluster1" will return "cluster100" and "cluster1" but not "foo"). */ name?: string } export interface ListPlacementGroupsResponse { - /** Total number of placement groups. */ + /** + * Total number of placement groups. + */ totalCount: number - /** List of placement groups. */ + /** + * List of placement groups. + */ placementGroups: PlacementGroup[] } export type ListPrivateNICsRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** Instance to which the private NIC is attached. */ + /** + * Instance to which the private NIC is attached. + */ serverId: string - /** Private NIC tags. */ + /** + * Private NIC tags. + */ tags?: string[] /** - * A positive integer lower or equal to 100 to select the number of items to - * return. + * A positive integer lower or equal to 100 to select the number of items to return. */ perPage?: number - /** A positive integer to choose the page to return. */ + /** + * A positive integer to choose the page to return. + */ page?: number } @@ -1519,60 +2044,85 @@ export interface ListPrivateNICsResponse { } export type ListSecurityGroupRulesRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the security group. */ + /** + * UUID of the security group. + */ securityGroupId: string /** - * A positive integer lower or equal to 100 to select the number of items to - * return. + * A positive integer lower or equal to 100 to select the number of items to return. */ perPage?: number - /** A positive integer to choose the page to return. */ + /** + * A positive integer to choose the page to return. + */ page?: number } export interface ListSecurityGroupRulesResponse { - /** Total number of security groups. */ + /** + * Total number of security groups. + */ totalCount: number - /** List of security rules. */ + /** + * List of security rules. + */ rules: SecurityGroupRule[] } export type ListSecurityGroupsRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** Name of the security group. */ + /** + * Name of the security group. + */ name?: string - /** Security group Organization ID. */ + /** + * Security group Organization ID. + */ organization?: string - /** Security group Project ID. */ + /** + * Security group Project ID. + */ project?: string /** - * List security groups with these exact tags (to filter with several tags, - * use commas to separate them). + * List security groups with these exact tags (to filter with several tags, use commas to separate them). */ tags?: string[] - /** Filter security groups with this value for project_default. */ + /** + * Filter security groups with this value for project_default. + */ projectDefault?: boolean /** - * A positive integer lower or equal to 100 to select the number of items to - * return. + * A positive integer lower or equal to 100 to select the number of items to return. */ perPage?: number - /** A positive integer to choose the page to return. */ + /** + * A positive integer to choose the page to return. + */ page?: number } export interface ListSecurityGroupsResponse { - /** Total number of security groups. */ + /** + * Total number of security groups. + */ totalCount: number - /** List of security groups. */ + /** + * List of security groups. + */ securityGroups: SecurityGroup[] } export type ListServerActionsRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone serverId: string } @@ -1582,9 +2132,13 @@ export interface ListServerActionsResponse { } export type ListServerUserDataRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the Instance. */ + /** + * UUID of the Instance. + */ serverId: string } @@ -1593,175 +2147,238 @@ export interface ListServerUserDataResponse { } export type ListServersRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone /** - * A positive integer lower or equal to 100 to select the number of items to - * return. + * A positive integer lower or equal to 100 to select the number of items to return. */ perPage?: number - /** A positive integer to choose the page to return. */ + /** + * A positive integer to choose the page to return. + */ page?: number - /** List only Instances of this Organization ID. */ + /** + * List only Instances of this Organization ID. + */ organization?: string - /** List only Instances of this Project ID. */ + /** + * List only Instances of this Project ID. + */ project?: string /** - * Filter Instances by name (eg. "server1" will return "server100" and - * "server1" but not "foo"). + * Filter Instances by name (eg. "server1" will return "server100" and "server1" but not "foo"). */ name?: string - /** @deprecated List Instances by private_ip. */ + /** + * @deprecated List Instances by private_ip. + */ privateIp?: string - /** List Instances that are not attached to a public IP. */ + /** + * List Instances that are not attached to a public IP. + */ withoutIp?: boolean - /** List Instances by IP (both private_ip and public_ip are supported). */ + /** + * List Instances by IP (both private_ip and public_ip are supported). + */ withIp?: string - /** List Instances of this commercial type. */ + /** + * List Instances of this commercial type. + */ commercialType?: string - /** List Instances in this state. */ + /** + * List Instances in this state. + */ state?: ServerState /** - * List Instances with these exact tags (to filter with several tags, use - * commas to separate them). + * List Instances with these exact tags (to filter with several tags, use commas to separate them). */ tags?: string[] - /** List Instances in this Private Network. */ + /** + * List Instances in this Private Network. + */ privateNetwork?: string - /** Define the order of the returned servers. */ + /** + * Define the order of the returned servers. + */ order?: ListServersRequestOrder /** - * List Instances from the given Private Networks (use commas to separate - * them). + * List Instances from the given Private Networks (use commas to separate them). */ privateNetworks?: string[] - /** List Instances associated with the given private NIC MAC address. */ + /** + * List Instances associated with the given private NIC MAC address. + */ privateNicMacAddress?: string - /** List Instances from these server ids (use commas to separate them). */ + /** + * List Instances from these server ids (use commas to separate them). + */ servers?: string[] } export interface ListServersResponse { - /** Total number of Instances. */ + /** + * Total number of Instances. + */ totalCount: number - /** List of Instances. */ + /** + * List of Instances. + */ servers: Server[] } export type ListServersTypesRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone perPage?: number page?: number } export interface ListServersTypesResponse { - /** Total number of Instance types. */ + /** + * Total number of Instance types. + */ totalCount: number - /** List of Instance types. */ + /** + * List of Instance types. + */ servers: Record } export type ListSnapshotsRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** List snapshots only for this Organization ID. */ + /** + * List snapshots only for this Organization ID. + */ organization?: string - /** List snapshots only for this Project ID. */ + /** + * List snapshots only for this Project ID. + */ project?: string /** - * Number of snapshots returned per page (positive integer lower or equal to - * 100). + * Number of snapshots returned per page (positive integer lower or equal to 100). */ perPage?: number - /** Page to be returned. */ + /** + * Page to be returned. + */ page?: number - /** List snapshots of the requested name. */ + /** + * List snapshots of the requested name. + */ name?: string - /** List snapshots that have the requested tag. */ + /** + * List snapshots that have the requested tag. + */ tags?: string - /** List snapshots originating only from this volume. */ + /** + * List snapshots originating only from this volume. + */ baseVolumeId?: string } export interface ListSnapshotsResponse { - /** Total number of snapshots. */ + /** + * Total number of snapshots. + */ totalCount: number - /** List of snapshots. */ + /** + * List of snapshots. + */ snapshots: Snapshot[] } export type ListVolumesRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** Filter by volume type. */ + /** + * Filter by volume type. + */ volumeType?: VolumeVolumeType /** - * A positive integer lower or equal to 100 to select the number of items to - * return. + * A positive integer lower or equal to 100 to select the number of items to return. */ perPage?: number - /** A positive integer to choose the page to return. */ + /** + * A positive integer to choose the page to return. + */ page?: number - /** Filter volume by Organization ID. */ + /** + * Filter volume by Organization ID. + */ organization?: string - /** Filter volume by Project ID. */ + /** + * Filter volume by Project ID. + */ project?: string /** - * Filter volumes with these exact tags (to filter with several tags, use - * commas to separate them). + * Filter volumes with these exact tags (to filter with several tags, use commas to separate them). */ tags?: string[] /** - * Filter volume by name (for eg. "vol" will return "myvolume" but not - * "data"). + * Filter volume by name (for eg. "vol" will return "myvolume" but not "data"). */ name?: string } export interface ListVolumesResponse { - /** Total number of volumes. */ + /** + * Total number of volumes. + */ totalCount: number - /** List of volumes. */ + /** + * List of volumes. + */ volumes: Volume[] } export type ListVolumesTypesRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone perPage?: number page?: number } export interface ListVolumesTypesResponse { - /** Total number of volume types. */ + /** + * Total number of volume types. + */ totalCount: number - /** Map of volume types. */ + /** + * Map of volume types. + */ volumes: Record } export interface MigrationPlan { /** - * A volume which will be migrated to SBS together with the snapshots, if - * present. + * A volume which will be migrated to SBS together with the snapshots, if present. */ volume?: Volume /** - * A list of snapshots which will be migrated to SBS together and with the - * volume, if present. + * A list of snapshots which will be migrated to SBS together and with the volume, if present. */ snapshots: Snapshot[] /** - * A value to be passed to the call to the [Migrate a volume and/or snapshots - * to - * SBS](#path-volumes-migrate-a-volume-andor-snapshots-to-sbs-scaleway-block-storage) - * endpoint, to confirm that the execution of the plan is being requested. + * A value to be passed to the call to the [Migrate a volume and/or snapshots to SBS](#path-volumes-migrate-a-volume-andor-snapshots-to-sbs-scaleway-block-storage) endpoint, to confirm that the execution of the plan is being requested. */ validationKey: string } export type PlanBlockMigrationRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone /** * The volume for which the migration plan will be generated. @@ -1778,25 +2395,31 @@ export type PlanBlockMigrationRequest = { } export type ServerActionRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the Instance. */ + /** + * UUID of the Instance. + */ serverId: string - /** Action to perform on the Instance. */ + /** + * Action to perform on the Instance. + */ action?: ServerAction /** - * Name of the backup you want to create. This field should only be specified - * when performing a backup action. + * Name of the backup you want to create. +This field should only be specified when performing a backup action. */ name?: string /** - * For each volume UUID, the snapshot parameters of the volume. This field - * should only be specified when performing a backup action. + * For each volume UUID, the snapshot parameters of the volume. +This field should only be specified when performing a backup action. */ volumes?: Record /** - * Disable IPv6 on the Instance while performing migration to routed IPs. This - * field should only be specified when performing a enable_routed_ip action. + * Disable IPv6 on the Instance while performing migration to routed IPs. +This field should only be specified when performing a enable_routed_ip action. */ disableIpv6?: boolean } @@ -1806,19 +2429,25 @@ export interface ServerActionResponse { } export interface ServerCompatibleTypes { - /** Instance compatible types. */ + /** + * Instance compatible types. + */ compatibleTypes: string[] } export type SetImageRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone id: string name: string arch?: Arch creationDate?: Date modificationDate?: Date - /** @deprecated */ + /** + * @deprecated + */ defaultBootscript?: Bootscript extraVolumes?: Record fromServer: string @@ -1831,7 +2460,9 @@ export type SetImageRequest = { } export type SetPlacementGroupRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone placementGroupId: string name: string @@ -1847,25 +2478,39 @@ export interface SetPlacementGroupResponse { } export type SetPlacementGroupServersRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the placement group you want to set. */ + /** + * UUID of the placement group you want to set. + */ placementGroupId: string - /** An array of the Instances' UUIDs you want to configure. */ + /** + * An array of the Instances' UUIDs you want to configure. + */ servers: string[] } export interface SetPlacementGroupServersResponse { - /** Instances attached to the placement group. */ + /** + * Instances attached to the placement group. + */ servers: PlacementGroupServer[] } export type SetSecurityGroupRulesRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the security group to update the rules on. */ + /** + * UUID of the security group to update the rules on. + */ securityGroupId: string - /** List of rules to update in the security group. */ + /** + * List of rules to update in the security group. + */ rules?: SetSecurityGroupRulesRequestRule[] } @@ -1874,22 +2519,33 @@ export interface SetSecurityGroupRulesResponse { } export type UpdateImageRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the image. */ + /** + * UUID of the image. + */ imageId: string - /** Name of the image. */ + /** + * Name of the image. + */ name?: string - /** Architecture of the image. */ + /** + * Architecture of the image. + */ arch?: Arch /** - * Additional snapshots of the image, with extra_volumeKey being the position - * of the snapshot in the image. + * Additional snapshots of the image, with extra_volumeKey being the position of the snapshot in the image. */ extraVolumes?: Record - /** Tags of the image. */ + /** + * Tags of the image. + */ tags?: string[] - /** True to set the image as public. */ + /** + * True to set the image as public. + */ public?: boolean } @@ -1898,15 +2554,25 @@ export interface UpdateImageResponse { } export type UpdateIpRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** IP ID or IP address. */ + /** + * IP ID or IP address. + */ ip: string - /** Reverse domain name. */ + /** + * Reverse domain name. + */ reverse?: string | null - /** Should have no effect. */ + /** + * Should have no effect. + */ type?: IpType - /** An array of keywords you want to tag this IP with. */ + /** + * An array of keywords you want to tag this IP with. + */ tags?: string[] server?: string | null } @@ -1916,17 +2582,29 @@ export interface UpdateIpResponse { } export type UpdatePlacementGroupRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the placement group. */ + /** + * UUID of the placement group. + */ placementGroupId: string - /** Name of the placement group. */ + /** + * Name of the placement group. + */ name?: string - /** Tags of the placement group. */ + /** + * Tags of the placement group. + */ tags?: string[] - /** Operating mode of the placement group. */ + /** + * Operating mode of the placement group. + */ policyMode?: PlacementGroupPolicyMode - /** Policy type of the placement group. */ + /** + * Policy type of the placement group. + */ policyType?: PlacementGroupPolicyType } @@ -1935,55 +2613,90 @@ export interface UpdatePlacementGroupResponse { } export type UpdatePlacementGroupServersRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the placement group you want to update. */ + /** + * UUID of the placement group you want to update. + */ placementGroupId: string - /** An array of the Instances' UUIDs you want to configure. */ + /** + * An array of the Instances' UUIDs you want to configure. + */ servers: string[] } export interface UpdatePlacementGroupServersResponse { - /** Instances attached to the placement group. */ + /** + * Instances attached to the placement group. + */ servers: PlacementGroupServer[] } export type UpdatePrivateNICRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the Instance the private NIC will be attached to. */ + /** + * UUID of the Instance the private NIC will be attached to. + */ serverId: string - /** Private NIC unique ID. */ + /** + * Private NIC unique ID. + */ privateNicId: string - /** Tags used to select private NIC/s. */ + /** + * Tags used to select private NIC/s. + */ tags?: string[] } export type UpdateSecurityGroupRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the security group. */ + /** + * UUID of the security group. + */ securityGroupId: string - /** Name of the security group. */ + /** + * Name of the security group. + */ name?: string - /** Description of the security group. */ + /** + * Description of the security group. + */ description?: string /** - * True to block SMTP on IPv4 and IPv6. This feature is read only, please open - * a support ticket if you need to make it configurable. + * True to block SMTP on IPv4 and IPv6. This feature is read only, please open a support ticket if you need to make it configurable. */ enableDefaultSecurity?: boolean - /** Default inbound policy. */ + /** + * Default inbound policy. + */ inboundDefaultPolicy?: SecurityGroupPolicy - /** Tags of the security group. */ + /** + * Tags of the security group. + */ tags?: string[] - /** @deprecated Please use project_default instead. */ + /** + * @deprecated Please use project_default instead. + */ organizationDefault?: boolean - /** True use this security group for future Instances created in this project. */ + /** + * True use this security group for future Instances created in this project. + */ projectDefault?: boolean - /** Default outbound policy. */ + /** + * Default outbound policy. + */ outboundDefaultPolicy?: SecurityGroupPolicy - /** True to set the security group as stateful. */ + /** + * True to set the security group as stateful. + */ stateful?: boolean } @@ -1992,31 +2705,45 @@ export interface UpdateSecurityGroupResponse { } export type UpdateSecurityGroupRuleRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the security group. */ + /** + * UUID of the security group. + */ securityGroupId: string - /** UUID of the rule. */ + /** + * UUID of the rule. + */ securityGroupRuleId: string - /** Protocol family this rule applies to. */ + /** + * Protocol family this rule applies to. + */ protocol?: SecurityGroupRuleProtocol - /** Direction the rule applies to. */ + /** + * Direction the rule applies to. + */ direction?: SecurityGroupRuleDirection - /** Action to apply when the rule matches a packet. */ + /** + * Action to apply when the rule matches a packet. + */ action?: SecurityGroupRuleAction - /** Range of IP addresses these rules apply to. */ + /** + * Range of IP addresses these rules apply to. + */ ipRange?: string /** - * Beginning of the range of ports this rule applies to (inclusive). If 0 is - * provided, unset the parameter. + * Beginning of the range of ports this rule applies to (inclusive). If 0 is provided, unset the parameter. */ destPortFrom?: number /** - * End of the range of ports this rule applies to (inclusive). If 0 is - * provided, unset the parameter. + * End of the range of ports this rule applies to (inclusive). If 0 is provided, unset the parameter. */ destPortTo?: number - /** Position of this rule in the security group rules list. */ + /** + * Position of this rule in the security group rules list. + */ position?: number } @@ -2025,49 +2752,57 @@ export interface UpdateSecurityGroupRuleResponse { } export type UpdateServerRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the Instance. */ + /** + * UUID of the Instance. + */ serverId: string - /** Name of the Instance. */ + /** + * Name of the Instance. + */ name?: string bootType?: BootType - /** Tags of the Instance. */ + /** + * Tags of the Instance. + */ tags?: string[] volumes?: Record dynamicIpRequired?: boolean /** - * @deprecated True to configure the instance so it uses the new routed IP - * mode (once this is set to True you cannot set it back to False). + * @deprecated True to configure the instance so it uses the new routed IP mode (once this is set to True you cannot set it back to False). */ routedIpEnabled?: boolean - /** A list of reserved IP IDs to attach to the Instance. */ + /** + * A list of reserved IP IDs to attach to the Instance. + */ publicIps?: string[] - /** @deprecated */ + /** + * @deprecated + */ enableIpv6?: boolean protected?: boolean securityGroup?: SecurityGroupTemplate - /** Placement group ID if Instance must be part of a placement group. */ + /** + * Placement group ID if Instance must be part of a placement group. + */ placementGroup?: string | null - /** Instance private NICs. */ + /** + * Instance private NICs. + */ privateNics?: string[] /** * Warning: This field has some restrictions: - * - * - Cannot be changed if the Instance is not in `stopped` state. - * - Cannot be changed if the Instance is in a placement group. - * - Cannot be changed from/to a Windows offer to/from a Linux offer. - * - Local storage requirements of the target commercial_types must be fulfilled - * (i.e. if an Instance has 80GB of local storage, it can be changed into a - * GP1-XS, which has a maximum of 150GB, but it cannot be changed into a - * DEV1-S, which has only 20GB). +- Cannot be changed if the Instance is not in `stopped` state. +- Cannot be changed if the Instance is in a placement group. +- Cannot be changed from/to a Windows offer to/from a Linux offer. +- Local storage requirements of the target commercial_types must be fulfilled (i.e. if an Instance has 80GB of local storage, it can be changed into a GP1-XS, which has a maximum of 150GB, but it cannot be changed into a DEV1-S, which has only 20GB). */ commercialType?: string /** - * The public_key value of this key is used to encrypt the admin password. - * When set to an empty string, reset this value and - * admin_password_encrypted_value to an empty string so a new password may be - * generated. + * The public_key value of this key is used to encrypt the admin password. When set to an empty string, reset this value and admin_password_encrypted_value to an empty string so a new password may be generated. */ adminPasswordEncryptionSshKeyId?: string } @@ -2077,13 +2812,21 @@ export interface UpdateServerResponse { } export type UpdateSnapshotRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the snapshot. */ + /** + * UUID of the snapshot. + */ snapshotId: string - /** Name of the snapshot. */ + /** + * Name of the snapshot. + */ name?: string - /** Tags of the snapshot. */ + /** + * Tags of the snapshot. + */ tags?: string[] } @@ -2092,15 +2835,25 @@ export interface UpdateSnapshotResponse { } export type UpdateVolumeRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the volume. */ + /** + * UUID of the volume. + */ volumeId: string - /** Volume name. */ + /** + * Volume name. + */ name?: string - /** Tags of the volume. */ + /** + * Tags of the volume. + */ tags?: string[] - /** Volume disk size, must be a multiple of 512. */ + /** + * Volume disk size, must be a multiple of 512. + */ size?: number } diff --git a/packages/clients/src/api/instance/v1/types.private.gen.ts b/packages/clients/src/api/instance/v1/types.private.gen.ts index 63bd7b030..4551ab627 100644 --- a/packages/clients/src/api/instance/v1/types.private.gen.ts +++ b/packages/clients/src/api/instance/v1/types.private.gen.ts @@ -34,40 +34,69 @@ export interface SetImageResponse { } export type SetSecurityGroupRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** UUID of the security group. */ + /** + * UUID of the security group. + */ id: string - /** Name of the security group. */ + /** + * Name of the security group. + */ name: string - /** Tags of the security group. */ + /** + * Tags of the security group. + */ tags?: string[] - /** Creation date of the security group (will be ignored). */ + /** + * Creation date of the security group (will be ignored). + */ creationDate?: Date - /** Modification date of the security group (will be ignored). */ + /** + * Modification date of the security group (will be ignored). + */ modificationDate?: Date - /** Description of the security group. */ + /** + * Description of the security group. + */ description: string /** - * True to block SMTP on IPv4 and IPv6. This feature is read only, please open - * a support ticket if you need to make it configurable. + * True to block SMTP on IPv4 and IPv6. This feature is read only, please open a support ticket if you need to make it configurable. */ enableDefaultSecurity: boolean - /** Default inbound policy. */ + /** + * Default inbound policy. + */ inboundDefaultPolicy?: SecurityGroupPolicy - /** Default outbound policy. */ + /** + * Default outbound policy. + */ outboundDefaultPolicy?: SecurityGroupPolicy - /** Security groups Organization ID. */ + /** + * Security groups Organization ID. + */ organization?: string - /** Security group Project ID. */ + /** + * Security group Project ID. + */ project?: string - /** @deprecated Please use project_default instead. */ + /** + * @deprecated Please use project_default instead. + */ organizationDefault?: boolean - /** True use this security group for future Instances created in this project. */ + /** + * True use this security group for future Instances created in this project. + */ projectDefault: boolean - /** Instances attached to this security group. */ + /** + * Instances attached to this security group. + */ servers?: ServerSummary[] - /** True to set the security group as stateful. */ + /** + * True to set the security group as stateful. + */ stateful: boolean } @@ -76,7 +105,9 @@ export interface SetSecurityGroupResponse { } export type SetSecurityGroupRuleRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone securityGroupId: string securityGroupRuleId: string @@ -96,89 +127,128 @@ export interface SetSecurityGroupRuleResponse { } export type SetServerRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone - /** Instance unique ID. */ + /** + * Instance unique ID. + */ id: string - /** Instance name. */ + /** + * Instance name. + */ name: string - /** Instance Organization ID. */ + /** + * Instance Organization ID. + */ organization?: string - /** Instance Project ID. */ + /** + * Instance Project ID. + */ project?: string - /** Provide a list of allowed actions on the server. */ + /** + * Provide a list of allowed actions on the server. + */ allowedActions?: ServerAction[] - /** Tags associated with the Instance. */ + /** + * Tags associated with the Instance. + */ tags?: string[] - /** Instance commercial type (eg. GP1-M). */ + /** + * Instance commercial type (eg. GP1-M). + */ commercialType: string - /** Instance creation date. */ + /** + * Instance creation date. + */ creationDate?: Date - /** True if a dynamic IPv4 is required. */ + /** + * True if a dynamic IPv4 is required. + */ dynamicIpRequired: boolean /** - * @deprecated True to configure the instance so it uses the new routed IP - * mode (once this is set to True you cannot set it back to False). + * @deprecated True to configure the instance so it uses the new routed IP mode (once this is set to True you cannot set it back to False). */ routedIpEnabled?: boolean /** - * @deprecated True if IPv6 is enabled (deprecated and always `False` when - * `routed_ip_enabled` is `True`). + * @deprecated True if IPv6 is enabled (deprecated and always `False` when `routed_ip_enabled` is `True`). */ enableIpv6?: boolean - /** Instance host name. */ + /** + * Instance host name. + */ hostname: string - /** Provide information on the Instance image. */ + /** + * Provide information on the Instance image. + */ image?: Image - /** Instance protection option is activated. */ + /** + * Instance protection option is activated. + */ protected: boolean /** - * @deprecated Instance private IP address (deprecated and always `null` when - * `routed_ip_enabled` is `True`). + * @deprecated Instance private IP address (deprecated and always `null` when `routed_ip_enabled` is `True`). */ privateIp?: string /** - * @deprecated Information about the public IP (deprecated in favor of - * `public_ips`). + * @deprecated Information about the public IP (deprecated in favor of `public_ips`). */ publicIp?: ServerIp - /** Information about all the public IPs attached to the server. */ + /** + * Information about all the public IPs attached to the server. + */ publicIps?: ServerIp[] - /** Instance modification date. */ + /** + * Instance modification date. + */ modificationDate?: Date - /** Instance state. */ + /** + * Instance state. + */ state?: ServerState - /** Instance location. */ + /** + * Instance location. + */ location?: ServerLocation /** - * @deprecated Instance IPv6 address (deprecated when `routed_ip_enabled` is - * `True`). + * @deprecated Instance IPv6 address (deprecated when `routed_ip_enabled` is `True`). */ ipv6?: ServerIpv6 - /** Instance boot type. */ + /** + * Instance boot type. + */ bootType?: BootType - /** Instance volumes. */ + /** + * Instance volumes. + */ volumes?: Record - /** Instance security group. */ + /** + * Instance security group. + */ securityGroup?: SecurityGroupSummary - /** Instance planned maintenances. */ + /** + * Instance planned maintenances. + */ maintenances?: ServerMaintenance[] - /** Instance state_detail. */ + /** + * Instance state_detail. + */ stateDetail: string /** - * Instance architecture (refers to the CPU architecture used for the - * Instance, e.g. x86_64, arm64). + * Instance architecture (refers to the CPU architecture used for the Instance, e.g. x86_64, arm64). */ arch?: Arch - /** Instance placement group. */ + /** + * Instance placement group. + */ placementGroup?: PlacementGroup - /** Instance private NICs. */ + /** + * Instance private NICs. + */ privateNics?: PrivateNIC[] /** - * The public_key value of this key is used to encrypt the admin password. - * When set to an empty string, reset this value and - * admin_password_encrypted_value to an empty string so a new password may be - * generated. + * The public_key value of this key is used to encrypt the admin password. When set to an empty string, reset this value and admin_password_encrypted_value to an empty string so a new password may be generated. */ adminPasswordEncryptionSshKeyId?: string } @@ -188,7 +258,9 @@ export interface SetServerResponse { } export type SetSnapshotRequest = { - /** Zone to target. If none is passed will use default zone from the config. */ + /** + * Zone to target. If none is passed will use default zone from the config. + */ zone?: ScwZone snapshotId: string id: string