kanta-inc/scaleway-php-client

Scaleway PHP API 客户端是 Scaleway API 的 PHP 客户端。它是由 OpenAPI 规范生成的。

dev-main 2024-03-01 10:21 UTC

This package is auto-updated.

Last update: 2024-09-30 11:31:30 UTC


README

Scaleway 实例是云中的虚拟机。不同的 实例类型 提供了不同的技术规格,包括 vCPU、RAM、带宽和存储。一旦你创建了实例并安装了你选择的镜像(例如操作系统),你就可以通过 SSH 连接到实例,按需使用它。当你完成实例的使用后,你可以从你的账户中删除它。

(switchcolumn) <Message type="tip"> 要检索有关可在 Scaleway 实例上安装的不同 镜像 的信息,请查看我们的 Marketplace API。 (switchcolumn)

概念

请参阅我们的 专用概念页面,以查找与实例相关的所有概念和术语的定义。

(switchcolumn) (switchcolumn)

快速入门

  1. 配置环境变量

    <Message type="note"> 这是一个可选步骤,旨在简化您对实例 API 的使用。有关选择可用性区域的帮助,请参阅下面的 可用性区域。你可以在 Scaleway 控制台 中找到你的项目 ID。

    export SCW_SECRET_KEY=\"<API secret key>\"
    export SCW_DEFAULT_ZONE=\"<Scaleway Availability Zone>\"
    export SCW_PROJECT_ID=\"<Scaleway Project ID>\"
  2. 创建实例:运行以下命令创建实例。您可以根据需要自定义有效负载中的详细信息(名称、描述、类型、标签等):使用以下信息根据需要调整有效负载。

    curl -X POST \\
      -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\
      -H \"Content-Type: application/json\" \\
      \"https://api.scaleway.com/instance/v1/zones/$SCW_DEFAULT_ZONE/servers\" \\
        -d '{
          \"name\": \"my-new-instance\", 
          \"project\": \"'\"$SCW_PROJECT_ID\"'\",
          \"commercial_type\": \"GP1-S\", 
          \"image\": \"544f0add-626b-4e4f-8a96-79fa4414d99a\",
          \"enable_ipv6\": true,
          \"volumes\": {
            \"0\":{
              \"name\": \"my-volume\",
              \"size\": 300000000000,
              \"volume_type\": \"l_ssd\"
            }
          }
        }'
     | Parameter       | Description                                                                                                                                              | Valid values                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
    

    | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | name | 实例的名称(字符串) | 仅包含字母数字字符、点、空格和短划线的字符串,例如 \"my-new-instance\"。 | | project | 应在该实例中创建的项目(字符串) | 任何有效的Scaleway项目ID(见上文),例如 \"b4bd99e0-b389-11ed-afa1-0242ac120002\"。 | | commercial-type | 要创建的商业实例类型(字符串) | 任何有效的Scaleway商业实例类型的ID,例如 \"GP1-S\"\"PRO2-M\"。使用实例类型列表端点获取所有有效实例类型及其ID。 | | image | 要安装在实例上的镜像,例如特定的操作系统(字符串) | 任何有效的Scaleway镜像ID,例如代表 Ubuntu 22.04 Jammy Jellyfish 镜像的 544f0add-626b-4e4f-8a96-79fa4414d99a。使用实例镜像列表端点获取所有可用镜像及其ID,或查看Scaleway Marketplace API。 | | enable_ipv6 | 是否在实例上启用IPv6(布尔值) | truefalse | | volumes | 一个指定要附加到实例的存储卷的对象。更多信息请参阅技术信息部分中的“创建实例:存储卷对象”。 | 一个(字典)对象,至少有一个键(\"0\"),其值是另一个对象,包含参数 \"name\"(卷的名称)、\"size\"(卷的大小,以字节为单位)和\"volume_type\"\"l_ssd\"\"b_ssd\"\"unified\")。额外的键用于额外的卷,每次递增1(第二个卷的键为1)。还提供其他参数,可以附加现有的卷而不是创建一个新的,或从快照创建卷。 |

  3. 列出实例:运行以下命令以获取您帐户中所有实例及其详细信息的列表

    curl -X GET \\
      -H \"Content-Type: application/json\" \\
      -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\
      \"https://api.scaleway.com/instance/v1/zones/$SCW_DEFAULT_ZONE/servers/\"
  4. 删除实例:运行以下命令以删除指定的实例,指定实例ID

    curl -X DELETE \\
      -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\
      -H \"Content-Type: application/json\" \\
      \"https://api.scaleway.com/instance/v1/zones/$SCW_DEFAULT_ZONE/servers/<Instance-ID>\"

    预期的成功响应为空。

