更新时间:2024-10-12 GMT+08:00
使用API购买并查询CFW
前提条件
当前账号拥有BSS Administrator和CFW FullAccess权限。
购买并查询标准版防火墙
- 登录管理控制台。
- 在右上角选择 。
- 在左侧导航栏中,单击“所有产品”,选择 。
- 购买标准版防火墙:选择“创建防火墙”接口,填写关键参数如下,其余参数按需填写:
- Region:选择云资产所在的区域。
- project_id:项目ID,自动获取。
- flavor:填写规格信息。
- version:防火墙版本,本文购买标准版,选择“Standard”, 各版本之间的差异请参见服务版本差异。
- charge_info:填写计费类型信息。
- charge_mode:计费模式,本文购买包年/包月,填写“prePaid”。
- is_auto_renew:是否自动续订,本文以购买一个月为例,选择“false”。
- is_auto_pay:支付方式是否选择自动支付,本文选择自动支付,选择“true”。
- 查询购买的防火墙:选择“查询防火墙列表”接口,填写关键参数如下,其余参数按需填写:
- Region:选择防火墙所在的区域。
- project_id:项目ID,自动获取。
- key_word:填写关键字,例如防火墙的名称。
- limit:每页显示的结果数量,本文查询一个防火墙,此处填“1”。
- offset:偏移量,指定返回记录的开始位置,此处填0。
代码示例
请准备基础认证信息:
import com.huaweicloud.sdk.cfw.v1.CfwClient; import com.huaweicloud.sdk.cfw.v1.model.*; import com.huaweicloud.sdk.cfw.v1.region.CfwRegion; 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 java.util.ArrayList; import java.util.List; public class CreateFirewallSolution { public static void main(String[] args) { String ak = "xxxx"; String sk = "xxxx"; BasicCredentials auth = new BasicCredentials().withAk(ak).withSk(sk); CfwClient client = CfwClient.newBuilder() .withCredential(auth) .withRegion(CfwRegion.valueOf("xxxx")) .build(); //创建创建防火墙请求体 CreateFirewallRequest request = new CreateFirewallRequest(); CreateFirewallReq body = new CreateFirewallReq(); body.setName("cfwtest"); body.setEnterpriseProjectId("0"); CreateFirewallReqTags createFirewallReqTags = new CreateFirewallReqTags(); createFirewallReqTags.setKey("TagKey"); createFirewallReqTags.setValue("TagValue"); List<CreateFirewallReqTags> createFirewallReqTagsList = new ArrayList<>(); createFirewallReqTagsList.add(createFirewallReqTags); body.setTags(createFirewallReqTagsList); CreateFirewallReqFlavor flavor = new CreateFirewallReqFlavor(); flavor.setVersion(CreateFirewallReqFlavor.VersionEnum.STANDARD); body.setFlavor(flavor); CreateFirewallReqChargeInfo createFirewallReqChargeInfo = new CreateFirewallReqChargeInfo(); createFirewallReqChargeInfo.setChargeMode("prePaid"); createFirewallReqChargeInfo.setPeriodType("month"); createFirewallReqChargeInfo.setPeriodNum(1); createFirewallReqChargeInfo.setIsAutoPay(true); createFirewallReqChargeInfo.setIsAutoRenew(true); body.setChargeInfo(createFirewallReqChargeInfo); request.setBody(body); //创建查询防火墙请求体 ListFirewallListRequest listFirewallListRequest = new ListFirewallListRequest(); QueryFireWallInstanceDto queryFireWallInstanceDto = new QueryFireWallInstanceDto(); queryFireWallInstanceDto.setOffset(0); queryFireWallInstanceDto.setLimit(1); queryFireWallInstanceDto.setKeyWord("cfwtest"); listFirewallListRequest.setBody(queryFireWallInstanceDto); try { //创建防火墙 CreateFirewallResponse createFirewallResponse = client.createFirewall(request); System.out.println(createFirewallResponse.toString()); //查询防火墙列表 ListFirewallListResponse listFirewallListResponse = client.listFirewallList(listFirewallListRequest); System.out.println(listFirewallListResponse.toString()); } catch (ConnectionException e) { System.out.println(e.getMessage()); } catch (RequestTimeoutException e) { System.out.println(e.getMessage()); } catch (ServiceResponseException e) { System.out.println(e.getHttpStatusCode()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } }