DDOS防护 AAD-配置Anti-DDoS默认防护策略:Go

时间:2024-04-09 10:10:12

Go

配置用户默认的防护策略,清洗时访问限制分段ID设置为8,流量分段ID设置为1。

 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
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    antiddos "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/antiddos/v1"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/antiddos/v1/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/antiddos/v1/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 := antiddos.NewAntiDDoSClient(
        antiddos.AntiDDoSClientBuilder().
            WithRegion(region.ValueOf("cn-north-4")).
            WithCredential(auth).
            Build())

    request := &model.CreateDefaultConfigRequest{}
	request.Body = &model.DdosConfig{
		AppTypeId: int64(0),
		CleaningAccessPosId: int64(8),
		HttpRequestPosId: int64(1),
		TrafficPosId: int64(1),
		EnableL7: false,
	}
	response, err := client.CreateDefaultConfig(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}
support.huaweicloud.com/api-aad/CreateDefaultConfig.html