(switchcolumn) <Message type="requirement">

(switchcolumn)

技术信息

可用区

实例可以部署在以下可用区

(switchcolumn) (switchcolumn)

分页

大多数列表请求都会收到分页响应。针对分页端点的请求接受两个 query 参数

  • page,一个正整数,用于选择要返回的页面。
  • per_page,一个小于或等于100的正整数,用于选择每页要返回的项目数。默认值为 50

分页端点通常也接受过滤器来搜索和排序结果。这些过滤器在每个端点文档中都有说明。

X-Total-Count 头部包含返回的项目总数。

(switchcolumn) (switchcolumn)

创建实例:卷对象

创建实例时,volumes 对象是有效负载的必需部分。这是一个字典,至少有一个键(\"0\"),其值是另一个对象,用于设置该卷的参数。对于额外的卷,额外的键应每次增加1(第二个卷将有一个键为1。)

请注意,卷的size必须遵守实例的commercial_type的卷约束:对于每种类型的实例,都需要一定量的存储,同时也有一个上限,不能超过。某些实例类型仅支持块存储(b_ssd),其他类型还支持本地存储(l_ssd)。有关这些约束的更多信息,请参阅列出实例类型文档,特别是响应中列出的每种类型的volume_constraints参数

您可以使用不同的方式使用volumes对象。下表显示了以下用例中每个用例所需的参数

(switchcolumn) <Message type="note"> 此信息旨在帮助您在创建实例更新实例方法时正确配置volumes对象。(switchcolumn)

更进一步

要了解有关使用Scaleway实例的更多信息,请参阅以下资源

安装和用法

要求

PHP 7.4及更高版本。也应该与PHP 8.0兼容。

Composer

要使用Composer安装绑定,请在composer.json中添加以下内容

{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/GIT_USER_ID/GIT_REPO_ID.git"
    }
  ],
  "require": {
    "GIT_USER_ID/GIT_REPO_ID": "*@dev"
  }
}

然后运行composer install

手动安装

下载文件并包含autoload.php

<?php
require_once('/path/to/OpenAPIClient-php/vendor/autoload.php');

入门

请遵循安装过程,然后运行以下内容

<?php
require_once(__DIR__ . '/vendor/autoload.php');



// Configure API key authorization: scaleway
$config = OpenAPI\Client\Configuration::getDefaultConfiguration()->setApiKey('X-Auth-Token', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// $config = OpenAPI\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('X-Auth-Token', 'Bearer');


$apiInstance = new OpenAPI\Client\Api\BootscriptsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client(),
    $config
);
$zone = 'zone_example'; // string | The zone you want to target
$bootscript_id = 'bootscript_id_example'; // string

try {
    $result = $apiInstance->getBootscript($zone, $bootscript_id);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling BootscriptsApi->getBootscript: ', $e->getMessage(), PHP_EOL;
}

API端点

所有URI都是相对于https://api.scaleway.com

模型

授权

为API定义的认证方案

scaleway

  • 类型: API密钥
  • API密钥参数名: X-Auth-Token
  • 位置: HTTP头

测试

要运行测试,使用

composer install
vendor/bin/phpunit

作者

关于此包

此PHP包是由OpenAPI Generator项目自动生成的

  • API版本: v1
  • 构建包: org.openapitools.codegen.languages.PhpClientCodegen