Criação de BMSs
Função
Esta API é usada para criar um ou mais BMSs.
Plano de fundo para definir o modo de autenticação de logon
O logon em um BMS pode ser autenticado usando um par de chaves ou senha. Para fins de segurança, é aconselhável usar a autenticação de par de chaves.
- Par de chaves
Um par de chaves é usado para autenticação de logon do BMS.
Método de chamada das APIs: use o campo key_name para especificar o arquivo de chave usado para efetuar logon no BMS. Para obter detalhes sobre como usar o campo key_name, consulte Tabela 2.
- Senha
Se você escolher a senha inicial para autenticação em um BMS, poderá fazer logon em um BMS usando o nome de usuário e sua senha inicial. A senha inicial do usuário root é usada para autenticação no Linux, enquanto a do usuário Administrator é usada para autenticação no Windows.
Métodos de chamada de APIs:
- Método 1 (recomendado): use o campo adminPass para especificar a senha de logon inicial da conta de administrador especificada. Para obter detalhes sobre como usar o campo adminPass, consulte Tabela 2.
Para BMSs de Linux com Cloud-Init, se o campo user_data for especificado, o campo adminPass será inválido. Para BMSs do Windows com Cloudbase-Init, se admin_pass nos metadata do campo for especificado, o campo adminPass será inválido.
- Método 2:
As imagens públicas contêm Cloud-Init ou Cloudbase-Init por padrão. Para imagens privadas, você precisa verificar se o Cloud-Init ou o Cloudbase-Init está instalado.
- Método 1 (recomendado): use o campo adminPass para especificar a senha de logon inicial da conta de administrador especificada. Para obter detalhes sobre como usar o campo adminPass, consulte Tabela 2.
Restrições
- A injeção de arquivos não é suportada.
- Atualmente, apenas BMSs anuais/mensais podem ser criados.
- As imagens do Marketplace não podem ser usadas para criar BMSs.
Precauções
- Se o modo de autenticação AK/SK for usado, defina a região no código de exemplo com base na coluna Region da seção "Bare Metal Server (BMS)" em Regiões e pontos de extremidade e defina serviceName (abreviação do nome do serviço) como BMS.
- Para obter detalhes sobre pontos de extremidade, consulte a coluna Endpoint da seção "Bare Metal Server (BMS)" em Regiões e pontos de extremidade.
URI
POST /v1/{project_id}/baremetalservers
Tabela 1 lista os parâmetros.
Parâmetro |
Obrigatório |
Descrição |
---|---|---|
project_id |
Sim |
Especifica o ID do projeto. Para obter detalhes de como conseguir o ID de domínio, consulte Obtenção de um ID de projeto. |
Solicitação
- Parâmetros de solicitação
Parâmetro
Obrigatório
Tipo
Descrição
server
Sim
Object
Especifica as informações do BMS. Para mais detalhes, consulte Tabela 2.
Tabela 2 Descrição da estrutura de dados do campo server Parâmetro
Obrigatório
Tipo
Descrição
imageRef
Sim
String
Especifica o ID da imagem ou o URL do recurso de imagem usado para criar o BMS. O ID está no formato de um Identificador Universal Exclusivo (UUID).
Você pode obter o ID da imagem no console do IMS ou seguindo as instruções em Consulta de imagens na Referência de API do Image Management Service.
Ao usar uma API para consultar imagens, você pode adicionar o campo ?virtual_env_type=Ironic para filtrar imagens do BMS.
flavorRef
Sim
String
Especifica o ID de flavor do BMS. O formato é physical.x.x.
Você pode obter o ID do flavor no console do BMS ou usando a API de Consulta de flavors do BMS (API OpenStack nativo).
NOTA:Para obter detalhes sobre as imagens suportadas por diferentes tipos de BMSs, consulte SOs suportados por diferentes tipos de BMSs.
Somente os locatários do DeC podem solicitar BMSs usando o flavor physical.x.x.hba, e somente os discos de DESS podem ser anexados a BMSs usando esse flavor.
name
Sim
String
Especifica o nome do BMS.
Intervalo de valores:
- O valor pode conter no máximo 63 caracteres consistindo de letras (sem distinção entre maiúsculas e minúsculas), dígitos, sublinhados (_), hifens (-) e pontos (.).
- Se mais de um BMS for criado, as tags semelhantes a -0000 serão adicionadas automaticamente ao final dos nomes do BMS durante a criação. Nesse caso, o nome do BMS contém de 1 a 58 caracteres.
metadata
Sim
Object
Especifica os metadados do BMS. O tamanho máximo para a key de metadados e o value é de 255 caracteres. Para mais detalhes, consulte Tabela 3.
user_data
Não
String
Especifica os dados do usuário a serem injetados durante a criação do BMS. Texto, arquivos de texto e arquivos .gzip podem ser injetados.
Restrições:
- O conteúdo a ser injetado deve ser codificado com base64. O tamanho máximo do conteúdo a ser injetado (antes da codificação) é de 32 KB.
- Se key_name não for especificado, a senha do usuário root para efetuar logon no BMS será injetada por padrão.
- Esse parâmetro é obrigatório quando você cria um BMS de Linux usando o modo de autenticação de senha. Seu valor é a senha inicial do usuário root.
Requisitos de complexidade de senha:
- Contém de 8 a 26 caracteres.
- Contém pelo menos três dos seguintes tipos de caracteres: letras maiúsculas, letras minúsculas, dígitos e caracteres especiais !@$%^-_=+[{}]:,./?
Um exemplo é o seguinte:
- Use uma senha de texto não criptografado (arriscada em segurança), por exemplo, cloud.1234.
1 2
#!/bin/bash echo 'root:Cloud.1234' | chpasswd ;
- Use uma senha.
1 2
#!/bin/bash echo 'root:$6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig' | chpasswd -e
onde, $6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig é a senha do texto cifrado, que pode ser gerada da seguinte forma:
- Gera um valor salt criptografado.
1 2
[root@test linux]# python -c "import crypt, getpass, pwd;print crypt.mksalt()" $6$V6azyeLwcD3CHlpY
- Gera uma senha de texto cifrado com base no valor salt.
1 2
[root@test linux]# python -c "import crypt, getpass, pwd;print crypt.crypt('Cloud.1234','\$6\$V6azyeLwcD3CHlpY')" $6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig
NOTA:A injeção de dados não é suportada para BMSs que usam uma imagem do Linux e o modo de logon por senha. Para obter detalhes sobre como injetar dados do usuário, consulte injeção de dados do usuário em BMSs.
adminPass
Não
String
Especifica a senha de logon inicial da conta do administrador para efetuar logon em um BMS usando autenticação de senha. O administrador do Linux é root e o administrador do Windows é Administrator.
Requisitos de complexidade de senha:- Contém de 8 a 26 caracteres.
- Contém pelo menos três dos seguintes tipos de caracteres: letras maiúsculas, letras minúsculas, dígitos e caracteres especiais !@$%^-_=+[{}]:,./?
- (SOs de Linux) Não pode conter o nome de usuário ou o nome de usuário inverso.
- (SOs de Windows) Não pode conter o nome de usuário, o nome de usuário na ordem inversa ou mais de dois caracteres consecutivos no nome de usuário.
key_name
Não
String
Especifica o nome de um par de chaves. Este é um atributo estendido. Para efetuar logon em BMSs usando um par de chaves SSH, defina o valor como o nome de uma chave privada existente.
Você pode criar um par de chaves usando a API de Criação e importação de um par de chaves SSH (API OpenStack nativo) ou consultar pares de chaves existentes usando a API de Consulta de pares de chaves SSH (API OpenStack nativo).
Restrições:
- Se ambos key_name e user_data forem especificados, user_data somente injetará dados do usuário.
- Quando uma imagem do Windows é usada para criar um BMS, esse parâmetro não pode ser deixado em branco porque a imagem do Windows oferece suporte apenas ao logon usando uma chave.
- Para efetuar logon em um BMS do Windows, descriptografe o par de chaves para obter uma senha e use-a para efetuar logon remotamente no BMS. Para obter detalhes, consulte Logon usando uma senha de MSTSC.
security_groups
Não
Array of objects
Especifica grupos de segurança do BMS. Para mais detalhes, consulte Tabela 4.
nics
Sim
Array of objects
Especifica as NICs do BMS. Para mais detalhes, consulte Tabela 5.
Restrições:
Um máximo de duas NICs podem ser conectados a um BMS. O primeiro será usado como a NIC principal. Se várias NICs forem especificadas, verifique se todas as NICs pertencem à mesma VPC.
availability_zone
Sim
String
Especifica o nome da AZ onde o BMS está localizado.
Consulte Regiões e pontos de extremidade.
vpcid
Sim
String
Especifica o ID da VPC ao qual o BMS pertence. O valor está no formato UUID. Você pode obter o ID da VPC no console da rede ou seguindo as instruções em Consulta de detalhes da VPC em Referência de API da Virtual Private Cloud.
publicip
Não
Object
Especifica as informações de EIP do BMS. Os valores possíveis incluem:
- Do not use (Este parâmetro não está disponível.)
- Automatically assign: atribuir um novo EIP.
- Specify: especificar um EIP que foi criado.
Para mais detalhes, consulte Tabela 6.
count
Não
Integer
Especifica o número de BMSs a serem criados.
Restrições:
- Se este parâmetro não for especificado, o valor padrão é 1.
- Se a cota for suficiente, o valor máximo é 24.
root_volume
Não
Object
Especifica as configurações de disco do sistema do BMS. Para mais detalhes, consulte Tabela 7.
Restrições:
esse parâmetro é obrigatório se o flavor oferecer suporte ao provisionamento rápido do BMS. Para saber como verificar se o flavor oferece suporte ao provisionamento rápido do BMS, consulte a seção Consulta de detalhes sobre parâmetros extra_specs de um flavor do BMS (API OpenStack nativo).
data_volumes
Não
Array of objects
Especifica as configurações de disco de dados do BMS. Cada estrutura de dados representa um disco de dados a ser criado. Para mais detalhes, consulte Tabela 8.
Restrições:
um máximo de 60 discos do EVS (incluindo o disco do sistema e os discos de dados) podem ser conectados a um BMS.
extendparam
Sim
Object
Especifica o complementar para criar o BMS. Para mais detalhes, consulte Tabela 9.
schedulerHints
Não
Object
Especifica as informações de agendamento do BMS. Este parâmetro é obrigatório para criar um BMS em um DeC.
Para mais detalhes, consulte Tabela 10.
server_tags
Não
Map<String,String>
Especifica as tags do BMS.
- Chave: uma chave de tag contém um máximo de 36 caracteres Unicode. Não pode ser deixado em branco. A chave de tag de um BMS deve ser exclusiva. Não pode conter caracteres ASCII (0-31) ou caracteres especiais =*<>\,|/
- Valor: um valor de tag contém no máximo 43 caracteres Unicode e pode ser deixado em branco. Não pode conter caracteres ASCII (0-31) ou caracteres especiais =*<>\,|/
NOTA:Um máximo de 10 tags podem ser adicionadas a um BMS. O __type_baremetal é uma tag interna do sistema. Portanto, você pode adicionar um máximo de nove tags.
Tabela 3 Descrição da estrutura de dados do campo metadata Parâmetro
Obrigatório
Tipo
Descrição
op_svc_userid
Sim
String
Especifica o ID do usuário. Você pode obter o ID do usuário em My Credential no console de gerenciamento.
BYOL
Não
String
Especifica se uma licença é fornecida. O valor pode ser true ou false.
admin_pass
Não
String
Especifica a senha do administrador do BMS criado usando uma imagem do Windows.
Requisitos de complexidade de senha:- Contém de 8 a 26 caracteres.
- Contém pelo menos três dos seguintes tipos de caracteres: letras maiúsculas, letras minúsculas, dígitos e caracteres especiais !@$%^-_=+[{}]:,./?
- Não pode conter o nome de usuário, o nome de usuário inverso ou mais de dois caracteres consecutivos no nome de usuário.
agency_name
Não
String
Especifica o nome da agência do IAM.
Uma agência fornece uma credencial de segurança temporária para acessar um BMS. A agência é criada pelo administrador do locatário no console do IAM.
NOTA:Para obter e atualizar uma agência, execute as seguintes etapas:
- Você pode obter um nome de agência válido usando a API Listagem de agências fornecida pelo IAM.
- Use a seção Atualização dos metadados de uma API do BMS para alterar o valor do campo agency_name nos metadados para o novo nome da agência.
Tabela 4 Descrição da estrutura de dados do campo security_groups Parâmetro
Obrigatório
Tipo
Descrição
id
Não
String
Especifica o ID do grupo de segurança, que entra em vigor para todas as NICs configuradas para o BMS.
- Se esse parâmetro não for especificado, o grupo de segurança padrão será vinculado ao BMS.
- Se esse parâmetro for necessário (no formato UUID), use o ID de um grupo de segurança existente. Para obter detalhes sobre como obter grupos de segurança existentes, consulte Consulta de grupos de segurança em Referência de API da Virtual Private Cloud .
Tabela 5 Descrição da estrutura de dados do campo nics Parâmetro
Obrigatório
Tipo
Descrição
subnet_id
Sim
String
Especifica as informações de sub-rede de uma NIC do BMS.
O valor deve ser o ID da sub-rede (network_id) criada na VPC especificada por vpcid e no formato de UUID. Você pode obter o ID da sub-rede (network_id) no console do VPC ou seguindo as instruções em Consulta de sub-redes em Referência de API da Virtual Private Cloud.
port_id
Não
String
Especifica o ID da NIC do BMS. Se esse parâmetro não for deixado em branco, uma NIC será especificada. Nesse caso, subnet_id, security_groups, ip_address, ipv6_enable e ipv6_bandwidth são inválidos.
Você pode obter o ID da NIC no console da VPC ou seguindo as instruções em Consulta de portas em Referência de API da Virtual Private Cloud.
Restrições:
- A NIC deve estar no estado DOWN.
- O ID da VPC da NIC deve corresponder à VPC do BMS.
ip_address
Não
String
Especifica o endereço IPv4 de uma NIC do BMS.
Restrições:
- Se este parâmetro for deixado em branco ou definido como "", um endereço IP não utilizado na sub-rede desta rede será atribuído automaticamente como o endereço IP da NIC.
- Se este parâmetro for especificado, o seu valor tem de ser um endereço IP não utilizado no segmento de rede da sub-rede.
- O endereço IP não pode ser especificado quando você cria BMSs em um lote.
Tabela 6 Descrição da estrutura de dados do campo publicip Parâmetro
Obrigatório
Tipo
Descrição
id
Não
String
Especifica o ID de um EIP existente atribuído ao BMS. O valor está no formato UUID. Você pode obter o ID do EIP no console de rede ou seguindo as instruções em Consulta de EIPs na Referência de API do Elastic IP.
Restrições:
- Somente EIPs no estado DOWN podem ser atribuídos.
- Os EIPs existentes não podem ser usados para criar BMSs em um lote. Ou seja, esse parâmetro é inválido nesse caso.
eip
Não
Object
Especifica a configuração para criar um EIP que será atribuído automaticamente ao BMS. Para mais detalhes, consulte Tabela 11.
Você pode configurar um ou outro, mas não ambos, id e eip no campo publicip.
Tabela 7 Descrição da estrutura de dados do campo root_volume Parâmetro
Obrigatório
Tipo
Descrição
volumetype
Sim
String
Especifica o tipo de disco do sistema do BMS. O tipo de disco deve corresponder ao tipo de disco disponível.
- GPSSD: tipo de disco SSD de uso geral
- SAS: tipo de disco de alta I/O
- SSD: tipo de disco de I/O ultra-alta
size
Sim
Integer
Especifica o tamanho do disco do sistema (GB). O valor varia de 40 a 1024.
Restrições:
o tamanho do disco do sistema deve ser maior ou igual ao tamanho mínimo do disco do sistema da imagem (atributo min_disk).
cluster_id
Não
String
Especifica o ID do pool de armazenamento ao qual o disco do sistema do BMS pertence.
NOTA:- Esse parâmetro é necessário quando o Dedicated Distributed Storage Service (DSS) é usado.
cluster_type
Não
String
Especifica o tipo de armazenamento do disco do sistema do BMS. Um valor de exemplo é DSS, que indica o serviço DSS.
NOTA:- Este parâmetro é exigido quando o DSS é usado.
Tabela 8 Descrição da estrutura de dados do campo data_volumes Parâmetro
Obrigatório
Tipo
Descrição
volumetype
Sim
String
Especifica o tipo de disco de dados do BMS. O tipo de disco deve corresponder ao tipo de disco disponível.
- GPSSD: tipo de disco SSD de uso geral
- SAS: tipo de disco de alta I/O
- SSD: tipo de disco de I/O ultra-alta
size
Sim
Integer
Especifica o tamanho do disco de dados (GB). O valor varia de 10 a 32768.
shareable
Não
Boolean
Especifica se o disco é compartilhável.
- true: disco de EVS compartilhado
- false: disco comum do EVS
O valor padrão é false.
cluster_id
Não
String
Especifica o ID do pool de armazenamento ao qual pertencem os discos de dados do BMS.
NOTA:- Esse parâmetro é necessário quando o Dedicated Distributed Storage Service (DSS) é usado.
cluster_type
Não
String
Especifica o tipo de armazenamento dos discos de dados do BMS. Um valor de exemplo é DSS, que indica o serviço DSS.
NOTA:- Este parâmetro é exigido quando o DSS é usado.
Tabela 9 Descrição da estrutura de dados do campo extendparam Parâmetro
Obrigatório
Tipo
Descrição
chargingMode
Não
String
Especifica o modo de cobrança. Intervalo de valores:
prePaid: modo de faturamento anual/mensal.
O valor padrão é prePaid.
regionID
Não
String
Especifica o ID da região onde o BMS reside.
Consulte Regiões e endpoints.
periodType
Não
String
Especifica o período de subscrição. Intervalo de valores:
- month: indica que a unidade de assinatura é mês.
- year: indica que a unidade de assinatura é ano.
NOTA:Este parâmetro é válido e obrigatório se chargingMode estiver definido como prePaid.
periodNum
Não
Integer
Especifica o número de períodos de assinatura. Intervalo de valores:
- Se periodType for month, o valor varia de 1 a 9.
- Se periodType for year, o valor será 1.
NOTA:Este parâmetro é válido e obrigatório se chargingMode estiver definido como prePaid.
isAutoRenew
Não
String
Especifica se a renovação automática está habilitada.
- true: indica que a renovação automática está habilitada.
- false: indica que a renovação automática está desativada.
NOTA:Este parâmetro é válido quando chargingMode é definido como prePaid. Se este parâmetro não for especificado ou for deixado em branco, a renovação automática será desativada.
isAutoPay
Não
String
Especifica se o pedido é pago automática ou manualmente.
- true: o pedido será pago automaticamente.
- false: você deve pagar manualmente o pedido.
NOTA:Este parâmetro é válido quando chargingMode é definido como prePaid. Se esse parâmetro não for especificado ou for deixado em branco, o pagamento manual será necessário.
Tabela 10 Descrição da estrutura de dados do campo schedulerHints Parâmetro
Obrigatório
Tipo
Descrição
dec_baremetal
Não
String
Especifica se o BMS deve ser criado em um DeC. O valor pode ser shared ou dedicate.
Restrições:
- Se este parâmetro não for especificado, o valor padrão é share.
- Para criar um BMS em um DeC, defina este parâmetro para dedicate.
Tabela 11 Descrição da estrutura de dados do campo eip Parâmetro
Obrigatório
Tipo
Descrição
iptype
Sim
String
Especifica o tipo de EIP.
Valores enumerados: 5_bgp e 5_sbgp
Para obter detalhes, consulte o campo publicip em Atribuição de um EIP em Referência de API do Elastic IP.
bandwidth
Sim
Object
Especifica a largura de banda EIP. Para mais detalhes, consulte Tabela 12.
extendparam
Sim
Object
Fornece informações adicionais sobre o EIP. Para mais detalhes, consulte Tabela 13.
Tabela 12 Descrição da estrutura de dados do campo bandwidth Parâmetro
Obrigatório
Tipo
Descrição
name
Não
String
Especifica o nome da largura de banda.
sharetype
Sim
String
Especifica o tipo de compartilhamento de largura de banda.
O valor PER indica largura de banda dedicada e WHOLE indica largura de banda compartilhada.
id
Não
String
Especifica o ID da largura de banda compartilhada. Você pode especificar uma largura de banda compartilhada existente ao solicitar um EIP com uma largura de banda WHOLE.
NOTA:Este parâmetro é obrigatório quando sharetype é definido como WHOLE.
size
Sim
Integer
- O valor varia de 5 Mbit/s a 2000 Mbit/s por padrão. (O intervalo específico pode variar dependendo da configuração em cada região. Você pode visualizar o intervalo de largura de banda de cada região no console de gerenciamento.)
- Especifica a largura de banda (Mbit/s). A largura de banda mínima compartilhada é de 5 Mbit/s por padrão.
NOTA:- Se uma fração decimal (por exemplo 10.2) ou uma cadeia de caracteres (por exemplo 10) for especificada, o valor especificado será automaticamente convertido em um inteiro. Se a largura de banda for inferior a 300 Mbit/s, o passo é 1 Mbit/s. Se a largura de banda for de 300 Mbit/s a 1000 Mbit/s, o passo será de 50 Mbit/s. Se a largura de banda for de 1000 Mbit/s a 2000 Mbit/s, o passo será de 1000 Mbit/s.
- Este parâmetro é obrigatório quando sharetype é definido como PER e é opcional quando sharetype é definido como WHOLE com um ID especificado.
chargemode
Não
String
Especifica o modo de faturamento da largura de banda.
O valor pode ser traffic ou bandwidth.
- Se este campo não for especificado, o modo de faturamento é largura de banda.
- Se este campo não for especificado, o modo de faturamento é largura de banda.
Tabela 13 Descrição da estrutura de dados do campo extendparam para atribuir um EIP Parâmetro
Obrigatório
Tipo
Descrição
chargingMode
Sim
String
Especifica o modo de faturamento de um EIP. Se o modo de cobrança de largura de banda for bandwidth, ambos prePaid e postPaid são suportados. Se o modo de cobrança de largura de banda for traffic, apenas o postPaid é suportado.
Intervalo de valores:
- prePaid: modo de faturamento anual/mensal.
- postPaid: indica o modo de faturamento de pagamento por uso.
NOTA:Se sharetype no campo bandwidth estiver definido como WHOLE com um ID especificado, somente EIPs de pagamento por uso serão permitidos e o parâmetro prePaid não estará disponível.
- Exemplo de solicitação (criação de um BMS cobrado no modo anual/mensal e com o modo de logon de senha)
1
POST https://{BMS Endpoint}/v1/{project_id}/baremetalservers
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
{ "server": { "availability_zone": "az1", "name": "bms-75c7", "imageRef": "766a545a-02e1-433e-b1d1-733b5dc95e94", "flavorRef": "physical.s3.large", "data_volumes": [ { "volumetype": "SAS", "size": 10, "shareable": false } ], "vpcid": "8df83bf2-fd2e-4ee0-9692-c0b7736513fb", "nics": [ { "subnet_id": "c6bb8788-4fd1-4a8f-adab-7eba3bed8616", "ip_address": "" } ], "count": 1, "schedulerHints": { "dec_baremetal": "share" }, "extendparam": { "chargingMode": "prePaid", "periodType": "month", "periodNum": 1, "isAutoRenew": "true", "isAutoPay": "true", "regionID": "region01" }, "metadata": { "op_svc_userid": "59781460e9e54886a7d03df7d3f3fc81", "BYOL": "false", "admin_pass": "" }, "publicip": { "id": "1b036bce-26b4-465c-acea-99fdbb0573a3" }, "user_data": "IyEvYmluL2Jhc2gKZWNobyAncm9vdDokNiR0Y0pZamUkNGhhUHlNZFR4VWVHc2dTMWFmL1NsMm4vbXZzdy5wSFdjbTVBc084OWFhUFhGNXUvVnJ5OXJiYmZZSW45SmZac2k3SlRmd2Z6djJPbTBHRFZUZTd6RDEnIHwgY2hwYXNzd2QgLWU7", "security_groups": [ { "id": "993f2916-5bad-4f24-bc3c-db539f1a6d19" } ] } }
- Exemplo de solicitação (criação de um BMS de Linux cobrado no modo anual/mensal e com o modo de logon do par de chaves)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
{ "server": { "availability_zone": "az1", "name": "bms-3b91", "imageRef": "766a545a-02e1-433e-b1d1-733b5dc95e94", "flavorRef": "physical.o2.large", "data_volumes": [ { "volumetype": "SAS", "size": 10, "shareable": true } ], "vpcid": "8df83bf2-fd2e-4ee0-9692-c0b7736513fb", "nics": [ { "subnet_id": "c6bb8788-4fd1-4a8f-adab-7eba3bed8616", "ip_address": "" }, { "subnet_id": "2b8bcf33-33f2-4a63-aa9c-b1e17ff0ed7f", "ip_address": "" } ], "count": 1, "schedulerHints": { "dec_baremetal": "share" }, "extendparam": { "chargingMode": "prePaid", "periodType": "month", "periodNum": 1, "isAutoRenew": "true", "isAutoPay": "true", "regionID": "region01" }, "metadata": { "op_svc_userid": "59781460e9e54886a7d03df7d3f3fc81", "BYOL": "false" }, "publicip": { "eip": { "iptype": "5_bpg", "bandwidth": { "chargemode": "", "name": "bms-3b91-bandwidth", "size": 1, "sharetype": "PER" } "extendparam": { "chargingMode": "prePaid", } } }, "security_groups": [ { "id": "993f2916-5bad-4f24-bc3c-db539f1a6d19" } ], "key_name": "KeyPair-zbb29" } }
Veja a seguir um exemplo de user_data gerado pela linguagem Java:
1 2 3
String userData_org = "#!/bin/bash \r\n echo 'root:xxxxx' | chpasswd ;"; byte[] userData_byte = userData_org.getBytes(); String userData = new BASE64Encoder().encode(userData_byte);
- Exemplo de solicitação (criação de um BMS de Windows cobrado no modo anual/mensal e com o modo de login do par de chaves)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
{ "server": { "availability_zone": "az1", "name": "bms-6a1e", "imageRef": "fd04041a-5f35-45ae-a27c-bf30f921c6b5", "flavorRef": "physical.s3.large", "data_volumes": [ { "volumetype": "SAS", "size": 10, "shareable": false } ], "vpcid": "0adc2847-c160-4263-be1f-e03d36e93e32", "nics": [ { "subnet_id": "4f1cf6cc-4cc3-41d3-8192-625293dccce0", "ip_address": "" } ], "count": 1, "schedulerHints": { "dec_baremetal": "share" }, "extendparam": { "chargingMode": "prePaid", "periodType": "month", "periodNum": 1, "isAutoRenew": "true", "isAutoPay": "true", "regionID": "region1" }, "metadata": { "op_svc_userid": "8a74baed155b47e8b59fbca853d6cb48", "BYOL": "false" }, "publicip": { "id": "db9c4f39-fabd-4cc2-8685-82e7715d099f" }, "user_data": "cWF6PTEyMw==", "security_groups": [ { "id": "33cf5e40-0b65-4e03-867d-4c67947c49be" } ], "key_name": "KeyPair-Maoz" } }
-
{ "server": { "name": "bms-roce-test", "availability_zone": "cn-arm", "flavorRef": "physical.kat1.8xlarge.ondemand", "imageRef": "6a299c39-f558-4912-b982-fc993a6ed5fd", "vpcid": "844ecdc5-8c81-4caa-a3f4-7de41c7ee96e", "nics": [ { "subnet_id": "18cea8f7-1892-42b0-ab4e-ea4287514c2e" }, { "subnet_id": "270dc482-a624-4cef-b90d-42d272917bea" } ], "security_groups": [ { "id": "bc2ebcf9-29c9-4679-bdc4-316e638c059d" } ], "extendparam": { "chargingMode": 0, "regionID": "cn-xian-3" }, "metadata": { "op_svc_userid": "e81efc34179c4186bd2bd4f9a2378cac", "BYOL": "false" }, "server_tags": [], "user_data": "IyEvYmluL2Jhc2gKZWNobyAncm9vdDokNiRzTFRVRzMkajN6VXVTREw4cnFMam1jZTJhQVpQZ3JIYUp0ejk0WmdmaUhtYXljRUdsS1BXOS9EVjlpTjR4cFRpTE1KYnVPTjVsdG1uSHF5bTZNc2Q4T0F5dHRkTTAnIHwgY2hwYXNzd2QgLWU7", "count": 1 } }
-
{ "server": { "name": "bms-75c7", "availability_zone": "az1", "flavorRef": "physical.kat1.8xlarge.ondemand", "imageRef": "6a299c39-f558-4912-b982-fc993a6ed5fd", "vpcid": "844ecdc5-8c81-4caa-a3f4-7de41c7ee96e", "root_volume": { "size": 40, "volumetype": "SSD" }, "nics": [ { "subnet_id": "18cea8f7-1892-42b0-ab4e-ea4287514c2e" }, { "subnet_id": "270dc482-a624-4cef-b90d-42d272917bea" } ], "security_groups": [ { "id": "bc2ebcf9-29c9-4679-bdc4-316e638c059d" } ], "extendparam": { "chargingMode": 0, "regionID": "cn-xian-3" }, "metadata": { "op_svc_userid": "e81efc34179c4186bd2bd4f9a2378cac", "BYOL": "false" }, "server_tags": [], "user_data": "IyEvYmluL2Jhc2gKZWNobyAncm9vdDokNiRzTFRVRzMkajN6VXVTREw4cnFMam1jZTJhQVpQZ3JIYUp0ejk0WmdmaUhtYXljRUdsS1BXOS9EVjlpTjR4cFRpTE1KYnVPTjVsdG1uSHF5bTZNc2Q4T0F5dHRkTTAnIHwgY2hwYXNzd2QgLWU7", "count": 1 } }
Resposta
- Parâmetros de resposta
Parâmetro |
Tipo |
Descrição |
---|---|---|
order_id |
String |
Especifica o ID do pedido devolvido após o envio de um pedido. Você pode consultar o andamento do processamento do pedido com base no ID. Para consultar o andamento do processamento de pedidos, faça logon no console de gerenciamento e escolha Billing > My Orders. |
job_id |
String |
Especifica o ID de tarefa retornada após a emissão de um comando de tarefa. O ID da tarefa pode ser usado para consultar o status de execução da tarefa. Para obter detalhes sobre como consultar o status de execução da tarefa com base em job_id, consulte Consulta do status de tarefas. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
error |
Estrutura de dados do dicionário [1] |
Especifica o erro retornado quando um envio de tarefa encontra uma exceção. Para obter detalhes, consulte estrutura de dados de erro. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
message |
String |
Especifica a mensagem de erro. |
code |
String |
Especifica o código de erro. |
Exemplo de resposta
- Resposta normal
{ "order_id": "CS2009141523OQSEQ", "job_id": "ff808081748b760c01748b7f80370003" }
Valores retornados
Valores retornados |
Descrição |
---|---|
200 |
A solicitação foi processada com sucesso. |
Para obter detalhes sobre outros valores retornados, consulte Códigos de status.
Códigos de erro
Consulte Códigos de erro.