Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-09-20 GMT+08:00

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:
      • Para BMSs de Linux com Cloud-Init, use o campo user_data para injetar dados. Para mais detalhes, consulte Tabela 2.
      • Para BMSs do Windows com Cloudbase-Init, use admin_pass no campo de metadata para injetar dados. Para mais detalhes, consulte Tabela 3.

    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.

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.

Tabela 1 Descrição do parâmetro

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:

    1. Gera um valor salt criptografado.
      1
      2
      [root@test linux]# python -c "import crypt, getpass, pwd;print crypt.mksalt()" 
      $6$V6azyeLwcD3CHlpY
      
    2. 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:

    1. Você pode obter um nome de agência válido usando a API Listagem de agências fornecida pelo IAM.
    2. 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
Tabela 14 Resposta normal

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.

Tabela 15 Resposta anormal

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.

Tabela 16 Estrutura de dados de error

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 normais

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.