99 lines
11 KiB
PHP
99 lines
11 KiB
PHP
<?php
|
|
/**
|
|
* ExportSnapshotToObjectStorageRequestTest
|
|
*
|
|
* PHP version 7.4
|
|
*
|
|
* @category Class
|
|
* @package OpenAPI\Client
|
|
* @author OpenAPI Generator team
|
|
* @link https://openapi-generator.tech
|
|
*/
|
|
|
|
/**
|
|
* Block Storage API
|
|
*
|
|
* Scaleway Block Storage provides network-attached storage that can be plugged in and out of cloud products such as Instances like a virtual hard-drive. Block Storage devices are independent from the local storage of Instances, and the fact that they are accessed over a network connection makes it easy to move them between Instances in the same Availability Zone. (switchcolumn) <Message type=\"important\"> This page includes the API reference documentation for all Block Storage Low Latency offers. If you wish to use the Basic Block Storage offers, refer to the [Instances API documentation page](/api/instance/#path-volume-types-list-volume-types). </Message> (switchcolumn) ## Quickstart 1. Configure your environment variables. <Message type=\"note\"> This is an optional step that seeks to simplify your usage of the Block Storage API. See [Availability Zones](#availability-zones) below for help choosing an Availability Zone. You can find your Project ID in the [Scaleway console](https://console.scaleway.com/project/settings). </Message> ```bash export SCW_SECRET_KEY=\"<API secret key>\" export SCW_DEFAULT_ZONE=\"<Scaleway Availability Zone>\" export SCW_PROJECT_ID=\"<Scaleway Project ID>\" ``` <Message type=\"important\"> Make sure that the Availability Zone (AZ) is the same as the one of your Instance. Block volumes can only be attached to Instances in the same AZ. </Message> 2. Edit the POST request payload you will use to create your Block volume. Replace the parameters in the following example: ```json '{ \"project_id\": \"d8e65f2b-cce9-40b7-80fc-6a2902db6826\", \"name\": \"my-volume\", \"perf_iops\": \"5000\", \"tags\": [\"donnerstag\"], \"from_empty\": { \"size\": \"30000000000\"} }' ``` | Parameter | Description | | :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `project_id` | **REQUIRED** The ID of the Project you want to create your Block volume in. To find your Project ID you can **[list the projects](/api/account#path-projects-list-all-projects-of-an-organization)** or consult the **[Scaleway console](https://console.scaleway.com/project/settings)**. | | `name` | **REQUIRED** Name of the volume | | `perf_iops` | **REQUIRED** The maximum IO/s expected. This amount is a shared limit between write and read operations, it will be determined by your usage. You must specify either `5000`, or `15000`. | | `tags` | The list of tags `[\"tag1\", \"tag2\", ...]` that will be associated with the Database Instance. Tags can be appended to the query of the [List Database Instances](#path-database-instances-list-database-instances) call to show results for only the Database Instances using a specific tag. You can also combine tags to list Database Instances that posess all the appended tags. | | `from_empty` | When you create a brand new volume, as opposed to creating a volume from a snapshot, you must specifiy its size. | | `size` | Volume size. The value should be expressed in bytes. For example 30GB is expressed as 30000000000 | 3. Create a Block volume by running the following command. Make sure you include the payload you edited in the previous step. ```bash curl -X POST \\ -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\ \"Content-Type: application/json\" \\ https://api.scaleway.com/block/v1alpha1/zone/$SCW_DEFAULT_ZONE/volumes \\ -d '{ \"project_id\": \"'\"$SCW_PROJECT_ID\"'\", \"name\": \"my-volume\", \"perf_iops\": \"5000\", \"tags\": [\"donnerstag\"], \"from_empty\": { \"size\": \"30000000000\"} }' ``` An output similar to the following displays : ```json '{ \"id\": \"e337a374-f19a-4b58-a45d-75076f75fbc5\", \"name\": \"my-volume\", \"type\": \"sbs_5k\", \"size\": 30000000000, \"project_id\": \"d8e65f2b-cce9-40b7-80fc-6a2902db6826\", \"created_at\": \"2023-09-28T15:48:59.105240Z\", \"updated_at\": \"2023-09-28T15:48:59.105240Z\", \"references\": [], \"parent_snapshot_id\": None, \"status\": \"creating\", \"tags\": [], \"specs\": {\"perf_iops\": 5000, \"class\": \"sbs\"}, \"zone\": \"fr-par-1\" }' ``` <Message type=\"note\"> Make sure to save the `id` of your volume, as it will be required in the next step. </Message> 4. Attach your volume to your Instance using the Instance API [Update an Instance](/api/instance/#path-instances-update-an-instance) call. <Message type=\"note\"> Make sure the Block volume is created and ready before attaching it to the Instance. </Message> <Message type=\"important\"> Make sure you include all your Instance's existing volumes in the payload, as the update can only be done to all or none of the volumes. The payload should include a minimum of one key (`\"0\"`) with a value equivalent to the setting parameters for the volume. Additional keys for additional volumes should increment by 1 each time. For example, the second volume is `\"1\"`, the third `\"2\"`, and so on. </Message> ```bash curl -X PATCH \\ -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\ \"Content-Type: application/json\" \\ https://api.scaleway.com/instance/v1/zone/$SCW_DEFAULT_ZONE/servers/$INSTANCE_ID \\ -d '{ \"volumes\": { \"0\": { \"boot\": false, \"id\": \"571c8a17-ba68-4c1d-b137-bbd5bc7af104\", \"volume_type\": \"System volume\" } \"1\": { \"boot\": false, \"id\": \"e337a374-f19a-4b58-a45d-75076f75fbc5\", \"volume_type\": \"sbs_volume\" } }' ``` Your Block volume is ready to be used with your Instance. Refer to the [How to mount and use your Block volume](https://www.scaleway.com/en/docs/storage/block/how-to/mount-and-use-volume/) documentation page to do so. (switchcolumn) <Message type=\"requirement\"> To perform the following steps, you must first ensure that: - you have an account and are logged into the [Scaleway console](https://console.scaleway.com/organization) - you have created an [API key](https://www.scaleway.com/en/docs/identity-and-access-management/iam/how-to/create-api-keys/) and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/identity-and-access-management/iam/reference-content/permission-sets/) to perform the actions described on this page. - you have [installed `curl`](https://curl.se/download.html) - you have [created an Instance](/instance/#path-instances-create-an-instance). </Message> (switchcolumn) ## Going further For further information and assitance for Scaleway Block Storage, check out the following resources: - [Basic Block Storage Documentation](https://www.scaleway.com/en/docs/storage/block/) - [#block channel in the Scaleway Slack Community](scaleway-community.slack.com) - [How to open a support ticket](https://www.scaleway.com/en/docs/console/my-account/how-to/open-a-support-ticket/).
|
|
*
|
|
* The version of the OpenAPI document: v1alpha1
|
|
* Generated by: https://openapi-generator.tech
|
|
* Generator version: 7.11.0
|
|
*/
|
|
|
|
/**
|
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
* https://openapi-generator.tech
|
|
* Please update the test case below to test the model.
|
|
*/
|
|
|
|
namespace OpenAPI\Client\Test\Model;
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
/**
|
|
* ExportSnapshotToObjectStorageRequestTest Class Doc Comment
|
|
*
|
|
* @category Class
|
|
* @description ExportSnapshotToObjectStorageRequest
|
|
* @package OpenAPI\Client
|
|
* @author OpenAPI Generator team
|
|
* @link https://openapi-generator.tech
|
|
*/
|
|
class ExportSnapshotToObjectStorageRequestTest extends TestCase
|
|
{
|
|
|
|
/**
|
|
* Setup before running any test case
|
|
*/
|
|
public static function setUpBeforeClass(): void
|
|
{
|
|
}
|
|
|
|
/**
|
|
* Setup before running each test case
|
|
*/
|
|
public function setUp(): void
|
|
{
|
|
}
|
|
|
|
/**
|
|
* Clean up after running each test case
|
|
*/
|
|
public function tearDown(): void
|
|
{
|
|
}
|
|
|
|
/**
|
|
* Clean up after running all test cases
|
|
*/
|
|
public static function tearDownAfterClass(): void
|
|
{
|
|
}
|
|
|
|
/**
|
|
* Test "ExportSnapshotToObjectStorageRequest"
|
|
*/
|
|
public function testExportSnapshotToObjectStorageRequest()
|
|
{
|
|
// TODO: implement
|
|
self::markTestIncomplete('Not implemented');
|
|
}
|
|
|
|
/**
|
|
* Test attribute "bucket"
|
|
*/
|
|
public function testPropertyBucket()
|
|
{
|
|
// TODO: implement
|
|
self::markTestIncomplete('Not implemented');
|
|
}
|
|
|
|
/**
|
|
* Test attribute "key"
|
|
*/
|
|
public function testPropertyKey()
|
|
{
|
|
// TODO: implement
|
|
self::markTestIncomplete('Not implemented');
|
|
}
|
|
}
|