Skip to content

Commit 15c8efc

Browse files
feat(hss): add data source to get list of ransomware protection servers (#8396)
1 parent bc788b5 commit 15c8efc

File tree

4 files changed

+833
-1
lines changed

4 files changed

+833
-1
lines changed
Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
1+
---
2+
subcategory: "Host Security Service (HSS)"
3+
layout: "huaweicloud"
4+
page_title: "HuaweiCloud: huaweicloud_hss_ransomware_protection_servers"
5+
description: |-
6+
Use this data source to get the list of ransomware protection servers.
7+
---
8+
9+
# huaweicloud_hss_ransomware_protection_servers
10+
11+
Use this data source to get the list of ransomware protection servers.
12+
13+
## Example Usage
14+
15+
```hcl
16+
data "huaweicloud_hss_ransomware_protection_servers" "test" {}
17+
```
18+
19+
## Argument Reference
20+
21+
The following arguments are supported:
22+
23+
* `region` - (Optional, String) Specifies the region in which to query the resource.
24+
If omitted, the provider-level region will be used.
25+
26+
* `host_name` - (Optional, String) Specifies the server name.
27+
28+
* `host_id` - (Optional, String) Specifies the server ID.
29+
30+
* `os_type` - (Optional, String) Specifies the OS type.
31+
The valid values are as follows:
32+
+ **Linux**
33+
+ **Windows**
34+
35+
* `host_ip` - (Optional, String) Specifies the server EIP.
36+
37+
* `private_ip` - (Optional, String) Specifies the server private IP address.
38+
39+
* `host_status` - (Optional, String) Specifies the handling status.
40+
The valid values are as follows:
41+
+ **ACTIVE**
42+
+ **SHUTOFF**
43+
44+
* `ransom_protection_status` - (Optional, String) Specifies the ransomware protection status.
45+
The valid values are as follows:
46+
+ **closed**
47+
+ **opened**
48+
+ **opening**
49+
+ **closing**
50+
+ **protect_failed**
51+
+ **protect_degraded**
52+
53+
* `protect_policy_name` - (Optional, String) Specifies the ransomware protection policy name.
54+
55+
* `policy_name` - (Optional, String) Specifies the policy name.
56+
57+
* `policy_id` - (Optional, String) Specifies the policy ID.
58+
59+
* `agent_status` - (Optional, String) Specifies the agent status.
60+
The valid values are as follows:
61+
+ **installed**
62+
+ **online**
63+
+ **offline**
64+
+ **install_failed**
65+
+ **installing**
66+
+ **not_installed**
67+
68+
If you want to filter agents in all status except **online**, set this parameter to **not_online**.
69+
70+
* `group_id` - (Optional, String) Specifies the server group ID.
71+
72+
* `group_name` - (Optional, String) Specifies the server group name.
73+
74+
* `last_days` - (Optional, Int) Specifies the query time range.
75+
The valid value ranges from `1` to `30`.
76+
If this parameter is not specified, one day is queried by default.
77+
78+
* `enterprise_project_id` - (Optional, String) Specifies the enterprise project ID.
79+
This parameter is valid only when the enterprise project is enabled.
80+
The default value is **0**, indicating the default enterprise project.
81+
If you need to query data for all enterprise projects, the value is **all_granted_eps**.
82+
If you only have permissions for a specific enterprise project, you need set the enterprise project ID. Otherwise,
83+
the operation may fail due to insufficient permissions.
84+
85+
## Attribute Reference
86+
87+
In addition to all arguments above, the following attributes are exported:
88+
89+
* `id` - The data source ID.
90+
91+
* `data_list` - The list of ransomware protection servers.
92+
93+
The [data_list](#data_list_struct) structure is documented below.
94+
95+
<a name="data_list_struct"></a>
96+
The `data_list` block supports:
97+
98+
* `host_id` - The server ID.
99+
100+
* `agent_id` - The agent ID.
101+
102+
* `host_name` - The server name.
103+
104+
* `host_ip` - The server EIP.
105+
106+
* `private_ip` - The server private IP address.
107+
108+
* `os_type` - The OS type.
109+
110+
* `os_name` - The OS name.
111+
112+
* `host_status` - The server status.
113+
114+
* `project_id` - The project ID.
115+
116+
* `enterprise_project_id` - The enterprise project ID.
117+
118+
* `ransom_protection_status` - The ransomware protection status.
119+
120+
* `ransom_protection_fail_reason` - The ransomware protection failure case.
121+
The valid values are as follows:
122+
+ **driver_load_failed**: Driver loading failed.
123+
+ **protect_interrupted**: Protection interrupted.
124+
+ **decoy_deploy_totally_failed**: All honeypots failed to be deployed.
125+
+ **decoy_deploy_partially_failed**: Some honeypots failed to be deployed.
126+
127+
* `failed_decoy_dir` - The directory where honeypot protection failed.
128+
129+
* `agent_version` - The agent version.
130+
131+
* `protect_status` - The protection status.
132+
The valid values are as follows:
133+
+ **closed**
134+
+ **opened**
135+
136+
* `group_id` - The server group ID.
137+
138+
* `group_name` - The server group name.
139+
140+
* `protect_policy_id` - The protection policy ID.
141+
142+
* `protect_policy_name` - The protection policy name.
143+
144+
* `backup_error` - The backup error message.
145+
146+
The [backup_error](#data_list_backup_error_struct) structure is documented below.
147+
148+
* `backup_protection_status` - Whether to enable backup.
149+
The valid values are as follows:
150+
+ **failed_to_turn_on_backup**
151+
+ **closed**
152+
+ **opened**
153+
154+
* `count_protect_event` - The number of protection events.
155+
156+
* `count_backuped` - The number of existing backups.
157+
158+
* `agent_status` - The agent status.
159+
160+
* `version` - The server protection version.
161+
The valid values are as follows:
162+
+ **hss.version.null**
163+
+ **hss.version.basic**
164+
+ **hss.version.advanced**
165+
+ **hss.version.enterprise**
166+
+ **hss.version.premium**
167+
+ **hss.version.wtp**
168+
+ **hss.version.container.enterprise**
169+
170+
* `host_source` - The server type.
171+
The valid values are as follows:
172+
+ **ecs**
173+
+ **outside**
174+
+ **workspace**
175+
176+
* `vault_id` - The vault ID.
177+
178+
* `vault_name` - The vault name.
179+
180+
* `vault_size` - The vault total capacity, in GB.
181+
182+
* `vault_used` - The vault used capacity, in MB.
183+
184+
* `vault_allocated` - The allocated bound server capacity, in GB.
185+
186+
* `vault_charging_mode` - The vault pay mode.
187+
The valid values are as follows:
188+
+ **post_paid**: Pay-per-use.
189+
+ **pre_paid**: Yearly/monthly.
190+
191+
* `vault_status` - The vault status.
192+
The valid values are as follows:
193+
+ **available**
194+
+ **lock**
195+
+ **frozen**
196+
+ **deleting**
197+
+ **error**
198+
199+
* `backup_policy_id` - The backup policy ID.
200+
201+
* `backup_policy_name` - The backup policy name.
202+
203+
* `backup_policy_enabled` - Whether the backup policy is enabled.
204+
205+
* `resources_num` - The number of bound servers.
206+
207+
<a name="data_list_backup_error_struct"></a>
208+
The `backup_error` block supports:
209+
210+
* `error_code` - The error code.
211+
The valid values are as follows:
212+
+ **0**: No error information.
213+
+ **1**: Backup cannot be enabled because another vault han been bound.
214+
+ **2**: The number of backup vaults exceeds the upper limit.
215+
+ **3**: An exception occurs when the CBR API is called.
216+
217+
* `error_description` - The error message.

huaweicloud/provider.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1422,9 +1422,10 @@ func Provider() *schema.Provider {
14221422
"huaweicloud_hss_policy_groups": hss.DataSourcePolicyGroups(),
14231423
"huaweicloud_hss_product_infos": hss.DataSourceProductInfos(),
14241424
"huaweicloud_hss_quotas": hss.DataSourceQuotas(),
1425-
"huaweicloud_hss_ransomware_protection_policies": hss.DataSourceRansomwareProtectionPolicies(),
14261425
"huaweicloud_hss_ransomware_backup_operation_logs": hss.DataSourceRansomwareBackupOperationLogs(),
14271426
"huaweicloud_hss_ransomware_backup_vaults": hss.DataSourceRansomwareBackupVaults(),
1427+
"huaweicloud_hss_ransomware_protection_policies": hss.DataSourceRansomwareProtectionPolicies(),
1428+
"huaweicloud_hss_ransomware_protection_servers": hss.DataSourceRansomwareProtectionServers(),
14281429
"huaweicloud_hss_rasp_events": hss.DataSourceRaspEvents(),
14291430
"huaweicloud_hss_rasp_policies": hss.DataSourceRaspPolicies(),
14301431
"huaweicloud_hss_rasp_policy_detail": hss.DataSourceRaspPolicyDetail(),

0 commit comments

Comments
 (0)