napche / azure-vm-client
Azure 虚拟机 REST API PHP 库
0.0.4
2019-03-29 07:28 UTC
Requires
- php: >=7.0
- guzzlehttp/guzzle: >=5.3 || >=6.3.3
README
基于 https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines
创建 Azure Active Directory (AAD) 应用程序
AAD 鼓励使用应用程序/服务主体进行应用程序的认证。应用程序/服务主体组合提供了一个服务身份来管理您的 Azure 订阅。有关 AAD 应用程序和服务主体的更多信息,请点击此处。
- 安装 Azure CLI
- 运行
az login
登录 Azure - 运行
az ad sp create-for-rbac
创建具有对当前 Azure 订阅的 Azure 资源管理器访问权限的 Azure Active Directory 应用程序- 如果您想为不同的 Azure 订阅运行此操作,请运行
az account set --subscription '你的订阅名称'
- 如果您想为不同的 Azure 订阅运行此操作,请运行
- 运行
az account list --query "[?isDefault].id" -o tsv
获取您的 Azure 订阅 ID。
az ad sp create-for-rbac
的输出应如下所示
{ "appId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "displayName": "some-display-name", "name": "http://azure-cli-2017-04-03-15-30-52", "password": "XXXXXXXXXXXXXXXXXXXX", "tenant": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" }
值 tenant
、appId
和 password
用于客户端构造函数。
示例用法
use Azure\Entity\VirtualMachine; use Azure\AzureVMClient; use Azure\Profile\StorageProfile; $resourceGroupName = 'new-resource-group'; $client->createResourceGroup($resourceGroupName, $region, $tag); // Create new machine $name = 'new_vm'; $region = 'westeurope'; $machine = new VirtualMachine( $name, $region ); $machine->setResourceGroup( $resourceGroupName ); // Add or change Profiles.. $storage = new StorageProfile(); $machine->setStorageProfile( $storage ); // Create client with instant authentication. $client = new AzureVMClient( $subscriptionId, $tenant, $applicationId, $password ); /* // Create client and authenticate LATER. $client = new AzureVMClient( $subscriptionId ); // Do some other stuff. $client->authenticate($tenant, $applicationId, $password); */ // Create a VM. $client->createVM( $machine ); // Delete afterwards. $client->deleteResourceGroup( $resourceGroupName );