Consulta dos servidores protegidos contra ransomware
Função
Essa API é usada para consultar a lista de servidores protegidos contra ransomware. Essa API precisa ser usada em conjunto com o Cloud Backup and Recovery (CBR). Certifique-se de que o site tenha CBR antes de usar APIs relacionadas a ransomware.
Método de chamada
Para obter detalhes, consulte Chamada de APIs.
URI
GET /v5/{project_id}/ransomware/server
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
project_id |
Sim |
String |
ID do projeto Mínimo: 1 Máximo: 256 |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
enterprise_project_id |
Não |
String |
ID do projeto empresarial. Para consultar todos os projetos empresariais, defina este parâmetro como all_granted_eps. Padrão: 0 Mínimo: 1 Máximo: 256 |
offset |
Não |
Integer |
Deslocamento, que especifica a posição inicial do registro a ser retornado. O valor deve ser um número não menor que 0. O valor padrão é 0. Mínimo: 0 Máximo: 2000000 Padrão: 0 |
limit |
Não |
Integer |
Número de registros exibidos em cada página. Mínimo: 10 Máximo: 200 Padrão: 10 |
host_name |
Não |
String |
Nome de servidor |
os_type |
Não |
String |
Tipo de SO. Seu valor pode ser:
Mínimo: 0 Máximo: 64 |
host_ip |
Não |
String |
Endereço IP do servidor Mínimo: 0 Máximo: 256 |
host_status |
Não |
String |
Status do servidor. Seu valor pode ser:
Mínimo: 1 Máximo: 32 |
last_days |
Não |
Integer |
Número de dias no intervalo de tempo de consulta. Para consultar registros nos últimos sete dias, defina last_days=7. Se esse parâmetro não for especificado, os eventos e backups existentes no último dia serão consultados por padrão. Mínimo: 1 Máximo: 30 |
Parâmetros de solicitação
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
X-Auth-Token |
Sim |
String |
Token do usuário. Ele pode ser obtido chamando a API do IAM usada para obter um token de usuário. O valor de X-Subject-Token no cabeçalho da resposta é um token. Mínimo: 1 Máximo: 32768 |
region |
Sim |
String |
ID da região Mínimo: 0 Máximo: 128 |
Parâmetros de resposta
Código de status: 200
Parâmetro |
Tipo |
Descrição |
---|---|---|
total_num |
Integer |
Número total Mínimo: 0 Máximo: 2097152 |
data_list |
Array of ProtectionServerInfo objects |
Consultar os servidores protegidos contra ransomware. Comprimento da matriz: 0–10241 |
Parâmetro |
Tipo |
Descrição |
---|---|---|
host_id |
String |
ID de servidor Mínimo: 0 Máximo: 128 |
agent_id |
String |
ID do agente Mínimo: 0 Máximo: 128 |
host_name |
String |
Nome de servidor Mínimo: 0 Máximo: 128 |
host_ip |
String |
EIP Mínimo: 0 Máximo: 128 |
private_ip |
String |
Endereço IP privado Mínimo: 0 Máximo: 128 |
os_type |
String |
Tipo de SO. Seu valor pode ser:
Mínimo: 0 Máximo: 128 |
os_name |
String |
Nome de SO Mínimo: 0 Máximo: 128 |
host_status |
String |
Status do servidor. As opções são as seguintes:
Mínimo: 1 Máximo: 32 |
ransom_protection_status |
String |
Status de proteção contra ransomware. As opções são as seguintes:
Mínimo: 0 Máximo: 128 |
agent_version |
String |
Versão do agente Mínimo: 1 Máximo: 128 |
protect_status |
String |
Status de proteção. Seu valor pode ser:
Mínimo: 1 Máximo: 32 |
group_id |
String |
ID do grupo de servidores Mínimo: 1 Máximo: 128 |
group_name |
String |
Nome do grupo de servidores Mínimo: 1 Máximo: 128 |
protect_policy_id |
String |
ID da política Mínimo: 1 Máximo: 128 |
protect_policy_name |
String |
Nome da política de proteção Mínimo: 1 Máximo: 128 |
backup_error |
backup_error object |
Mensagem de erro de backup |
backup_protection_status |
String |
Se deve ativar o backup. As opções são as seguintes:
Mínimo: 0 Máximo: 128 |
count_protect_event |
Integer |
Número de eventos de proteção Mínimo: 0 Máximo: 2097152 |
count_backuped |
Integer |
Backups existentes Mínimo: 0 Máximo: 2097152 |
agent_status |
String |
Status do agente Mínimo: 1 Máximo: 128 |
version |
String |
Edição do HSS. Seu valor pode ser:
Mínimo: 1 Máximo: 32 |
host_source |
String |
Indica o tipo de servidor. As opções são as seguintes:
Mínimo: 1 Máximo: 32 |
vault_id |
String |
ID do cofre Mínimo: 0 Máximo: 128 |
vault_name |
String |
Nome do cofre Mínimo: 0 Máximo: 128 |
vault_size |
Integer |
Capacidade total, em GB. Mínimo: 0 Máximo: 2097152 |
vault_used |
Integer |
Capacidade usada, em MB. Mínimo: 0 Máximo: 2097152 |
vault_allocated |
Integer |
Capacidade alocada do servidor vinculado, em GB. Mínimo: 0 Máximo: 2097152 |
vault_charging_mode |
String |
Modo de repositório, o valor pode ser post_paid (pagamento por uso) ou pre_paid. Mínimo: 0 Máximo: 128 |
vault_status |
String |
O status do cofre pode ser:
Mínimo: 0 Máximo: 128 |
backup_policy_id |
String |
Especifica o ID da política de backup. Se esse parâmetro estiver vazio, a política de backup não será vinculada. Se esse parâmetro não estiver vazio, verifique se a política de backup está ativada com base no campo backup_policy_enabled. Mínimo: 1 Máximo: 128 |
backup_policy_name |
String |
Nome da política de backup Mínimo: 1 Máximo: 128 |
backup_policy_enabled |
Boolean |
Se a política está ativada |
resources_num |
Integer |
Servidores vinculados Mínimo: 0 Máximo: 2097152 |
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
Integer |
Código de erro. As opções são as seguintes:
Mínimo: 0 Máximo: 128 |
error_description |
String |
Descrição do erro Mínimo: 1 Máximo: 128 |
Exemplo de solicitações
Consultar a lista de servidores de proteção contra ransomware. Se o parâmetro limit não for definido, 10 registros serão retornados por padrão.
GET https://{endpoint}/v5/{project_id}/ransomware/server
Exemplo de respostas
Código de status: 200
Lista de servidores protegidos contra ransomware
{ "total_num" : 1, "data_list" : [ { "agent_id" : "2758d2a61598fd9144cfa6b201049e7c0af8c3f1280cd24e3ec95a2f0811a2a2", "agent_status" : "online", "backup_error" : { "error_code" : 1, "error_description" : "Backup cannot be enabled because another vault has been bound." }, "ransom_protection_status" : "opened", "backup_protection_status" : "failed_to_turn_on_backup", "count_backuped" : 0, "count_protect_event" : 0, "group_id" : "7c659ea3-006f-4687-9f1c-6d975d955f37", "group_name" : "333", "host_id" : "caa958ad-a481-4d46-b51e-6861b8864515", "host_ip" : "100.85.119.68", "host_name" : "Euler", "host_status" : "ACTIVE", "os_name" : "EulerOS", "os_type" : "Linux", "private_ip" : "100.85.123.9", "protect_policy_id" : "0253edfd-30e7-439d-8f3f-17c54c99706", "protect_policy_name" : "tst", "protect_status" : "opened" } ] }
Código de amostra do SDK
O código de amostra do SDK é o seguinte.
Java
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 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.hss.v5.region.HssRegion; import com.huaweicloud.sdk.hss.v5.*; import com.huaweicloud.sdk.hss.v5.model.*; public class ListProtectionServerSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); HssClient client = HssClient.newBuilder() .withCredential(auth) .withRegion(HssRegion.valueOf("<YOUR REGION>")) .build(); ListProtectionServerRequest request = new ListProtectionServerRequest(); request.withEnterpriseProjectId("<enterprise_project_id>"); request.withOffset(<offset>); request.withLimit(<limit>); request.withHostName("<host_name>"); request.withOsType("<os_type>"); request.withHostIp("<host_ip>"); request.withHostStatus("<host_status>"); request.withLastDays(<last_days>); try { ListProtectionServerResponse response = client.listProtectionServer(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
Python
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 |
# coding: utf-8 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkhss.v5.region.hss_region import HssRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkhss.v5 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = __import__('os').getenv("CLOUD_SDK_AK") sk = __import__('os').getenv("CLOUD_SDK_SK") credentials = BasicCredentials(ak, sk) \ client = HssClient.new_builder() \ .with_credentials(credentials) \ .with_region(HssRegion.value_of("<YOUR REGION>")) \ .build() try: request = ListProtectionServerRequest() request.enterprise_project_id = "<enterprise_project_id>" request.offset = <offset> request.limit = <limit> request.host_name = "<host_name>" request.os_type = "<os_type>" request.host_ip = "<host_ip>" request.host_status = "<host_status>" request.last_days = <last_days> response = client.list_protection_server(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
Go
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 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" hss "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/hss/v5/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := hss.NewHssClient( hss.HssClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.ListProtectionServerRequest{} enterpriseProjectIdRequest:= "<enterprise_project_id>" request.EnterpriseProjectId = &enterpriseProjectIdRequest offsetRequest:= int32(<offset>) request.Offset = &offsetRequest limitRequest:= int32(<limit>) request.Limit = &limitRequest hostNameRequest:= "<host_name>" request.HostName = &hostNameRequest osTypeRequest:= "<os_type>" request.OsType = &osTypeRequest hostIpRequest:= "<host_ip>" request.HostIp = &hostIpRequest hostStatusRequest:= "<host_status>" request.HostStatus = &hostStatusRequest lastDaysRequest:= int32(<last_days>) request.LastDays = &lastDaysRequest response, err := client.ListProtectionServer(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
Mais
Para obter o código de amostra do SDK de mais linguagens de programação, consulte a guia Código de amostra no API Explorer. O código de amostra do SDK pode ser gerado automaticamente.
Códigos de status
Código de status |
Descrição |
---|---|
200 |
Lista de servidores protegidos contra ransomware |
Códigos de erro
Consulte Códigos de erro.