From 605924720e5fe4f0256515b1601e559f4f3d4d6e Mon Sep 17 00:00:00 2001 From: hellertang Date: Fri, 14 Mar 2025 18:39:12 +0800 Subject: [PATCH 1/2] add nat flow monitor --- go.mod | 4 +- go.sum | 8 +- tencentcloud/provider.go | 1 + tencentcloud/provider.md | 1 + .../resource_tc_nat_gateway_flow_monitor.go | 161 ++ .../resource_tc_nat_gateway_flow_monitor.md | 18 + ...source_tc_nat_gateway_flow_monitor_test.go | 34 + .../tencentcloud/common/http/request.go | 2 +- .../tencentcloud/common/http/response.go | 4 + .../tencentcloud/common/json/encode.go | 4 +- .../tencentcloud/common/netretry.go | 9 + .../tencentcloud/common/ratelimitretry.go | 9 + .../tencentcloud/common/rewindable_body.go | 67 + .../tencentcloud/vpc/v20170312/client.go | 1247 ++++++++++- .../tencentcloud/vpc/v20170312/errors.go | 66 + .../tencentcloud/vpc/v20170312/models.go | 1871 +++++++++++++++-- vendor/modules.txt | 4 +- .../r/nat_gateway_flow_monitor.html.markdown | 45 + website/tencentcloud.erb | 3 + 19 files changed, 3385 insertions(+), 173 deletions(-) create mode 100644 tencentcloud/services/vpc/resource_tc_nat_gateway_flow_monitor.go create mode 100644 tencentcloud/services/vpc/resource_tc_nat_gateway_flow_monitor.md create mode 100644 tencentcloud/services/vpc/resource_tc_nat_gateway_flow_monitor_test.go create mode 100644 vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/rewindable_body.go create mode 100644 website/docs/r/nat_gateway_flow_monitor.html.markdown diff --git a/go.mod b/go.mod index 474d3aba61..427b134f40 100644 --- a/go.mod +++ b/go.mod @@ -46,7 +46,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1107 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.1078 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1115 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1122 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1053 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.1111 @@ -96,7 +96,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tse v1.0.857 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tsf v1.0.674 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.860 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1068 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1122 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.1037 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.0.792 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wss v1.0.199 diff --git a/go.sum b/go.sum index 94becc13d0..f1262e35c9 100644 --- a/go.sum +++ b/go.sum @@ -921,7 +921,6 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1038/go.mod github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1053/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1056/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1066/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1068/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1071/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1073/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1078/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= @@ -931,8 +930,9 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1103/go.mod github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1107/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1108/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1111/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1115 h1:lYeFC379r76seyzN7PHmSxv1ji9knmsXQJglDB/K0WE= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1115/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1122 h1:jffjOBJ1ejT4ldClIIEI+QnfV5K2RubA+xNiz6uuFOU= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1122/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993 h1:WlPgXldQCxt7qi5Xrc6j6zTrsXWzN5BcOGs7Irq7fwQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993/go.mod h1:Z9U8zNtyuyKhjS0698wqsrG/kLx1TQ5CEixXBwVe7xY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU= @@ -1047,8 +1047,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tsf v1.0.674 h1:VsMV1/v github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tsf v1.0.674/go.mod h1:6+MWxaNR4y+spZHYNntulOyj628owTLuWmEFebJOWdA= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.860 h1:vW2NgAHK4BfpZP3m92eUEKbIP+nu9bL8mnaM0dBHWM8= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.860/go.mod h1:uCkDh/AW/tb8JGq5b2kqLjqZuhCFR+6oTsq1SrrvT44= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1068 h1:oHot9DQppI0bAZmUXZfP6SbYz7m48GBuQpUG2DnHwFU= -github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1068/go.mod h1:eY2rMPyFp9RQKaZAD6EvJda4+X9XljtqxZ5jkM5h7EQ= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1122 h1:K9uRaby+EqZdqZHcTsRRIxgyaCWomFHPqQMZDrsiTM0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1122/go.mod h1:8xCo14lGkAvl5EhpYpmLk5ztoFcHdpBLzLzAawxjl+Y= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.1037 h1:sgHOHqVFcO266dnoh0KJ0CoxrRglRZYKW78iBh41Giw= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.1037/go.mod h1:QM5m6aZ65kaxaES0D44BNKmemn+9WBf5vr3HDDPrh8U= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/wedata v1.0.792 h1:NLgKNOIHWa38AmW7dyfI9Jlcp2Kr9VRD94f48pPNmxM= diff --git a/tencentcloud/provider.go b/tencentcloud/provider.go index f6c871cd9b..21a773ddc2 100644 --- a/tencentcloud/provider.go +++ b/tencentcloud/provider.go @@ -1217,6 +1217,7 @@ func Provider() *schema.Provider { "tencentcloud_route_table_association": vpc.ResourceTencentCloudRouteTableAssociation(), "tencentcloud_dnat": vpc.ResourceTencentCloudDnat(), "tencentcloud_nat_gateway": vpc.ResourceTencentCloudNatGateway(), + "tencentcloud_nat_gateway_flow_monitor": vpc.ResourceTencentCloudNatGatewayFlowMonitor(), "tencentcloud_nat_gateway_snat": vpc.ResourceTencentCloudNatGatewaySnat(), "tencentcloud_nat_refresh_nat_dc_route": vpc.ResourceTencentCloudNatRefreshNatDcRoute(), "tencentcloud_vpc_private_nat_gateway": vpc.ResourceTencentCloudVpcPrivateNatGateway(), diff --git a/tencentcloud/provider.md b/tencentcloud/provider.md index c72e20ba37..b4f878c549 100644 --- a/tencentcloud/provider.md +++ b/tencentcloud/provider.md @@ -1286,6 +1286,7 @@ tencentcloud_route_table_entry tencentcloud_dnat tencentcloud_nat_gateway tencentcloud_nat_gateway_snat +tencentcloud_nat_gateway_flow_monitor tencentcloud_nat_refresh_nat_dc_route tencentcloud_ha_vip tencentcloud_ha_vip_eip_attachment diff --git a/tencentcloud/services/vpc/resource_tc_nat_gateway_flow_monitor.go b/tencentcloud/services/vpc/resource_tc_nat_gateway_flow_monitor.go new file mode 100644 index 0000000000..8ac57679e3 --- /dev/null +++ b/tencentcloud/services/vpc/resource_tc_nat_gateway_flow_monitor.go @@ -0,0 +1,161 @@ +package vpc + +import ( + "log" + + vpc "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312" + tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" +) + +func ResourceTencentCloudNatGatewayFlowMonitor() *schema.Resource { + return &schema.Resource{ + Create: resourceTencentCloudNatGatewayFlowMonitorCreate, + Read: resourceTencentCloudNatGatewayFlowMonitorRead, + Update: resourceTencentCloudNatGatewayFlowMonitorUpdate, + Delete: resourceTencentCloudNatGatewayFlowMonitorDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + Schema: map[string]*schema.Schema{ + "gateway_id": { + Required: true, + ForceNew: true, + Type: schema.TypeString, + Description: "ID of Gateway.", + }, + "enable": { + Required: true, + Type: schema.TypeBool, + Description: "Whether to enable flow monitor.", + }, + "bandwidth": { + Computed: true, + Type: schema.TypeInt, + Description: "Bandwidth of flow monitor.", + }, + }, + } +} + +func resourceTencentCloudNatGatewayFlowMonitorCreate(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_nat_gateway_flow_monitor.create")() + defer tccommon.InconsistentCheck(d, meta)() + + var gatewayId string + + if v, ok := d.GetOk("gateway_id"); ok { + gatewayId = v.(string) + } + + d.SetId(gatewayId) + + return resourceTencentCloudNatGatewayFlowMonitorUpdate(d, meta) +} + +func resourceTencentCloudNatGatewayFlowMonitorRead(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_nat_gateway_flow_monitor.read")() + defer tccommon.InconsistentCheck(d, meta)() + + logId := tccommon.GetLogId(tccommon.ContextNil) + + gatewayId := d.Id() + + var ( + checkRequest = vpc.NewCheckGatewayFlowMonitorRequest() + response = vpc.NewCheckGatewayFlowMonitorResponse() + ) + + checkRequest.GatewayId = &gatewayId + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseVpcClient().CheckGatewayFlowMonitor(checkRequest) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, checkRequest.GetAction(), checkRequest.ToJsonString(), result.ToJsonString()) + } + response = result + return nil + }) + if err != nil { + log.Printf("[CRITAL]%s enable nat flow monitor failed, reason:%+v", logId, err) + return err + } + + _ = d.Set("gateway_id", gatewayId) + + if response.Response.Enabled != nil { + if *response.Response.Enabled { + _ = d.Set("enable", true) + } else { + _ = d.Set("enable", false) + } + } + + if response.Response.Bandwidth != nil { + _ = d.Set("bandwidth", *response.Response.Bandwidth) + } + return nil +} + +func resourceTencentCloudNatGatewayFlowMonitorUpdate(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_nat_gateway_flow_monitor.update")() + defer tccommon.InconsistentCheck(d, meta)() + + logId := tccommon.GetLogId(tccommon.ContextNil) + + var ( + enable bool + enableRequest = vpc.NewEnableGatewayFlowMonitorRequest() + disableRequest = vpc.NewDisableGatewayFlowMonitorRequest() + ) + + gatewayId := d.Id() + + if v, ok := d.GetOkExists("enable"); ok { + enable = v.(bool) + } + + if enable { + enableRequest.GatewayId = &gatewayId + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseVpcClient().EnableGatewayFlowMonitor(enableRequest) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, enableRequest.GetAction(), enableRequest.ToJsonString(), result.ToJsonString()) + } + return nil + }) + if err != nil { + log.Printf("[CRITAL]%s enable nat flow monitor failed, reason:%+v", logId, err) + return err + } + } else { + disableRequest.GatewayId = &gatewayId + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UseVpcClient().DisableGatewayFlowMonitor(disableRequest) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, disableRequest.GetAction(), disableRequest.ToJsonString(), result.ToJsonString()) + } + return nil + }) + if err != nil { + log.Printf("[CRITAL]%s disable nat flow monitor failed, reason:%+v", logId, err) + return err + } + } + + return resourceTencentCloudNatGatewayFlowMonitorRead(d, meta) +} + +func resourceTencentCloudNatGatewayFlowMonitorDelete(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_nat_gateway_flow_monitor.delete")() + defer tccommon.InconsistentCheck(d, meta)() + + return nil +} diff --git a/tencentcloud/services/vpc/resource_tc_nat_gateway_flow_monitor.md b/tencentcloud/services/vpc/resource_tc_nat_gateway_flow_monitor.md new file mode 100644 index 0000000000..0913919549 --- /dev/null +++ b/tencentcloud/services/vpc/resource_tc_nat_gateway_flow_monitor.md @@ -0,0 +1,18 @@ +Provides a resource to config a NAT gateway flow monitor. + +Example Usage + +```hcl +resource "tencentcloud_nat_gateway_flow_monitor" "example" { + gateway_id = "nat-e6u6axsm" + enable = true +} +``` + +Import + +NAT gateway flow monitor can be imported using the id, e.g. + +``` +$ terraform import tencentcloud_nat_gateway_flow_monitor.example nat-e6u6axsm +``` diff --git a/tencentcloud/services/vpc/resource_tc_nat_gateway_flow_monitor_test.go b/tencentcloud/services/vpc/resource_tc_nat_gateway_flow_monitor_test.go new file mode 100644 index 0000000000..ac9856fc00 --- /dev/null +++ b/tencentcloud/services/vpc/resource_tc_nat_gateway_flow_monitor_test.go @@ -0,0 +1,34 @@ +package vpc_test + +import ( + "testing" + + tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" +) + +func TestAccTencentCloudNatGatewayFlowMonitorResource_basic(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + tcacctest.AccPreCheck(t) + }, + Providers: tcacctest.AccProviders, + Steps: []resource.TestStep{ + { + Config: testAccNatGatewayFlowMonitor, + Check: resource.ComposeTestCheckFunc(resource.TestCheckResourceAttrSet("tencentcloud_nat_gateway_flow_monitor.example", "id")), + }, + }, + }) +} + +const testAccNatGatewayFlowMonitor = ` + +resource "tencentcloud_nat_gateway_flow_monitor" "example" { + gateway_id = "nat-e6u6axsm" + enable = true +} + +` diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go index 0901bd83af..77f3db2e34 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go @@ -265,7 +265,7 @@ func CompleteCommonParams(request Request, region string, requestClient string) params["Action"] = request.GetAction() params["Timestamp"] = strconv.FormatInt(time.Now().Unix(), 10) params["Nonce"] = strconv.Itoa(rand.Int()) - params["RequestClient"] = "SDK_GO_1.0.1115" + params["RequestClient"] = "SDK_GO_1.0.1122" if requestClient != "" { params["RequestClient"] += ": " + requestClient } diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/response.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/response.go index 15e1c852fa..33ddd68a7e 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/response.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/response.go @@ -229,6 +229,10 @@ func parseFromSSE(hr *http.Response, resp Response) error { key := string(line[:idx]) val := line[idx+1:] + // If value starts with a U+0020 SPACE character, remove it from value + if len(val) > 0 && val[0] == ' ' { + val = val[1:] + } switch key { case "event": event.Event = string(val) diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/json/encode.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/json/encode.go index eecf128774..30430416b4 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/json/encode.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/json/encode.go @@ -329,8 +329,10 @@ func isEmptyValue(v reflect.Value) bool { } func isNilValue(v reflect.Value) bool { + // unsafe.UnsafePointer doesn't exist in go1.9 + const UnsafePointer = 26 switch v.Kind() { - case reflect.Array, reflect.Map, reflect.Slice, reflect.String, reflect.Interface, reflect.Ptr: + case reflect.Chan, reflect.Func, reflect.Map, reflect.Ptr, UnsafePointer, reflect.Interface, reflect.Slice: return v.IsNil() } return false diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/netretry.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/netretry.go index f385944980..b935a2d155 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/netretry.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/netretry.go @@ -22,8 +22,17 @@ func (c *Client) sendWithNetworkFailureRetry(req *http.Request, retryable bool) maxRetries = maxInt(c.profile.NetworkFailureMaxRetries, 0) } durationFunc := safeDurationFunc(c.profile.NetworkFailureRetryDuration) + retryer := newRequestRetryer(req) for idx := 0; idx <= maxRetries; idx++ { + + if idx > 0 { + err = retryer() + if err != nil { + return nil, err + } + } + resp, err = c.sendHttp(req) // retry when error occurred and retryable and not the last retry diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/ratelimitretry.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/ratelimitretry.go index 7d8030efcb..e543cd805e 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/ratelimitretry.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/ratelimitretry.go @@ -21,8 +21,17 @@ func (c *Client) sendWithRateLimitRetry(req *http.Request, retryable bool) (resp // make sure maxRetries is more than 0 maxRetries := maxInt(c.profile.RateLimitExceededMaxRetries, 0) durationFunc := safeDurationFunc(c.profile.RateLimitExceededRetryDuration) + retryer := newRequestRetryer(req) for idx := 0; idx <= maxRetries; idx++ { + + if idx > 0 { + err = retryer() + if err != nil { + return nil, err + } + } + resp, err = c.sendWithNetworkFailureRetry(req, retryable) if err != nil { return diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/rewindable_body.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/rewindable_body.go new file mode 100644 index 0000000000..be1c88be62 --- /dev/null +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/rewindable_body.go @@ -0,0 +1,67 @@ +package common + +import ( + "bytes" + "io" + "net/http" +) + +func newRequestRetryer(r *http.Request) func() error { + if r.GetBody == nil { + rb := &rewindableBody{body: r.Body} + r.Body = rb + r.GetBody = func() (io.ReadCloser, error) { + err := rb.Rewind() + return rb, err + } + } + + return func() error { + bodyCopy, err := r.GetBody() + if err != nil { + return err + } + + r.Body = bodyCopy + return nil + } +} + +type rewindableBody struct { + body io.ReadCloser + buf []byte + r bytes.Reader + rewind bool +} + +func (r *rewindableBody) Read(p []byte) (int, error) { + if r.rewind { + return r.r.Read(p) + } + + nr, err := r.body.Read(p) + if nr > 0 { + r.buf = append(r.buf, p[:nr]...) + } + return nr, err +} + +func (r *rewindableBody) Close() error { + return r.body.Close() +} + +func (r *rewindableBody) Rewind() error { + if !r.rewind { + // drain body + buf := bytes.NewBuffer(r.buf) + _, err := io.Copy(buf, r.body) + if err != nil { + return err + } + r.buf = buf.Bytes() + } + + r.r.Reset(r.buf) + r.rewind = true + return nil +} diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/client.go index d61ddc1f1d..4ba6548f0e 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/client.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/client.go @@ -707,11 +707,11 @@ func NewAllocateIp6AddressesBandwidthResponse() (response *AllocateIp6AddressesB } // AllocateIp6AddressesBandwidth -// 本接口(AllocateIp6AddressesBandwidth)用于为传统弹性公网 IPv6 实例开通 IPv6 公网带宽。 +// 本接口(AllocateIp6AddressesBandwidth)用于为传统弹性公网 IPv6 地址开通 IPv6 公网带宽。 // // // -// - 传统弹性公网 IPv6 实例默认仅具备 IPv6 内网通信能力,需为 IPv6 地址分配公网带宽后,才具备 IPv6 公网通信能力。 +// - 传统弹性公网 IPv6 地址默认仅具备内网通信能力,需通过控制台或 API 接口为其分配公网带宽后,才能具备 IPv6 公网通信能力、并于传统弹性公网 IPv6 列表页可见。 // // - 支持为一个或多个传统弹性公网 IPv6 实例开通公网带宽。 // @@ -738,11 +738,11 @@ func (c *Client) AllocateIp6AddressesBandwidth(request *AllocateIp6AddressesBand } // AllocateIp6AddressesBandwidth -// 本接口(AllocateIp6AddressesBandwidth)用于为传统弹性公网 IPv6 实例开通 IPv6 公网带宽。 +// 本接口(AllocateIp6AddressesBandwidth)用于为传统弹性公网 IPv6 地址开通 IPv6 公网带宽。 // // // -// - 传统弹性公网 IPv6 实例默认仅具备 IPv6 内网通信能力,需为 IPv6 地址分配公网带宽后,才具备 IPv6 公网通信能力。 +// - 传统弹性公网 IPv6 地址默认仅具备内网通信能力,需通过控制台或 API 接口为其分配公网带宽后,才能具备 IPv6 公网通信能力、并于传统弹性公网 IPv6 列表页可见。 // // - 支持为一个或多个传统弹性公网 IPv6 实例开通公网带宽。 // @@ -1781,6 +1781,7 @@ func NewAttachCcnInstancesResponse() (response *AttachCcnInstancesResponse) { // UNSUPPORTEDOPERATION_CCNCROSSACCOUNT = "UnsupportedOperation.CcnCrossAccount" // UNSUPPORTEDOPERATION_CCNORDINARYACCOUNTREFUSEATTACH = "UnsupportedOperation.CcnOrdinaryAccountRefuseAttach" // UNSUPPORTEDOPERATION_CCNROUTETABLENOTEXIST = "UnsupportedOperation.CcnRouteTableNotExist" +// UNSUPPORTEDOPERATION_CCNTRAFFICMETERINGUNABLECROSSBORDER = "UnsupportedOperation.CcnTrafficMeteringUnableCrossBorder" // UNSUPPORTEDOPERATION_INSTANCEANDRTBNOTMATCH = "UnsupportedOperation.InstanceAndRtbNotMatch" // UNSUPPORTEDOPERATION_INSTANCECDCIDNOTMATCHCCNCDCID = "UnsupportedOperation.InstanceCdcIdNotMatchCcnCdcId" // UNSUPPORTEDOPERATION_INSTANCEORDINARYACCOUNTREFUSEATTACH = "UnsupportedOperation.InstanceOrdinaryAccountRefuseAttach" @@ -1816,6 +1817,7 @@ func (c *Client) AttachCcnInstances(request *AttachCcnInstancesRequest) (respons // UNSUPPORTEDOPERATION_CCNCROSSACCOUNT = "UnsupportedOperation.CcnCrossAccount" // UNSUPPORTEDOPERATION_CCNORDINARYACCOUNTREFUSEATTACH = "UnsupportedOperation.CcnOrdinaryAccountRefuseAttach" // UNSUPPORTEDOPERATION_CCNROUTETABLENOTEXIST = "UnsupportedOperation.CcnRouteTableNotExist" +// UNSUPPORTEDOPERATION_CCNTRAFFICMETERINGUNABLECROSSBORDER = "UnsupportedOperation.CcnTrafficMeteringUnableCrossBorder" // UNSUPPORTEDOPERATION_INSTANCEANDRTBNOTMATCH = "UnsupportedOperation.InstanceAndRtbNotMatch" // UNSUPPORTEDOPERATION_INSTANCECDCIDNOTMATCHCCNCDCID = "UnsupportedOperation.InstanceCdcIdNotMatchCcnCdcId" // UNSUPPORTEDOPERATION_INSTANCEORDINARYACCOUNTREFUSEATTACH = "UnsupportedOperation.InstanceOrdinaryAccountRefuseAttach" @@ -2269,6 +2271,59 @@ func (c *Client) CheckDefaultSubnetWithContext(ctx context.Context, request *Che return } +func NewCheckGatewayFlowMonitorRequest() (request *CheckGatewayFlowMonitorRequest) { + request = &CheckGatewayFlowMonitorRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "CheckGatewayFlowMonitor") + + + return +} + +func NewCheckGatewayFlowMonitorResponse() (response *CheckGatewayFlowMonitorResponse) { + response = &CheckGatewayFlowMonitorResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// CheckGatewayFlowMonitor +// 本接口(CheckGatewayFlowMonitor)用于查询网关是否启用流量监控。 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION_INVALIDSTATE = "UnsupportedOperation.InvalidState" +func (c *Client) CheckGatewayFlowMonitor(request *CheckGatewayFlowMonitorRequest) (response *CheckGatewayFlowMonitorResponse, err error) { + return c.CheckGatewayFlowMonitorWithContext(context.Background(), request) +} + +// CheckGatewayFlowMonitor +// 本接口(CheckGatewayFlowMonitor)用于查询网关是否启用流量监控。 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION_INVALIDSTATE = "UnsupportedOperation.InvalidState" +func (c *Client) CheckGatewayFlowMonitorWithContext(ctx context.Context, request *CheckGatewayFlowMonitorRequest) (response *CheckGatewayFlowMonitorResponse, err error) { + if request == nil { + request = NewCheckGatewayFlowMonitorRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CheckGatewayFlowMonitor require credential") + } + + request.SetContext(ctx) + + response = NewCheckGatewayFlowMonitorResponse() + err = c.Send(request, response) + return +} + func NewCheckNetDetectStateRequest() (request *CheckNetDetectStateRequest) { request = &CheckNetDetectStateRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -2350,6 +2405,73 @@ func (c *Client) CheckNetDetectStateWithContext(ctx context.Context, request *Ch return } +func NewCheckTrafficMirrorRequest() (request *CheckTrafficMirrorRequest) { + request = &CheckTrafficMirrorRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "CheckTrafficMirror") + + + return +} + +func NewCheckTrafficMirrorResponse() (response *CheckTrafficMirrorResponse) { + response = &CheckTrafficMirrorResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// CheckTrafficMirror +// 检查流量镜像的采集端接收端(公网IP类型) +// +// 可能返回的错误码: +// INVALIDPARAMETER_DUPLICATEDLBTRAFFICMIRRORCOLLECTORS = "InvalidParameter.DuplicatedLbTrafficMirrorCollectors" +// INVALIDPARAMETER_UNSUPPORTEDLBTRAFFICMIRRORAZ = "InvalidParameter.UnsupportedLbTrafficMirrorAz" +// INVALIDPARAMETERVALUE_DUPLICATEDLBTRAFFICMIRRORCOLLECTORS = "InvalidParameterValue.DuplicatedLbTrafficMirrorCollectors" +// INVALIDPARAMETERVALUE_EMPTY = "InvalidParameterValue.Empty" +// INVALIDPARAMETERVALUE_INVALIDLBTRAFFICMIRRORRECIVERENDPOINT = "InvalidParameterValue.InvalidLbTrafficMirrorReciverEndpoint" +// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_UNSUPPORTEDLBTRAFFICMIRRORAZ = "InvalidParameterValue.UnsupportedLbTrafficMirrorAz" +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION_VPCMISMATCH = "UnsupportedOperation.VpcMismatch" +func (c *Client) CheckTrafficMirror(request *CheckTrafficMirrorRequest) (response *CheckTrafficMirrorResponse, err error) { + return c.CheckTrafficMirrorWithContext(context.Background(), request) +} + +// CheckTrafficMirror +// 检查流量镜像的采集端接收端(公网IP类型) +// +// 可能返回的错误码: +// INVALIDPARAMETER_DUPLICATEDLBTRAFFICMIRRORCOLLECTORS = "InvalidParameter.DuplicatedLbTrafficMirrorCollectors" +// INVALIDPARAMETER_UNSUPPORTEDLBTRAFFICMIRRORAZ = "InvalidParameter.UnsupportedLbTrafficMirrorAz" +// INVALIDPARAMETERVALUE_DUPLICATEDLBTRAFFICMIRRORCOLLECTORS = "InvalidParameterValue.DuplicatedLbTrafficMirrorCollectors" +// INVALIDPARAMETERVALUE_EMPTY = "InvalidParameterValue.Empty" +// INVALIDPARAMETERVALUE_INVALIDLBTRAFFICMIRRORRECIVERENDPOINT = "InvalidParameterValue.InvalidLbTrafficMirrorReciverEndpoint" +// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_UNSUPPORTEDLBTRAFFICMIRRORAZ = "InvalidParameterValue.UnsupportedLbTrafficMirrorAz" +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION_VPCMISMATCH = "UnsupportedOperation.VpcMismatch" +func (c *Client) CheckTrafficMirrorWithContext(ctx context.Context, request *CheckTrafficMirrorRequest) (response *CheckTrafficMirrorResponse, err error) { + if request == nil { + request = NewCheckTrafficMirrorRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CheckTrafficMirror require credential") + } + + request.SetContext(ctx) + + response = NewCheckTrafficMirrorResponse() + err = c.Send(request, response) + return +} + func NewClearRouteTableSelectionPoliciesRequest() (request *ClearRouteTableSelectionPoliciesRequest) { request = &ClearRouteTableSelectionPoliciesRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -2782,6 +2904,7 @@ func NewCreateAssistantCidrResponse() (response *CreateAssistantCidrResponse) { // INVALIDPARAMETERVALUE_SUBNETOVERLAPASSISTCIDR = "InvalidParameterValue.SubnetOverlapAssistCidr" // INVALIDPARAMETERVALUE_SUBNETRANGE = "InvalidParameterValue.SubnetRange" // INVALIDPARAMETERVALUE_VPCCIDRCONFLICT = "InvalidParameterValue.VpcCidrConflict" +// INVALIDPARAMETERVALUE_VPCCIDROVERLAPROUTE = "InvalidParameterValue.VpcCidrOverlapRoute" // LIMITEXCEEDED = "LimitExceeded" // RESOURCENOTFOUND = "ResourceNotFound" func (c *Client) CreateAssistantCidr(request *CreateAssistantCidrRequest) (response *CreateAssistantCidrResponse, err error) { @@ -2800,6 +2923,7 @@ func (c *Client) CreateAssistantCidr(request *CreateAssistantCidrRequest) (respo // INVALIDPARAMETERVALUE_SUBNETOVERLAPASSISTCIDR = "InvalidParameterValue.SubnetOverlapAssistCidr" // INVALIDPARAMETERVALUE_SUBNETRANGE = "InvalidParameterValue.SubnetRange" // INVALIDPARAMETERVALUE_VPCCIDRCONFLICT = "InvalidParameterValue.VpcCidrConflict" +// INVALIDPARAMETERVALUE_VPCCIDROVERLAPROUTE = "InvalidParameterValue.VpcCidrOverlapRoute" // LIMITEXCEEDED = "LimitExceeded" // RESOURCENOTFOUND = "ResourceNotFound" func (c *Client) CreateAssistantCidrWithContext(ctx context.Context, request *CreateAssistantCidrRequest) (response *CreateAssistantCidrResponse, err error) { @@ -5392,8 +5516,11 @@ func NewCreateRoutesResponse() (response *CreateRoutesResponse) { // INVALIDPARAMETERVALUE_CIDRNOTINPEERVPC = "InvalidParameterValue.CidrNotInPeerVpc" // INVALIDPARAMETERVALUE_DUPLICATE = "InvalidParameterValue.Duplicate" // INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_ROUTENEXTHOPINVALID = "InvalidParameterValue.RouteNextHopInvalid" // INVALIDPARAMETERVALUE_ROUTEPOLICYPRIORITYCONFLICT = "InvalidParameterValue.RoutePolicyPriorityConflict" +// INVALIDPARAMETERVALUE_SUBNETOVERLAPROUTE = "InvalidParameterValue.SubnetOverlapRoute" // INVALIDPARAMETERVALUE_VPCCIDRCONFLICT = "InvalidParameterValue.VpcCidrConflict" +// INVALIDPARAMETERVALUE_VPCCIDROVERLAPROUTE = "InvalidParameterValue.VpcCidrOverlapRoute" // LIMITEXCEEDED = "LimitExceeded" // RESOURCENOTFOUND = "ResourceNotFound" // UNKNOWNPARAMETER_WITHGUESS = "UnknownParameter.WithGuess" @@ -5419,8 +5546,11 @@ func (c *Client) CreateRoutes(request *CreateRoutesRequest) (response *CreateRou // INVALIDPARAMETERVALUE_CIDRNOTINPEERVPC = "InvalidParameterValue.CidrNotInPeerVpc" // INVALIDPARAMETERVALUE_DUPLICATE = "InvalidParameterValue.Duplicate" // INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_ROUTENEXTHOPINVALID = "InvalidParameterValue.RouteNextHopInvalid" // INVALIDPARAMETERVALUE_ROUTEPOLICYPRIORITYCONFLICT = "InvalidParameterValue.RoutePolicyPriorityConflict" +// INVALIDPARAMETERVALUE_SUBNETOVERLAPROUTE = "InvalidParameterValue.SubnetOverlapRoute" // INVALIDPARAMETERVALUE_VPCCIDRCONFLICT = "InvalidParameterValue.VpcCidrConflict" +// INVALIDPARAMETERVALUE_VPCCIDROVERLAPROUTE = "InvalidParameterValue.VpcCidrOverlapRoute" // LIMITEXCEEDED = "LimitExceeded" // RESOURCENOTFOUND = "ResourceNotFound" // UNKNOWNPARAMETER_WITHGUESS = "UnknownParameter.WithGuess" @@ -5764,7 +5894,7 @@ func NewCreateSecurityGroupWithPoliciesResponse() (response *CreateSecurityGroup // // * CidrBlock, Ipv6CidrBlock, SecurityGroupId, AddressTemplate四者是排他关系,不允许同时输入,Protocol + Port和ServiceTemplate二者是排他关系,不允许同时输入。 // -// * 一次请求中只能创建单个方向的规则, 如果需要指定索引(PolicyIndex)参数, 多条规则的索引必须一致。 +// * 请求中可以同时指定入站和出站两个方向的规则, 如果需要指定索引(PolicyIndex)参数, 多条规则的索引必须一致。 // // 可能返回的错误码: // INTERNALERROR_MODULEERROR = "InternalError.ModuleError" @@ -5816,7 +5946,7 @@ func (c *Client) CreateSecurityGroupWithPolicies(request *CreateSecurityGroupWit // // * CidrBlock, Ipv6CidrBlock, SecurityGroupId, AddressTemplate四者是排他关系,不允许同时输入,Protocol + Port和ServiceTemplate二者是排他关系,不允许同时输入。 // -// * 一次请求中只能创建单个方向的规则, 如果需要指定索引(PolicyIndex)参数, 多条规则的索引必须一致。 +// * 请求中可以同时指定入站和出站两个方向的规则, 如果需要指定索引(PolicyIndex)参数, 多条规则的索引必须一致。 // // 可能返回的错误码: // INTERNALERROR_MODULEERROR = "InternalError.ModuleError" @@ -6074,6 +6204,7 @@ func NewCreateSubnetResponse() (response *CreateSubnetResponse) { // INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" // INVALIDPARAMETERVALUE_SUBNETCONFLICT = "InvalidParameterValue.SubnetConflict" // INVALIDPARAMETERVALUE_SUBNETOVERLAP = "InvalidParameterValue.SubnetOverlap" +// INVALIDPARAMETERVALUE_SUBNETOVERLAPROUTE = "InvalidParameterValue.SubnetOverlapRoute" // INVALIDPARAMETERVALUE_SUBNETRANGE = "InvalidParameterValue.SubnetRange" // INVALIDPARAMETERVALUE_TAGDUPLICATEKEY = "InvalidParameterValue.TagDuplicateKey" // INVALIDPARAMETERVALUE_TAGDUPLICATERESOURCETYPE = "InvalidParameterValue.TagDuplicateResourceType" @@ -6135,6 +6266,7 @@ func (c *Client) CreateSubnet(request *CreateSubnetRequest) (response *CreateSub // INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" // INVALIDPARAMETERVALUE_SUBNETCONFLICT = "InvalidParameterValue.SubnetConflict" // INVALIDPARAMETERVALUE_SUBNETOVERLAP = "InvalidParameterValue.SubnetOverlap" +// INVALIDPARAMETERVALUE_SUBNETOVERLAPROUTE = "InvalidParameterValue.SubnetOverlapRoute" // INVALIDPARAMETERVALUE_SUBNETRANGE = "InvalidParameterValue.SubnetRange" // INVALIDPARAMETERVALUE_TAGDUPLICATEKEY = "InvalidParameterValue.TagDuplicateKey" // INVALIDPARAMETERVALUE_TAGDUPLICATERESOURCETYPE = "InvalidParameterValue.TagDuplicateResourceType" @@ -6222,6 +6354,7 @@ func NewCreateSubnetsResponse() (response *CreateSubnetsResponse) { // INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" // INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" // INVALIDPARAMETERVALUE_SUBNETCONFLICT = "InvalidParameterValue.SubnetConflict" +// INVALIDPARAMETERVALUE_SUBNETOVERLAPROUTE = "InvalidParameterValue.SubnetOverlapRoute" // INVALIDPARAMETERVALUE_SUBNETRANGE = "InvalidParameterValue.SubnetRange" // INVALIDPARAMETERVALUE_TAGDUPLICATEKEY = "InvalidParameterValue.TagDuplicateKey" // INVALIDPARAMETERVALUE_TAGDUPLICATERESOURCETYPE = "InvalidParameterValue.TagDuplicateResourceType" @@ -6248,6 +6381,7 @@ func NewCreateSubnetsResponse() (response *CreateSubnetsResponse) { // RESOURCENOTFOUND = "ResourceNotFound" // UNKNOWNPARAMETER_WITHGUESS = "UnknownParameter.WithGuess" // UNSUPPORTEDOPERATION_APPIDMISMATCH = "UnsupportedOperation.AppIdMismatch" +// UNSUPPORTEDOPERATION_CDCVPGNOTEXISTS = "UnsupportedOperation.CdcVpgNotExists" // UNSUPPORTEDOPERATION_DCGATEWAYSNOTFOUNDINVPC = "UnsupportedOperation.DcGatewaysNotFoundInVpc" // UNSUPPORTEDOPERATION_RECORDEXISTS = "UnsupportedOperation.RecordExists" // UNSUPPORTEDOPERATION_TAGALLOCATE = "UnsupportedOperation.TagAllocate" @@ -6278,6 +6412,7 @@ func (c *Client) CreateSubnets(request *CreateSubnetsRequest) (response *CreateS // INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" // INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" // INVALIDPARAMETERVALUE_SUBNETCONFLICT = "InvalidParameterValue.SubnetConflict" +// INVALIDPARAMETERVALUE_SUBNETOVERLAPROUTE = "InvalidParameterValue.SubnetOverlapRoute" // INVALIDPARAMETERVALUE_SUBNETRANGE = "InvalidParameterValue.SubnetRange" // INVALIDPARAMETERVALUE_TAGDUPLICATEKEY = "InvalidParameterValue.TagDuplicateKey" // INVALIDPARAMETERVALUE_TAGDUPLICATERESOURCETYPE = "InvalidParameterValue.TagDuplicateResourceType" @@ -6304,6 +6439,7 @@ func (c *Client) CreateSubnets(request *CreateSubnetsRequest) (response *CreateS // RESOURCENOTFOUND = "ResourceNotFound" // UNKNOWNPARAMETER_WITHGUESS = "UnknownParameter.WithGuess" // UNSUPPORTEDOPERATION_APPIDMISMATCH = "UnsupportedOperation.AppIdMismatch" +// UNSUPPORTEDOPERATION_CDCVPGNOTEXISTS = "UnsupportedOperation.CdcVpgNotExists" // UNSUPPORTEDOPERATION_DCGATEWAYSNOTFOUNDINVPC = "UnsupportedOperation.DcGatewaysNotFoundInVpc" // UNSUPPORTEDOPERATION_RECORDEXISTS = "UnsupportedOperation.RecordExists" // UNSUPPORTEDOPERATION_TAGALLOCATE = "UnsupportedOperation.TagAllocate" @@ -6326,6 +6462,137 @@ func (c *Client) CreateSubnetsWithContext(ctx context.Context, request *CreateSu return } +func NewCreateTrafficMirrorRequest() (request *CreateTrafficMirrorRequest) { + request = &CreateTrafficMirrorRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "CreateTrafficMirror") + + + return +} + +func NewCreateTrafficMirrorResponse() (response *CreateTrafficMirrorResponse) { + response = &CreateTrafficMirrorResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// CreateTrafficMirror +// 本接口(CreateTrafficMirror)用于创建流量镜像实例。 +// +// 可能返回的错误码: +// INVALIDPARAMETER_COEXIST = "InvalidParameter.Coexist" +// INVALIDPARAMETER_DUPLICATEDLBTRAFFICMIRRORCOLLECTORS = "InvalidParameter.DuplicatedLbTrafficMirrorCollectors" +// INVALIDPARAMETER_UNSUPPORTEDLBTRAFFICMIRRORAZ = "InvalidParameter.UnsupportedLbTrafficMirrorAz" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// INVALIDPARAMETERVALUE_DUPLICATEDLBTRAFFICMIRRORCOLLECTORS = "InvalidParameterValue.DuplicatedLbTrafficMirrorCollectors" +// INVALIDPARAMETERVALUE_DUPLICATEDLBTRAFFICMIRRORRECIVERENDPOINT = "InvalidParameterValue.DuplicatedLbTrafficMirrorReciverEndpoint" +// INVALIDPARAMETERVALUE_INVALIDLBTRAFFICMIRRORRECIVERENDPOINT = "InvalidParameterValue.InvalidLbTrafficMirrorReciverEndpoint" +// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_MIRRORLACKTARGETRESOURCE = "InvalidParameterValue.MirrorLackTargetResource" +// INVALIDPARAMETERVALUE_OBJECTUSEINTRAFFICMIRROR = "InvalidParameterValue.ObjectUseInTrafficMirror" +// INVALIDPARAMETERVALUE_OBJECTVPCNOTCURRENTVPC = "InvalidParameterValue.ObjectVpcNotCurrentVpc" +// INVALIDPARAMETERVALUE_TAGDUPLICATEKEY = "InvalidParameterValue.TagDuplicateKey" +// INVALIDPARAMETERVALUE_TAGDUPLICATERESOURCETYPE = "InvalidParameterValue.TagDuplicateResourceType" +// INVALIDPARAMETERVALUE_TAGINVALIDKEY = "InvalidParameterValue.TagInvalidKey" +// INVALIDPARAMETERVALUE_TAGINVALIDKEYLEN = "InvalidParameterValue.TagInvalidKeyLen" +// INVALIDPARAMETERVALUE_TAGINVALIDVAL = "InvalidParameterValue.TagInvalidVal" +// INVALIDPARAMETERVALUE_TAGKEYNOTEXISTS = "InvalidParameterValue.TagKeyNotExists" +// INVALIDPARAMETERVALUE_TAGNOTALLOCATEDQUOTA = "InvalidParameterValue.TagNotAllocatedQuota" +// INVALIDPARAMETERVALUE_TAGNOTEXISTED = "InvalidParameterValue.TagNotExisted" +// INVALIDPARAMETERVALUE_TAGNOTSUPPORTTAG = "InvalidParameterValue.TagNotSupportTag" +// INVALIDPARAMETERVALUE_TAGRESOURCEFORMATERROR = "InvalidParameterValue.TagResourceFormatError" +// INVALIDPARAMETERVALUE_TAGTIMESTAMPEXCEEDED = "InvalidParameterValue.TagTimestampExceeded" +// INVALIDPARAMETERVALUE_TAGVALNOTEXISTS = "InvalidParameterValue.TagValNotExists" +// INVALIDPARAMETERVALUE_UNSUPPORTEDLBTRAFFICMIRRORAZ = "InvalidParameterValue.UnsupportedLbTrafficMirrorAz" +// LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_TAGKEYEXCEEDED = "LimitExceeded.TagKeyExceeded" +// LIMITEXCEEDED_TAGKEYPERRESOURCEEXCEEDED = "LimitExceeded.TagKeyPerResourceExceeded" +// LIMITEXCEEDED_TAGNOTENOUGHQUOTA = "LimitExceeded.TagNotEnoughQuota" +// LIMITEXCEEDED_TAGQUOTA = "LimitExceeded.TagQuota" +// LIMITEXCEEDED_TAGQUOTAEXCEEDED = "LimitExceeded.TagQuotaExceeded" +// LIMITEXCEEDED_TAGTAGSEXCEEDED = "LimitExceeded.TagTagsExceeded" +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +// UNSUPPORTEDOPERATION_IPV6NOTSUPPORT = "UnsupportedOperation.Ipv6NotSupport" +// UNSUPPORTEDOPERATION_PUBLICCLBNOTSUPPORT = "UnsupportedOperation.PublicClbNotSupport" +// UNSUPPORTEDOPERATION_TAGALLOCATE = "UnsupportedOperation.TagAllocate" +// UNSUPPORTEDOPERATION_TAGFREE = "UnsupportedOperation.TagFree" +// UNSUPPORTEDOPERATION_TAGNOTPERMIT = "UnsupportedOperation.TagNotPermit" +// UNSUPPORTEDOPERATION_TAGSYSTEMRESERVEDTAGKEY = "UnsupportedOperation.TagSystemReservedTagKey" +// UNSUPPORTEDOPERATION_TRAFFICMIRRORNOTSUPPORTCLB = "UnsupportedOperation.TrafficMirrorNotSupportClb" +// UNSUPPORTEDOPERATION_TRAFFICMIRRORNOTSUPPORTSAMESRCTARGET = "UnsupportedOperation.TrafficMirrorNotSupportSameSrcTarget" +func (c *Client) CreateTrafficMirror(request *CreateTrafficMirrorRequest) (response *CreateTrafficMirrorResponse, err error) { + return c.CreateTrafficMirrorWithContext(context.Background(), request) +} + +// CreateTrafficMirror +// 本接口(CreateTrafficMirror)用于创建流量镜像实例。 +// +// 可能返回的错误码: +// INVALIDPARAMETER_COEXIST = "InvalidParameter.Coexist" +// INVALIDPARAMETER_DUPLICATEDLBTRAFFICMIRRORCOLLECTORS = "InvalidParameter.DuplicatedLbTrafficMirrorCollectors" +// INVALIDPARAMETER_UNSUPPORTEDLBTRAFFICMIRRORAZ = "InvalidParameter.UnsupportedLbTrafficMirrorAz" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// INVALIDPARAMETERVALUE_DUPLICATEDLBTRAFFICMIRRORCOLLECTORS = "InvalidParameterValue.DuplicatedLbTrafficMirrorCollectors" +// INVALIDPARAMETERVALUE_DUPLICATEDLBTRAFFICMIRRORRECIVERENDPOINT = "InvalidParameterValue.DuplicatedLbTrafficMirrorReciverEndpoint" +// INVALIDPARAMETERVALUE_INVALIDLBTRAFFICMIRRORRECIVERENDPOINT = "InvalidParameterValue.InvalidLbTrafficMirrorReciverEndpoint" +// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_MIRRORLACKTARGETRESOURCE = "InvalidParameterValue.MirrorLackTargetResource" +// INVALIDPARAMETERVALUE_OBJECTUSEINTRAFFICMIRROR = "InvalidParameterValue.ObjectUseInTrafficMirror" +// INVALIDPARAMETERVALUE_OBJECTVPCNOTCURRENTVPC = "InvalidParameterValue.ObjectVpcNotCurrentVpc" +// INVALIDPARAMETERVALUE_TAGDUPLICATEKEY = "InvalidParameterValue.TagDuplicateKey" +// INVALIDPARAMETERVALUE_TAGDUPLICATERESOURCETYPE = "InvalidParameterValue.TagDuplicateResourceType" +// INVALIDPARAMETERVALUE_TAGINVALIDKEY = "InvalidParameterValue.TagInvalidKey" +// INVALIDPARAMETERVALUE_TAGINVALIDKEYLEN = "InvalidParameterValue.TagInvalidKeyLen" +// INVALIDPARAMETERVALUE_TAGINVALIDVAL = "InvalidParameterValue.TagInvalidVal" +// INVALIDPARAMETERVALUE_TAGKEYNOTEXISTS = "InvalidParameterValue.TagKeyNotExists" +// INVALIDPARAMETERVALUE_TAGNOTALLOCATEDQUOTA = "InvalidParameterValue.TagNotAllocatedQuota" +// INVALIDPARAMETERVALUE_TAGNOTEXISTED = "InvalidParameterValue.TagNotExisted" +// INVALIDPARAMETERVALUE_TAGNOTSUPPORTTAG = "InvalidParameterValue.TagNotSupportTag" +// INVALIDPARAMETERVALUE_TAGRESOURCEFORMATERROR = "InvalidParameterValue.TagResourceFormatError" +// INVALIDPARAMETERVALUE_TAGTIMESTAMPEXCEEDED = "InvalidParameterValue.TagTimestampExceeded" +// INVALIDPARAMETERVALUE_TAGVALNOTEXISTS = "InvalidParameterValue.TagValNotExists" +// INVALIDPARAMETERVALUE_UNSUPPORTEDLBTRAFFICMIRRORAZ = "InvalidParameterValue.UnsupportedLbTrafficMirrorAz" +// LIMITEXCEEDED = "LimitExceeded" +// LIMITEXCEEDED_TAGKEYEXCEEDED = "LimitExceeded.TagKeyExceeded" +// LIMITEXCEEDED_TAGKEYPERRESOURCEEXCEEDED = "LimitExceeded.TagKeyPerResourceExceeded" +// LIMITEXCEEDED_TAGNOTENOUGHQUOTA = "LimitExceeded.TagNotEnoughQuota" +// LIMITEXCEEDED_TAGQUOTA = "LimitExceeded.TagQuota" +// LIMITEXCEEDED_TAGQUOTAEXCEEDED = "LimitExceeded.TagQuotaExceeded" +// LIMITEXCEEDED_TAGTAGSEXCEEDED = "LimitExceeded.TagTagsExceeded" +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +// UNSUPPORTEDOPERATION_IPV6NOTSUPPORT = "UnsupportedOperation.Ipv6NotSupport" +// UNSUPPORTEDOPERATION_PUBLICCLBNOTSUPPORT = "UnsupportedOperation.PublicClbNotSupport" +// UNSUPPORTEDOPERATION_TAGALLOCATE = "UnsupportedOperation.TagAllocate" +// UNSUPPORTEDOPERATION_TAGFREE = "UnsupportedOperation.TagFree" +// UNSUPPORTEDOPERATION_TAGNOTPERMIT = "UnsupportedOperation.TagNotPermit" +// UNSUPPORTEDOPERATION_TAGSYSTEMRESERVEDTAGKEY = "UnsupportedOperation.TagSystemReservedTagKey" +// UNSUPPORTEDOPERATION_TRAFFICMIRRORNOTSUPPORTCLB = "UnsupportedOperation.TrafficMirrorNotSupportClb" +// UNSUPPORTEDOPERATION_TRAFFICMIRRORNOTSUPPORTSAMESRCTARGET = "UnsupportedOperation.TrafficMirrorNotSupportSameSrcTarget" +func (c *Client) CreateTrafficMirrorWithContext(ctx context.Context, request *CreateTrafficMirrorRequest) (response *CreateTrafficMirrorResponse, err error) { + if request == nil { + request = NewCreateTrafficMirrorRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CreateTrafficMirror require credential") + } + + request.SetContext(ctx) + + response = NewCreateTrafficMirrorResponse() + err = c.Send(request, response) + return +} + func NewCreateTrafficPackagesRequest() (request *CreateTrafficPackagesRequest) { request = &CreateTrafficPackagesRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -6864,6 +7131,7 @@ func NewCreateVpnConnectionResponse() (response *CreateVpnConnectionResponse) { // INVALIDPARAMETERVALUE_VPNCONNBGPTUNNELCIDRNOTSUPPORTED = "InvalidParameterValue.VpnConnBgpTunnelCidrNotSupported" // INVALIDPARAMETERVALUE_VPNCONNCIDRCONFLICT = "InvalidParameterValue.VpnConnCidrConflict" // INVALIDPARAMETERVALUE_VPNCONNHEALTHCHECKIPCONFLICT = "InvalidParameterValue.VpnConnHealthCheckIpConflict" +// INVALIDPARAMETERVALUE_VPNCONNSPDCIDRCONFLICT = "InvalidParameterValue.VpnConnSpdCidrConflict" // LIMITEXCEEDED = "LimitExceeded" // LIMITEXCEEDED_TAGKEYEXCEEDED = "LimitExceeded.TagKeyExceeded" // LIMITEXCEEDED_TAGKEYPERRESOURCEEXCEEDED = "LimitExceeded.TagKeyPerResourceExceeded" @@ -6917,6 +7185,7 @@ func (c *Client) CreateVpnConnection(request *CreateVpnConnectionRequest) (respo // INVALIDPARAMETERVALUE_VPNCONNBGPTUNNELCIDRNOTSUPPORTED = "InvalidParameterValue.VpnConnBgpTunnelCidrNotSupported" // INVALIDPARAMETERVALUE_VPNCONNCIDRCONFLICT = "InvalidParameterValue.VpnConnCidrConflict" // INVALIDPARAMETERVALUE_VPNCONNHEALTHCHECKIPCONFLICT = "InvalidParameterValue.VpnConnHealthCheckIpConflict" +// INVALIDPARAMETERVALUE_VPNCONNSPDCIDRCONFLICT = "InvalidParameterValue.VpnConnSpdCidrConflict" // LIMITEXCEEDED = "LimitExceeded" // LIMITEXCEEDED_TAGKEYEXCEEDED = "LimitExceeded.TagKeyExceeded" // LIMITEXCEEDED_TAGKEYPERRESOURCEEXCEEDED = "LimitExceeded.TagKeyPerResourceExceeded" @@ -7915,6 +8184,7 @@ func NewDeleteDirectConnectGatewayResponse() (response *DeleteDirectConnectGatew // UNSUPPORTEDOPERATION = "UnsupportedOperation" // UNSUPPORTEDOPERATION_APPIDMISMATCH = "UnsupportedOperation.AppIdMismatch" // UNSUPPORTEDOPERATION_DCGATEWAYNATRULEEXISTS = "UnsupportedOperation.DCGatewayNatRuleExists" +// UNSUPPORTEDOPERATION_DCGHASFLOWLOG = "UnsupportedOperation.DcgHasFlowLog" // UNSUPPORTEDOPERATION_ROUTETABLEHASSUBNETRULE = "UnsupportedOperation.RouteTableHasSubnetRule" func (c *Client) DeleteDirectConnectGateway(request *DeleteDirectConnectGatewayRequest) (response *DeleteDirectConnectGatewayResponse, err error) { return c.DeleteDirectConnectGatewayWithContext(context.Background(), request) @@ -7937,6 +8207,7 @@ func (c *Client) DeleteDirectConnectGateway(request *DeleteDirectConnectGatewayR // UNSUPPORTEDOPERATION = "UnsupportedOperation" // UNSUPPORTEDOPERATION_APPIDMISMATCH = "UnsupportedOperation.AppIdMismatch" // UNSUPPORTEDOPERATION_DCGATEWAYNATRULEEXISTS = "UnsupportedOperation.DCGatewayNatRuleExists" +// UNSUPPORTEDOPERATION_DCGHASFLOWLOG = "UnsupportedOperation.DcgHasFlowLog" // UNSUPPORTEDOPERATION_ROUTETABLEHASSUBNETRULE = "UnsupportedOperation.RouteTableHasSubnetRule" func (c *Client) DeleteDirectConnectGatewayWithContext(ctx context.Context, request *DeleteDirectConnectGatewayRequest) (response *DeleteDirectConnectGatewayResponse, err error) { if request == nil { @@ -9739,6 +10010,57 @@ func (c *Client) DeleteTemplateMemberWithContext(ctx context.Context, request *D return } +func NewDeleteTrafficMirrorRequest() (request *DeleteTrafficMirrorRequest) { + request = &DeleteTrafficMirrorRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "DeleteTrafficMirror") + + + return +} + +func NewDeleteTrafficMirrorResponse() (response *DeleteTrafficMirrorResponse) { + response = &DeleteTrafficMirrorResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DeleteTrafficMirror +// 本接口(DeleteTrafficMirror)用于删除流量镜像实例。 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) DeleteTrafficMirror(request *DeleteTrafficMirrorRequest) (response *DeleteTrafficMirrorResponse, err error) { + return c.DeleteTrafficMirrorWithContext(context.Background(), request) +} + +// DeleteTrafficMirror +// 本接口(DeleteTrafficMirror)用于删除流量镜像实例。 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) DeleteTrafficMirrorWithContext(ctx context.Context, request *DeleteTrafficMirrorRequest) (response *DeleteTrafficMirrorResponse, err error) { + if request == nil { + request = NewDeleteTrafficMirrorRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DeleteTrafficMirror require credential") + } + + request.SetContext(ctx) + + response = NewDeleteTrafficMirrorResponse() + err = c.Send(request, response) + return +} + func NewDeleteTrafficPackagesRequest() (request *DeleteTrafficPackagesRequest) { request = &DeleteTrafficPackagesRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -10429,6 +10751,63 @@ func (c *Client) DescribeAccountAttributesWithContext(ctx context.Context, reque return } +func NewDescribeAddressBandwidthRangeRequest() (request *DescribeAddressBandwidthRangeRequest) { + request = &DescribeAddressBandwidthRangeRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "DescribeAddressBandwidthRange") + + + return +} + +func NewDescribeAddressBandwidthRangeResponse() (response *DescribeAddressBandwidthRangeResponse) { + response = &DescribeAddressBandwidthRangeResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeAddressBandwidthRange +// 查询指定EIP的带宽上下限范围。 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +// INVALIDPARAMETERVALUE_ADDRESSIDMALFORMED = "InvalidParameterValue.AddressIdMalformed" +// INVALIDPARAMETERVALUE_ADDRESSNOTFOUND = "InvalidParameterValue.AddressNotFound" +// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" +// UNSUPPORTEDOPERATION_ACCOUNTNOTSUPPORTED = "UnsupportedOperation.AccountNotSupported" +func (c *Client) DescribeAddressBandwidthRange(request *DescribeAddressBandwidthRangeRequest) (response *DescribeAddressBandwidthRangeResponse, err error) { + return c.DescribeAddressBandwidthRangeWithContext(context.Background(), request) +} + +// DescribeAddressBandwidthRange +// 查询指定EIP的带宽上下限范围。 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +// INVALIDPARAMETERVALUE_ADDRESSIDMALFORMED = "InvalidParameterValue.AddressIdMalformed" +// INVALIDPARAMETERVALUE_ADDRESSNOTFOUND = "InvalidParameterValue.AddressNotFound" +// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" +// UNSUPPORTEDOPERATION_ACCOUNTNOTSUPPORTED = "UnsupportedOperation.AccountNotSupported" +func (c *Client) DescribeAddressBandwidthRangeWithContext(ctx context.Context, request *DescribeAddressBandwidthRangeRequest) (response *DescribeAddressBandwidthRangeResponse, err error) { + if request == nil { + request = NewDescribeAddressBandwidthRangeRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeAddressBandwidthRange require credential") + } + + request.SetContext(ctx) + + response = NewDescribeAddressBandwidthRangeResponse() + err = c.Send(request, response) + return +} + func NewDescribeAddressQuotaRequest() (request *DescribeAddressQuotaRequest) { request = &DescribeAddressQuotaRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -10716,27 +11095,82 @@ func (c *Client) DescribeAssistantCidrWithContext(ctx context.Context, request * return } -func NewDescribeBandwidthPackageBillUsageRequest() (request *DescribeBandwidthPackageBillUsageRequest) { - request = &DescribeBandwidthPackageBillUsageRequest{ +func NewDescribeBandwidthPackageBandwidthRangeRequest() (request *DescribeBandwidthPackageBandwidthRangeRequest) { + request = &DescribeBandwidthPackageBandwidthRangeRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("vpc", APIVersion, "DescribeBandwidthPackageBillUsage") + request.Init().WithApiInfo("vpc", APIVersion, "DescribeBandwidthPackageBandwidthRange") return } -func NewDescribeBandwidthPackageBillUsageResponse() (response *DescribeBandwidthPackageBillUsageResponse) { - response = &DescribeBandwidthPackageBillUsageResponse{ +func NewDescribeBandwidthPackageBandwidthRangeResponse() (response *DescribeBandwidthPackageBandwidthRangeResponse) { + response = &DescribeBandwidthPackageBandwidthRangeResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// DescribeBandwidthPackageBillUsage -// 本接口 (DescribeBandwidthPackageBillUsage) 用于查询后付费共享带宽包当前的计费用量. +// DescribeBandwidthPackageBandwidthRange +// 查询指定带宽包的带宽上下限范围 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +// INVALIDPARAMETERVALUE_BANDWIDTHPACKAGEIDMALFORMED = "InvalidParameterValue.BandwidthPackageIdMalformed" +// INVALIDPARAMETERVALUE_BANDWIDTHPACKAGENOTFOUND = "InvalidParameterValue.BandwidthPackageNotFound" +// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" +func (c *Client) DescribeBandwidthPackageBandwidthRange(request *DescribeBandwidthPackageBandwidthRangeRequest) (response *DescribeBandwidthPackageBandwidthRangeResponse, err error) { + return c.DescribeBandwidthPackageBandwidthRangeWithContext(context.Background(), request) +} + +// DescribeBandwidthPackageBandwidthRange +// 查询指定带宽包的带宽上下限范围 +// +// 可能返回的错误码: +// INTERNALERROR = "InternalError" +// INVALIDPARAMETERVALUE_BANDWIDTHPACKAGEIDMALFORMED = "InvalidParameterValue.BandwidthPackageIdMalformed" +// INVALIDPARAMETERVALUE_BANDWIDTHPACKAGENOTFOUND = "InvalidParameterValue.BandwidthPackageNotFound" +// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" +func (c *Client) DescribeBandwidthPackageBandwidthRangeWithContext(ctx context.Context, request *DescribeBandwidthPackageBandwidthRangeRequest) (response *DescribeBandwidthPackageBandwidthRangeResponse, err error) { + if request == nil { + request = NewDescribeBandwidthPackageBandwidthRangeRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeBandwidthPackageBandwidthRange require credential") + } + + request.SetContext(ctx) + + response = NewDescribeBandwidthPackageBandwidthRangeResponse() + err = c.Send(request, response) + return +} + +func NewDescribeBandwidthPackageBillUsageRequest() (request *DescribeBandwidthPackageBillUsageRequest) { + request = &DescribeBandwidthPackageBillUsageRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "DescribeBandwidthPackageBillUsage") + + + return +} + +func NewDescribeBandwidthPackageBillUsageResponse() (response *DescribeBandwidthPackageBillUsageResponse) { + response = &DescribeBandwidthPackageBillUsageResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeBandwidthPackageBillUsage +// 本接口 (DescribeBandwidthPackageBillUsage) 用于查询后付费共享带宽包当前的计费用量. // // 可能返回的错误码: // INVALIDPARAMETERVALUE_BANDWIDTHPACKAGEIDMALFORMED = "InvalidParameterValue.BandwidthPackageIdMalformed" @@ -14213,6 +14647,63 @@ func (c *Client) DescribeRouteConflictsWithContext(ctx context.Context, request return } +func NewDescribeRouteListRequest() (request *DescribeRouteListRequest) { + request = &DescribeRouteListRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "DescribeRouteList") + + + return +} + +func NewDescribeRouteListResponse() (response *DescribeRouteListResponse) { + response = &DescribeRouteListResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeRouteList +// 本接口(DescribeRouteList)用于查询路由条目列表。 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_NOTUTF8ENCODINGERROR = "InvalidParameterValue.NotUtf8EncodingError" +// INVALIDPARAMETERVALUE_RANGE = "InvalidParameterValue.Range" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) DescribeRouteList(request *DescribeRouteListRequest) (response *DescribeRouteListResponse, err error) { + return c.DescribeRouteListWithContext(context.Background(), request) +} + +// DescribeRouteList +// 本接口(DescribeRouteList)用于查询路由条目列表。 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_NOTUTF8ENCODINGERROR = "InvalidParameterValue.NotUtf8EncodingError" +// INVALIDPARAMETERVALUE_RANGE = "InvalidParameterValue.Range" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) DescribeRouteListWithContext(ctx context.Context, request *DescribeRouteListRequest) (response *DescribeRouteListResponse, err error) { + if request == nil { + request = NewDescribeRouteListRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeRouteList require credential") + } + + request.SetContext(ctx) + + response = NewDescribeRouteListResponse() + err = c.Send(request, response) + return +} + func NewDescribeRouteTableAssociatedInstancesRequest() (request *DescribeRouteTableAssociatedInstancesRequest) { request = &DescribeRouteTableAssociatedInstancesRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -15430,6 +15921,63 @@ func (c *Client) DescribeTenantCcnsWithContext(ctx context.Context, request *Des return } +func NewDescribeTrafficMirrorsRequest() (request *DescribeTrafficMirrorsRequest) { + request = &DescribeTrafficMirrorsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "DescribeTrafficMirrors") + + + return +} + +func NewDescribeTrafficMirrorsResponse() (response *DescribeTrafficMirrorsResponse) { + response = &DescribeTrafficMirrorsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeTrafficMirrors +// 本接口(DescribeTrafficMirrors)用于查询流量镜像实例信息。 +// +// 可能返回的错误码: +// INVALIDPARAMETER_COEXIST = "InvalidParameter.Coexist" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_RANGE = "InvalidParameterValue.Range" +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribeTrafficMirrors(request *DescribeTrafficMirrorsRequest) (response *DescribeTrafficMirrorsResponse, err error) { + return c.DescribeTrafficMirrorsWithContext(context.Background(), request) +} + +// DescribeTrafficMirrors +// 本接口(DescribeTrafficMirrors)用于查询流量镜像实例信息。 +// +// 可能返回的错误码: +// INVALIDPARAMETER_COEXIST = "InvalidParameter.Coexist" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_RANGE = "InvalidParameterValue.Range" +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribeTrafficMirrorsWithContext(ctx context.Context, request *DescribeTrafficMirrorsRequest) (response *DescribeTrafficMirrorsResponse, err error) { + if request == nil { + request = NewDescribeTrafficMirrorsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeTrafficMirrors require credential") + } + + request.SetContext(ctx) + + response = NewDescribeTrafficMirrorsResponse() + err = c.Send(request, response) + return +} + func NewDescribeTrafficPackagesRequest() (request *DescribeTrafficPackagesRequest) { request = &DescribeTrafficPackagesRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -18001,6 +18549,7 @@ func NewEnableCcnRoutesResponse() (response *EnableCcnRoutesResponse) { // 可能返回的错误码: // INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" // RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION_CCNROUTECIDROVERLAP = "UnsupportedOperation.CcnRouteCidrOverlap" // UNSUPPORTEDOPERATION_ECMP = "UnsupportedOperation.Ecmp" func (c *Client) EnableCcnRoutes(request *EnableCcnRoutesRequest) (response *EnableCcnRoutesResponse, err error) { return c.EnableCcnRoutesWithContext(context.Background(), request) @@ -18014,6 +18563,7 @@ func (c *Client) EnableCcnRoutes(request *EnableCcnRoutesRequest) (response *Ena // 可能返回的错误码: // INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" // RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION_CCNROUTECIDROVERLAP = "UnsupportedOperation.CcnRouteCidrOverlap" // UNSUPPORTEDOPERATION_ECMP = "UnsupportedOperation.Ecmp" func (c *Client) EnableCcnRoutesWithContext(ctx context.Context, request *EnableCcnRoutesRequest) (response *EnableCcnRoutesResponse, err error) { if request == nil { @@ -18668,6 +19218,67 @@ func (c *Client) InquirePriceCreateDirectConnectGatewayWithContext(ctx context.C return } +func NewInquiryPriceAllocateAddressesRequest() (request *InquiryPriceAllocateAddressesRequest) { + request = &InquiryPriceAllocateAddressesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "InquiryPriceAllocateAddresses") + + + return +} + +func NewInquiryPriceAllocateAddressesResponse() (response *InquiryPriceAllocateAddressesResponse) { + response = &InquiryPriceAllocateAddressesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// InquiryPriceAllocateAddresses +// 本接口(InquiryPriceAllocateAddresses)用于新购弹性公网IP询价。 +// +// 可能返回的错误码: +// FAILEDOPERATION_INVALIDREGION = "FailedOperation.InvalidRegion" +// INVALIDACCOUNT_NOTSUPPORTED = "InvalidAccount.NotSupported" +// INVALIDPARAMETERVALUE_BANDWIDTHOUTOFRANGE = "InvalidParameterValue.BandwidthOutOfRange" +// INVALIDPARAMETERVALUE_COMBINATION = "InvalidParameterValue.Combination" +// INVALIDPARAMETERVALUE_UNAVAILABLEZONE = "InvalidParameterValue.UnavailableZone" +// UNSUPPORTEDOPERATION_ACTIONNOTFOUND = "UnsupportedOperation.ActionNotFound" +// UNSUPPORTEDOPERATION_UNSUPPORTEDREGION = "UnsupportedOperation.UnsupportedRegion" +func (c *Client) InquiryPriceAllocateAddresses(request *InquiryPriceAllocateAddressesRequest) (response *InquiryPriceAllocateAddressesResponse, err error) { + return c.InquiryPriceAllocateAddressesWithContext(context.Background(), request) +} + +// InquiryPriceAllocateAddresses +// 本接口(InquiryPriceAllocateAddresses)用于新购弹性公网IP询价。 +// +// 可能返回的错误码: +// FAILEDOPERATION_INVALIDREGION = "FailedOperation.InvalidRegion" +// INVALIDACCOUNT_NOTSUPPORTED = "InvalidAccount.NotSupported" +// INVALIDPARAMETERVALUE_BANDWIDTHOUTOFRANGE = "InvalidParameterValue.BandwidthOutOfRange" +// INVALIDPARAMETERVALUE_COMBINATION = "InvalidParameterValue.Combination" +// INVALIDPARAMETERVALUE_UNAVAILABLEZONE = "InvalidParameterValue.UnavailableZone" +// UNSUPPORTEDOPERATION_ACTIONNOTFOUND = "UnsupportedOperation.ActionNotFound" +// UNSUPPORTEDOPERATION_UNSUPPORTEDREGION = "UnsupportedOperation.UnsupportedRegion" +func (c *Client) InquiryPriceAllocateAddressesWithContext(ctx context.Context, request *InquiryPriceAllocateAddressesRequest) (response *InquiryPriceAllocateAddressesResponse, err error) { + if request == nil { + request = NewInquiryPriceAllocateAddressesRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("InquiryPriceAllocateAddresses require credential") + } + + request.SetContext(ctx) + + response = NewInquiryPriceAllocateAddressesResponse() + err = c.Send(request, response) + return +} + func NewInquiryPriceCreateVpnGatewayRequest() (request *InquiryPriceCreateVpnGatewayRequest) { request = &InquiryPriceCreateVpnGatewayRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -18719,6 +19330,116 @@ func (c *Client) InquiryPriceCreateVpnGatewayWithContext(ctx context.Context, re return } +func NewInquiryPriceModifyAddressesBandwidthRequest() (request *InquiryPriceModifyAddressesBandwidthRequest) { + request = &InquiryPriceModifyAddressesBandwidthRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "InquiryPriceModifyAddressesBandwidth") + + + return +} + +func NewInquiryPriceModifyAddressesBandwidthResponse() (response *InquiryPriceModifyAddressesBandwidthResponse) { + response = &InquiryPriceModifyAddressesBandwidthResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// InquiryPriceModifyAddressesBandwidth +// EIP修改带宽询价 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE_ADDRESSNOTFOUND = "InvalidParameterValue.AddressNotFound" +// INVALIDPARAMETERVALUE_BANDWIDTHOUTOFRANGE = "InvalidParameterValue.BandwidthOutOfRange" +// INVALIDPARAMETERVALUE_BANDWIDTHTOOSMALL = "InvalidParameterValue.BandwidthTooSmall" +// INVALIDPARAMETERVALUE_RESOURCEEXPIRED = "InvalidParameterValue.ResourceExpired" +// INVALIDPARAMETERVALUE_RESOURCENOTSUPPORT = "InvalidParameterValue.ResourceNotSupport" +func (c *Client) InquiryPriceModifyAddressesBandwidth(request *InquiryPriceModifyAddressesBandwidthRequest) (response *InquiryPriceModifyAddressesBandwidthResponse, err error) { + return c.InquiryPriceModifyAddressesBandwidthWithContext(context.Background(), request) +} + +// InquiryPriceModifyAddressesBandwidth +// EIP修改带宽询价 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE_ADDRESSNOTFOUND = "InvalidParameterValue.AddressNotFound" +// INVALIDPARAMETERVALUE_BANDWIDTHOUTOFRANGE = "InvalidParameterValue.BandwidthOutOfRange" +// INVALIDPARAMETERVALUE_BANDWIDTHTOOSMALL = "InvalidParameterValue.BandwidthTooSmall" +// INVALIDPARAMETERVALUE_RESOURCEEXPIRED = "InvalidParameterValue.ResourceExpired" +// INVALIDPARAMETERVALUE_RESOURCENOTSUPPORT = "InvalidParameterValue.ResourceNotSupport" +func (c *Client) InquiryPriceModifyAddressesBandwidthWithContext(ctx context.Context, request *InquiryPriceModifyAddressesBandwidthRequest) (response *InquiryPriceModifyAddressesBandwidthResponse, err error) { + if request == nil { + request = NewInquiryPriceModifyAddressesBandwidthRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("InquiryPriceModifyAddressesBandwidth require credential") + } + + request.SetContext(ctx) + + response = NewInquiryPriceModifyAddressesBandwidthResponse() + err = c.Send(request, response) + return +} + +func NewInquiryPriceRenewAddressesRequest() (request *InquiryPriceRenewAddressesRequest) { + request = &InquiryPriceRenewAddressesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "InquiryPriceRenewAddresses") + + + return +} + +func NewInquiryPriceRenewAddressesResponse() (response *InquiryPriceRenewAddressesResponse) { + response = &InquiryPriceRenewAddressesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// InquiryPriceRenewAddresses +// 本接口(InquiryPriceRenewAddresses)用于续费预付费弹性公网IP询价。 +// +// 可能返回的错误码: +// INVALIDADDRESSID_NOTFOUND = "InvalidAddressId.NotFound" +// INVALIDPARAMETERVALUE_ADDRESSNOTFOUND = "InvalidParameterValue.AddressNotFound" +// UNSUPPORTEDOPERATION_INVALIDADDRESSINTERNETCHARGETYPE = "UnsupportedOperation.InvalidAddressInternetChargeType" +func (c *Client) InquiryPriceRenewAddresses(request *InquiryPriceRenewAddressesRequest) (response *InquiryPriceRenewAddressesResponse, err error) { + return c.InquiryPriceRenewAddressesWithContext(context.Background(), request) +} + +// InquiryPriceRenewAddresses +// 本接口(InquiryPriceRenewAddresses)用于续费预付费弹性公网IP询价。 +// +// 可能返回的错误码: +// INVALIDADDRESSID_NOTFOUND = "InvalidAddressId.NotFound" +// INVALIDPARAMETERVALUE_ADDRESSNOTFOUND = "InvalidParameterValue.AddressNotFound" +// UNSUPPORTEDOPERATION_INVALIDADDRESSINTERNETCHARGETYPE = "UnsupportedOperation.InvalidAddressInternetChargeType" +func (c *Client) InquiryPriceRenewAddressesWithContext(ctx context.Context, request *InquiryPriceRenewAddressesRequest) (response *InquiryPriceRenewAddressesResponse, err error) { + if request == nil { + request = NewInquiryPriceRenewAddressesRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("InquiryPriceRenewAddresses require credential") + } + + request.SetContext(ctx) + + response = NewInquiryPriceRenewAddressesResponse() + err = c.Send(request, response) + return +} + func NewInquiryPriceRenewVpnGatewayRequest() (request *InquiryPriceRenewVpnGatewayRequest) { request = &InquiryPriceRenewVpnGatewayRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -19589,6 +20310,7 @@ func NewModifyAssistantCidrResponse() (response *ModifyAssistantCidrResponse) { // INVALIDPARAMETERVALUE_SUBNETCONFLICT = "InvalidParameterValue.SubnetConflict" // INVALIDPARAMETERVALUE_SUBNETOVERLAPASSISTCIDR = "InvalidParameterValue.SubnetOverlapAssistCidr" // INVALIDPARAMETERVALUE_VPCCIDRCONFLICT = "InvalidParameterValue.VpcCidrConflict" +// INVALIDPARAMETERVALUE_VPCCIDROVERLAPROUTE = "InvalidParameterValue.VpcCidrOverlapRoute" // LIMITEXCEEDED = "LimitExceeded" // RESOURCEINUSE = "ResourceInUse" // RESOURCENOTFOUND = "ResourceNotFound" @@ -19608,6 +20330,7 @@ func (c *Client) ModifyAssistantCidr(request *ModifyAssistantCidrRequest) (respo // INVALIDPARAMETERVALUE_SUBNETCONFLICT = "InvalidParameterValue.SubnetConflict" // INVALIDPARAMETERVALUE_SUBNETOVERLAPASSISTCIDR = "InvalidParameterValue.SubnetOverlapAssistCidr" // INVALIDPARAMETERVALUE_VPCCIDRCONFLICT = "InvalidParameterValue.VpcCidrConflict" +// INVALIDPARAMETERVALUE_VPCCIDROVERLAPROUTE = "InvalidParameterValue.VpcCidrOverlapRoute" // LIMITEXCEEDED = "LimitExceeded" // RESOURCEINUSE = "ResourceInUse" // RESOURCENOTFOUND = "ResourceNotFound" @@ -22626,6 +23349,65 @@ func (c *Client) ModifyTemplateMemberWithContext(ctx context.Context, request *M return } +func NewModifyTrafficMirrorAttributeRequest() (request *ModifyTrafficMirrorAttributeRequest) { + request = &ModifyTrafficMirrorAttributeRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "ModifyTrafficMirrorAttribute") + + + return +} + +func NewModifyTrafficMirrorAttributeResponse() (response *ModifyTrafficMirrorAttributeResponse) { + response = &ModifyTrafficMirrorAttributeResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ModifyTrafficMirrorAttribute +// 本接口(ModifyTrafficMirrorAttribute)用于修改流量镜像实例属性。 +// +// 注意:只支持修改名字和描述信息 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_TOOLONG = "InvalidParameterValue.TooLong" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) ModifyTrafficMirrorAttribute(request *ModifyTrafficMirrorAttributeRequest) (response *ModifyTrafficMirrorAttributeResponse, err error) { + return c.ModifyTrafficMirrorAttributeWithContext(context.Background(), request) +} + +// ModifyTrafficMirrorAttribute +// 本接口(ModifyTrafficMirrorAttribute)用于修改流量镜像实例属性。 +// +// 注意:只支持修改名字和描述信息 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_TOOLONG = "InvalidParameterValue.TooLong" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) ModifyTrafficMirrorAttributeWithContext(ctx context.Context, request *ModifyTrafficMirrorAttributeRequest) (response *ModifyTrafficMirrorAttributeResponse, err error) { + if request == nil { + request = NewModifyTrafficMirrorAttributeRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ModifyTrafficMirrorAttribute require credential") + } + + request.SetContext(ctx) + + response = NewModifyTrafficMirrorAttributeResponse() + err = c.Send(request, response) + return +} + func NewModifyVpcAttributeRequest() (request *ModifyVpcAttributeRequest) { request = &ModifyVpcAttributeRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -24185,7 +24967,7 @@ func NewReplaceCcnRouteTableInputPolicysResponse() (response *ReplaceCcnRouteTab // // // -// - 实例类型: `instance-type`,可选值:私有网络 `VPC`、专线网关 `DIRECTCONNECT`、专线网关 `VPNGW` +// - 实例类型: `instance-type`,可选值:私有网络 `VPC`、专线网关 `DIRECTCONNECT`、VPN网关 `VPNGW` // // - 实例ID: `instance-id`,例如:`dcg-8zljkrft`、`vpc-jdevjrup`,暂不支持 `Edge` 实例 // @@ -24229,7 +25011,7 @@ func (c *Client) ReplaceCcnRouteTableInputPolicys(request *ReplaceCcnRouteTableI // // // -// - 实例类型: `instance-type`,可选值:私有网络 `VPC`、专线网关 `DIRECTCONNECT`、专线网关 `VPNGW` +// - 实例类型: `instance-type`,可选值:私有网络 `VPC`、专线网关 `DIRECTCONNECT`、VPN网关 `VPNGW` // // - 实例ID: `instance-id`,例如:`dcg-8zljkrft`、`vpc-jdevjrup`,暂不支持 `Edge` 实例 // @@ -24539,7 +25321,9 @@ func NewReplaceRoutesResponse() (response *ReplaceRoutesResponse) { // INVALIDPARAMETERVALUE_CIDRNOTINPEERVPC = "InvalidParameterValue.CidrNotInPeerVpc" // INVALIDPARAMETERVALUE_DUPLICATE = "InvalidParameterValue.Duplicate" // INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_SUBNETOVERLAPROUTE = "InvalidParameterValue.SubnetOverlapRoute" // INVALIDPARAMETERVALUE_VPCCIDRCONFLICT = "InvalidParameterValue.VpcCidrConflict" +// INVALIDPARAMETERVALUE_VPCCIDROVERLAPROUTE = "InvalidParameterValue.VpcCidrOverlapRoute" // LIMITEXCEEDED = "LimitExceeded" // RESOURCENOTFOUND = "ResourceNotFound" // UNKNOWNPARAMETER_WITHGUESS = "UnknownParameter.WithGuess" @@ -24562,7 +25346,9 @@ func (c *Client) ReplaceRoutes(request *ReplaceRoutesRequest) (response *Replace // INVALIDPARAMETERVALUE_CIDRNOTINPEERVPC = "InvalidParameterValue.CidrNotInPeerVpc" // INVALIDPARAMETERVALUE_DUPLICATE = "InvalidParameterValue.Duplicate" // INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_SUBNETOVERLAPROUTE = "InvalidParameterValue.SubnetOverlapRoute" // INVALIDPARAMETERVALUE_VPCCIDRCONFLICT = "InvalidParameterValue.VpcCidrConflict" +// INVALIDPARAMETERVALUE_VPCCIDROVERLAPROUTE = "InvalidParameterValue.VpcCidrOverlapRoute" // LIMITEXCEEDED = "LimitExceeded" // RESOURCENOTFOUND = "ResourceNotFound" // UNKNOWNPARAMETER_WITHGUESS = "UnknownParameter.WithGuess" @@ -24973,8 +25759,10 @@ func NewResetRoutesResponse() (response *ResetRoutesResponse) { // INVALIDPARAMETERVALUE_CIDRNOTINPEERVPC = "InvalidParameterValue.CidrNotInPeerVpc" // INVALIDPARAMETERVALUE_DUPLICATE = "InvalidParameterValue.Duplicate" // INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_SUBNETOVERLAPROUTE = "InvalidParameterValue.SubnetOverlapRoute" // INVALIDPARAMETERVALUE_TOOLONG = "InvalidParameterValue.TooLong" // INVALIDPARAMETERVALUE_VPCCIDRCONFLICT = "InvalidParameterValue.VpcCidrConflict" +// INVALIDPARAMETERVALUE_VPCCIDROVERLAPROUTE = "InvalidParameterValue.VpcCidrOverlapRoute" // LIMITEXCEEDED = "LimitExceeded" // RESOURCENOTFOUND = "ResourceNotFound" // UNKNOWNPARAMETER_WITHGUESS = "UnknownParameter.WithGuess" @@ -24993,8 +25781,10 @@ func (c *Client) ResetRoutes(request *ResetRoutesRequest) (response *ResetRoutes // INVALIDPARAMETERVALUE_CIDRNOTINPEERVPC = "InvalidParameterValue.CidrNotInPeerVpc" // INVALIDPARAMETERVALUE_DUPLICATE = "InvalidParameterValue.Duplicate" // INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_SUBNETOVERLAPROUTE = "InvalidParameterValue.SubnetOverlapRoute" // INVALIDPARAMETERVALUE_TOOLONG = "InvalidParameterValue.TooLong" // INVALIDPARAMETERVALUE_VPCCIDRCONFLICT = "InvalidParameterValue.VpcCidrConflict" +// INVALIDPARAMETERVALUE_VPCCIDROVERLAPROUTE = "InvalidParameterValue.VpcCidrOverlapRoute" // LIMITEXCEEDED = "LimitExceeded" // RESOURCENOTFOUND = "ResourceNotFound" // UNKNOWNPARAMETER_WITHGUESS = "UnknownParameter.WithGuess" @@ -25017,6 +25807,207 @@ func (c *Client) ResetRoutesWithContext(ctx context.Context, request *ResetRoute return } +func NewResetTrafficMirrorFilterRequest() (request *ResetTrafficMirrorFilterRequest) { + request = &ResetTrafficMirrorFilterRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "ResetTrafficMirrorFilter") + + + return +} + +func NewResetTrafficMirrorFilterResponse() (response *ResetTrafficMirrorFilterResponse) { + response = &ResetTrafficMirrorFilterResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ResetTrafficMirrorFilter +// 本接口(ResetTrafficMirrorFilter)用于更新流量镜像实例过滤规则。 +// +// 注意:每一个流量镜像实例,不能同时支持按nat网关和五元组两种规则过滤 +// +// 可能返回的错误码: +// INVALIDPARAMETER_COEXIST = "InvalidParameter.Coexist" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_UNSUPPORTEDTRAFFICMIRRORACTION = "InvalidParameterValue.UnsupportedTrafficMirrorAction" +// LIMITEXCEEDED = "LimitExceeded" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) ResetTrafficMirrorFilter(request *ResetTrafficMirrorFilterRequest) (response *ResetTrafficMirrorFilterResponse, err error) { + return c.ResetTrafficMirrorFilterWithContext(context.Background(), request) +} + +// ResetTrafficMirrorFilter +// 本接口(ResetTrafficMirrorFilter)用于更新流量镜像实例过滤规则。 +// +// 注意:每一个流量镜像实例,不能同时支持按nat网关和五元组两种规则过滤 +// +// 可能返回的错误码: +// INVALIDPARAMETER_COEXIST = "InvalidParameter.Coexist" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_UNSUPPORTEDTRAFFICMIRRORACTION = "InvalidParameterValue.UnsupportedTrafficMirrorAction" +// LIMITEXCEEDED = "LimitExceeded" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) ResetTrafficMirrorFilterWithContext(ctx context.Context, request *ResetTrafficMirrorFilterRequest) (response *ResetTrafficMirrorFilterResponse, err error) { + if request == nil { + request = NewResetTrafficMirrorFilterRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ResetTrafficMirrorFilter require credential") + } + + request.SetContext(ctx) + + response = NewResetTrafficMirrorFilterResponse() + err = c.Send(request, response) + return +} + +func NewResetTrafficMirrorSrcsRequest() (request *ResetTrafficMirrorSrcsRequest) { + request = &ResetTrafficMirrorSrcsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "ResetTrafficMirrorSrcs") + + + return +} + +func NewResetTrafficMirrorSrcsResponse() (response *ResetTrafficMirrorSrcsResponse) { + response = &ResetTrafficMirrorSrcsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ResetTrafficMirrorSrcs +// 本接口(ResetTrafficMirrorSrcs)用于重置流量镜像实例采集对象。 +// +// 可能返回的错误码: +// INVALIDPARAMETER_DUPLICATEDLBTRAFFICMIRRORCOLLECTORS = "InvalidParameter.DuplicatedLbTrafficMirrorCollectors" +// INVALIDPARAMETER_UNSUPPORTEDLBTRAFFICMIRRORAZ = "InvalidParameter.UnsupportedLbTrafficMirrorAz" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_MIRRORLACKTARGETRESOURCE = "InvalidParameterValue.MirrorLackTargetResource" +// INVALIDPARAMETERVALUE_OBJECTVPCNOTCURRENTVPC = "InvalidParameterValue.ObjectVpcNotCurrentVpc" +// INVALIDPARAMETERVALUE_UNSUPPORTEDLBTRAFFICMIRRORAZ = "InvalidParameterValue.UnsupportedLbTrafficMirrorAz" +// LIMITEXCEEDED = "LimitExceeded" +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION_TRAFFICMIRRORNOTSUPPORTSAMESRCTARGET = "UnsupportedOperation.TrafficMirrorNotSupportSameSrcTarget" +func (c *Client) ResetTrafficMirrorSrcs(request *ResetTrafficMirrorSrcsRequest) (response *ResetTrafficMirrorSrcsResponse, err error) { + return c.ResetTrafficMirrorSrcsWithContext(context.Background(), request) +} + +// ResetTrafficMirrorSrcs +// 本接口(ResetTrafficMirrorSrcs)用于重置流量镜像实例采集对象。 +// +// 可能返回的错误码: +// INVALIDPARAMETER_DUPLICATEDLBTRAFFICMIRRORCOLLECTORS = "InvalidParameter.DuplicatedLbTrafficMirrorCollectors" +// INVALIDPARAMETER_UNSUPPORTEDLBTRAFFICMIRRORAZ = "InvalidParameter.UnsupportedLbTrafficMirrorAz" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_MIRRORLACKTARGETRESOURCE = "InvalidParameterValue.MirrorLackTargetResource" +// INVALIDPARAMETERVALUE_OBJECTVPCNOTCURRENTVPC = "InvalidParameterValue.ObjectVpcNotCurrentVpc" +// INVALIDPARAMETERVALUE_UNSUPPORTEDLBTRAFFICMIRRORAZ = "InvalidParameterValue.UnsupportedLbTrafficMirrorAz" +// LIMITEXCEEDED = "LimitExceeded" +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION_TRAFFICMIRRORNOTSUPPORTSAMESRCTARGET = "UnsupportedOperation.TrafficMirrorNotSupportSameSrcTarget" +func (c *Client) ResetTrafficMirrorSrcsWithContext(ctx context.Context, request *ResetTrafficMirrorSrcsRequest) (response *ResetTrafficMirrorSrcsResponse, err error) { + if request == nil { + request = NewResetTrafficMirrorSrcsRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ResetTrafficMirrorSrcs require credential") + } + + request.SetContext(ctx) + + response = NewResetTrafficMirrorSrcsResponse() + err = c.Send(request, response) + return +} + +func NewResetTrafficMirrorTargetRequest() (request *ResetTrafficMirrorTargetRequest) { + request = &ResetTrafficMirrorTargetRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "ResetTrafficMirrorTarget") + + + return +} + +func NewResetTrafficMirrorTargetResponse() (response *ResetTrafficMirrorTargetResponse) { + response = &ResetTrafficMirrorTargetResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ResetTrafficMirrorTarget +// 本接口(ResetTrafficMirrorTarget)用于更新流量镜像实例的接收目的信息。 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE_EMPTY = "InvalidParameterValue.Empty" +// INVALIDPARAMETERVALUE_INVALIDLBTRAFFICMIRRORRECIVERENDPOINT = "InvalidParameterValue.InvalidLbTrafficMirrorReciverEndpoint" +// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_MIRRORLACKTARGETRESOURCE = "InvalidParameterValue.MirrorLackTargetResource" +// LIMITEXCEEDED = "LimitExceeded" +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION_IPV6NOTSUPPORT = "UnsupportedOperation.Ipv6NotSupport" +// UNSUPPORTEDOPERATION_PUBLICCLBNOTSUPPORT = "UnsupportedOperation.PublicClbNotSupport" +// UNSUPPORTEDOPERATION_TRAFFICMIRRORNOTSUPPORTCLB = "UnsupportedOperation.TrafficMirrorNotSupportClb" +// UNSUPPORTEDOPERATION_TRAFFICMIRRORNOTSUPPORTSAMESRCTARGET = "UnsupportedOperation.TrafficMirrorNotSupportSameSrcTarget" +func (c *Client) ResetTrafficMirrorTarget(request *ResetTrafficMirrorTargetRequest) (response *ResetTrafficMirrorTargetResponse, err error) { + return c.ResetTrafficMirrorTargetWithContext(context.Background(), request) +} + +// ResetTrafficMirrorTarget +// 本接口(ResetTrafficMirrorTarget)用于更新流量镜像实例的接收目的信息。 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE_EMPTY = "InvalidParameterValue.Empty" +// INVALIDPARAMETERVALUE_INVALIDLBTRAFFICMIRRORRECIVERENDPOINT = "InvalidParameterValue.InvalidLbTrafficMirrorReciverEndpoint" +// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_MIRRORLACKTARGETRESOURCE = "InvalidParameterValue.MirrorLackTargetResource" +// LIMITEXCEEDED = "LimitExceeded" +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION_IPV6NOTSUPPORT = "UnsupportedOperation.Ipv6NotSupport" +// UNSUPPORTEDOPERATION_PUBLICCLBNOTSUPPORT = "UnsupportedOperation.PublicClbNotSupport" +// UNSUPPORTEDOPERATION_TRAFFICMIRRORNOTSUPPORTCLB = "UnsupportedOperation.TrafficMirrorNotSupportClb" +// UNSUPPORTEDOPERATION_TRAFFICMIRRORNOTSUPPORTSAMESRCTARGET = "UnsupportedOperation.TrafficMirrorNotSupportSameSrcTarget" +func (c *Client) ResetTrafficMirrorTargetWithContext(ctx context.Context, request *ResetTrafficMirrorTargetRequest) (response *ResetTrafficMirrorTargetResponse, err error) { + if request == nil { + request = NewResetTrafficMirrorTargetRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ResetTrafficMirrorTarget require credential") + } + + request.SetContext(ctx) + + response = NewResetTrafficMirrorTargetResponse() + err = c.Send(request, response) + return +} + func NewResetVpnConnectionRequest() (request *ResetVpnConnectionRequest) { request = &ResetVpnConnectionRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -25351,6 +26342,108 @@ func (c *Client) SetVpnGatewaysRenewFlagWithContext(ctx context.Context, request return } +func NewStartTrafficMirrorRequest() (request *StartTrafficMirrorRequest) { + request = &StartTrafficMirrorRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "StartTrafficMirror") + + + return +} + +func NewStartTrafficMirrorResponse() (response *StartTrafficMirrorResponse) { + response = &StartTrafficMirrorResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// StartTrafficMirror +// 本接口(StartTrafficMirror)用于开启流量镜像实例。 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) StartTrafficMirror(request *StartTrafficMirrorRequest) (response *StartTrafficMirrorResponse, err error) { + return c.StartTrafficMirrorWithContext(context.Background(), request) +} + +// StartTrafficMirror +// 本接口(StartTrafficMirror)用于开启流量镜像实例。 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) StartTrafficMirrorWithContext(ctx context.Context, request *StartTrafficMirrorRequest) (response *StartTrafficMirrorResponse, err error) { + if request == nil { + request = NewStartTrafficMirrorRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("StartTrafficMirror require credential") + } + + request.SetContext(ctx) + + response = NewStartTrafficMirrorResponse() + err = c.Send(request, response) + return +} + +func NewStopTrafficMirrorRequest() (request *StopTrafficMirrorRequest) { + request = &StopTrafficMirrorRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "StopTrafficMirror") + + + return +} + +func NewStopTrafficMirrorResponse() (response *StopTrafficMirrorResponse) { + response = &StopTrafficMirrorResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// StopTrafficMirror +// 本接口(StopTrafficMirror)用于关闭流量镜像实例。 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) StopTrafficMirror(request *StopTrafficMirrorRequest) (response *StopTrafficMirrorResponse, err error) { + return c.StopTrafficMirrorWithContext(context.Background(), request) +} + +// StopTrafficMirror +// 本接口(StopTrafficMirror)用于关闭流量镜像实例。 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) StopTrafficMirrorWithContext(ctx context.Context, request *StopTrafficMirrorRequest) (response *StopTrafficMirrorResponse, err error) { + if request == nil { + request = NewStopTrafficMirrorRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("StopTrafficMirror require credential") + } + + request.SetContext(ctx) + + response = NewStopTrafficMirrorResponse() + err = c.Send(request, response) + return +} + func NewTransformAddressRequest() (request *TransformAddressRequest) { request = &TransformAddressRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -25828,6 +26921,130 @@ func (c *Client) UnlockCcnsWithContext(ctx context.Context, request *UnlockCcnsR return } +func NewUpdateTrafficMirrorAllFilterRequest() (request *UpdateTrafficMirrorAllFilterRequest) { + request = &UpdateTrafficMirrorAllFilterRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "UpdateTrafficMirrorAllFilter") + + + return +} + +func NewUpdateTrafficMirrorAllFilterResponse() (response *UpdateTrafficMirrorAllFilterResponse) { + response = &UpdateTrafficMirrorAllFilterResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// UpdateTrafficMirrorAllFilter +// 本接口(UpdateTrafficMirrorAllFilter)用于更新流量镜像实例的过滤规则或者采集对象。 +// +// 可能返回的错误码: +// INVALIDPARAMETER_COEXIST = "InvalidParameter.Coexist" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_MIRRORLACKTARGETRESOURCE = "InvalidParameterValue.MirrorLackTargetResource" +// INVALIDPARAMETERVALUE_OBJECTUSEINTRAFFICMIRROR = "InvalidParameterValue.ObjectUseInTrafficMirror" +// INVALIDPARAMETERVALUE_OBJECTVPCNOTCURRENTVPC = "InvalidParameterValue.ObjectVpcNotCurrentVpc" +// INVALIDPARAMETERVALUE_UNSUPPORTEDTRAFFICMIRRORACTION = "InvalidParameterValue.UnsupportedTrafficMirrorAction" +// LIMITEXCEEDED = "LimitExceeded" +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION_TRAFFICMIRRORNOTSUPPORTSAMESRCTARGET = "UnsupportedOperation.TrafficMirrorNotSupportSameSrcTarget" +func (c *Client) UpdateTrafficMirrorAllFilter(request *UpdateTrafficMirrorAllFilterRequest) (response *UpdateTrafficMirrorAllFilterResponse, err error) { + return c.UpdateTrafficMirrorAllFilterWithContext(context.Background(), request) +} + +// UpdateTrafficMirrorAllFilter +// 本接口(UpdateTrafficMirrorAllFilter)用于更新流量镜像实例的过滤规则或者采集对象。 +// +// 可能返回的错误码: +// INVALIDPARAMETER_COEXIST = "InvalidParameter.Coexist" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_MIRRORLACKTARGETRESOURCE = "InvalidParameterValue.MirrorLackTargetResource" +// INVALIDPARAMETERVALUE_OBJECTUSEINTRAFFICMIRROR = "InvalidParameterValue.ObjectUseInTrafficMirror" +// INVALIDPARAMETERVALUE_OBJECTVPCNOTCURRENTVPC = "InvalidParameterValue.ObjectVpcNotCurrentVpc" +// INVALIDPARAMETERVALUE_UNSUPPORTEDTRAFFICMIRRORACTION = "InvalidParameterValue.UnsupportedTrafficMirrorAction" +// LIMITEXCEEDED = "LimitExceeded" +// RESOURCENOTFOUND = "ResourceNotFound" +// UNSUPPORTEDOPERATION_TRAFFICMIRRORNOTSUPPORTSAMESRCTARGET = "UnsupportedOperation.TrafficMirrorNotSupportSameSrcTarget" +func (c *Client) UpdateTrafficMirrorAllFilterWithContext(ctx context.Context, request *UpdateTrafficMirrorAllFilterRequest) (response *UpdateTrafficMirrorAllFilterResponse, err error) { + if request == nil { + request = NewUpdateTrafficMirrorAllFilterRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("UpdateTrafficMirrorAllFilter require credential") + } + + request.SetContext(ctx) + + response = NewUpdateTrafficMirrorAllFilterResponse() + err = c.Send(request, response) + return +} + +func NewUpdateTrafficMirrorDirectionRequest() (request *UpdateTrafficMirrorDirectionRequest) { + request = &UpdateTrafficMirrorDirectionRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("vpc", APIVersion, "UpdateTrafficMirrorDirection") + + + return +} + +func NewUpdateTrafficMirrorDirectionResponse() (response *UpdateTrafficMirrorDirectionResponse) { + response = &UpdateTrafficMirrorDirectionResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// UpdateTrafficMirrorDirection +// 本接口(UpdateTrafficMirrorDirection)用于更新流量镜像实例的采集方向。 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_UNSUPPORTEDTRAFFICMIRRORACTION = "InvalidParameterValue.UnsupportedTrafficMirrorAction" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) UpdateTrafficMirrorDirection(request *UpdateTrafficMirrorDirectionRequest) (response *UpdateTrafficMirrorDirectionResponse, err error) { + return c.UpdateTrafficMirrorDirectionWithContext(context.Background(), request) +} + +// UpdateTrafficMirrorDirection +// 本接口(UpdateTrafficMirrorDirection)用于更新流量镜像实例的采集方向。 +// +// 可能返回的错误码: +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// INVALIDPARAMETERVALUE_MALFORMED = "InvalidParameterValue.Malformed" +// INVALIDPARAMETERVALUE_UNSUPPORTEDTRAFFICMIRRORACTION = "InvalidParameterValue.UnsupportedTrafficMirrorAction" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) UpdateTrafficMirrorDirectionWithContext(ctx context.Context, request *UpdateTrafficMirrorDirectionRequest) (response *UpdateTrafficMirrorDirectionResponse, err error) { + if request == nil { + request = NewUpdateTrafficMirrorDirectionRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("UpdateTrafficMirrorDirection require credential") + } + + request.SetContext(ctx) + + response = NewUpdateTrafficMirrorDirectionResponse() + err = c.Send(request, response) + return +} + func NewWithdrawNotifyRoutesRequest() (request *WithdrawNotifyRoutesRequest) { request = &WithdrawNotifyRoutesRequest{ BaseRequest: &tchttp.BaseRequest{}, diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/errors.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/errors.go index b12483a15e..74336c0ac7 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/errors.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/errors.go @@ -101,6 +101,9 @@ const ( // 参数不支持同时指定。 INVALIDPARAMETER_COEXIST = "InvalidParameter.Coexist" + // 当前IP已在其他公网IP类型的流量镜像中使用。 + INVALIDPARAMETER_DUPLICATEDLBTRAFFICMIRRORCOLLECTORS = "InvalidParameter.DuplicatedLbTrafficMirrorCollectors" + // 指定过滤条件不存在。 INVALIDPARAMETER_FILTERINVALIDKEY = "InvalidParameter.FilterInvalidKey" @@ -128,6 +131,9 @@ const ( // 指定键值不是一个字符串型。 INVALIDPARAMETER_NOTSTR = "InvalidParameter.NotStr" + // 当前公网IP所在的地区不支持流量采集。 + INVALIDPARAMETER_UNSUPPORTEDLBTRAFFICMIRRORAZ = "InvalidParameter.UnsupportedLbTrafficMirrorAz" + // 专线网关跨可用区容灾组不存在。 INVALIDPARAMETER_VPGHAGROUPNOTFOUND = "InvalidParameter.VpgHaGroupNotFound" @@ -212,6 +218,12 @@ const ( // 本端地域和端地域重复。 INVALIDPARAMETERVALUE_DUPLICATEREGION = "InvalidParameterValue.DuplicateRegion" + // 当前IP已在其他公网IP类型的流量镜像中使用。 + INVALIDPARAMETERVALUE_DUPLICATEDLBTRAFFICMIRRORCOLLECTORS = "InvalidParameterValue.DuplicatedLbTrafficMirrorCollectors" + + // 当前接收端已在其他的公网IP类型的流量镜像中使用。 + INVALIDPARAMETERVALUE_DUPLICATEDLBTRAFFICMIRRORRECIVERENDPOINT = "InvalidParameterValue.DuplicatedLbTrafficMirrorReciverEndpoint" + // 值超过上限。 INVALIDPARAMETERVALUE_EIPBRANDWIDTHOUTINVALID = "InvalidParameterValue.EIPBrandWidthOutInvalid" @@ -278,6 +290,9 @@ const ( // 无效的IPv6地址。 INVALIDPARAMETERVALUE_INVALIDIPV6 = "InvalidParameterValue.InvalidIpv6" + // 接收端不是一个存在的虚机IP也不是可路由的idc机房IP。 + INVALIDPARAMETERVALUE_INVALIDLBTRAFFICMIRRORRECIVERENDPOINT = "InvalidParameterValue.InvalidLbTrafficMirrorReciverEndpoint" + // 旧的带宽值无效。 INVALIDPARAMETERVALUE_INVALIDOLDBANDWIDTH = "InvalidParameterValue.InvalidOldBandwidth" @@ -311,6 +326,9 @@ const ( // 该请求需要走BPAAS流程服务审批,当前发起审批中。 INVALIDPARAMETERVALUE_MEMBERAPPROVALAPPLICATIONSTARTED = "InvalidParameterValue.MemberApprovalApplicationStarted" + // 流量镜像target的内网带宽不足。 + INVALIDPARAMETERVALUE_MIRRORLACKTARGETRESOURCE = "InvalidParameterValue.MirrorLackTargetResource" + // 缺少绑定的实例。 INVALIDPARAMETERVALUE_MISSINGASSOCIATEENTITY = "InvalidParameterValue.MissingAssociateEntity" @@ -359,6 +377,12 @@ const ( // 不是UTF8编码。 INVALIDPARAMETERVALUE_NOTUTF8ENCODINGERROR = "InvalidParameterValue.NotUtf8EncodingError" + // 流量镜像采集对象已经被使用。 + INVALIDPARAMETERVALUE_OBJECTUSEINTRAFFICMIRROR = "InvalidParameterValue.ObjectUseInTrafficMirror" + + // 流量镜像采集的VPC不是当前VPCID。 + INVALIDPARAMETERVALUE_OBJECTVPCNOTCURRENTVPC = "InvalidParameterValue.ObjectVpcNotCurrentVpc" + // 该操作仅对主网卡支持。 INVALIDPARAMETERVALUE_ONLYSUPPORTEDFORMASTERNETWORKCARD = "InvalidParameterValue.OnlySupportedForMasterNetworkCard" @@ -398,6 +422,9 @@ const ( // 该资源不支持此操作。 INVALIDPARAMETERVALUE_RESOURCENOTSUPPORT = "InvalidParameterValue.ResourceNotSupport" + // 自定义路由的下一跳参数不正确。 + INVALIDPARAMETERVALUE_ROUTENEXTHOPINVALID = "InvalidParameterValue.RouteNextHopInvalid" + // 指定的优先级之间冲突或与已存在的优先级冲突。 INVALIDPARAMETERVALUE_ROUTEPOLICYPRIORITYCONFLICT = "InvalidParameterValue.RoutePolicyPriorityConflict" @@ -416,6 +443,9 @@ const ( // 子网与辅助Cidr网段重叠。 INVALIDPARAMETERVALUE_SUBNETOVERLAPASSISTCIDR = "InvalidParameterValue.SubnetOverlapAssistCidr" + // 子网与自定义路由目的Cidr网段完全重叠。 + INVALIDPARAMETERVALUE_SUBNETOVERLAPROUTE = "InvalidParameterValue.SubnetOverlapRoute" + // 子网CIDR不合法。 INVALIDPARAMETERVALUE_SUBNETRANGE = "InvalidParameterValue.SubnetRange" @@ -476,9 +506,18 @@ const ( // 该可用区不可用。 INVALIDPARAMETERVALUE_UNAVAILABLEZONE = "InvalidParameterValue.UnavailableZone" + // 当前公网IP所在的地区不支持流量采集。 + INVALIDPARAMETERVALUE_UNSUPPORTEDLBTRAFFICMIRRORAZ = "InvalidParameterValue.UnsupportedLbTrafficMirrorAz" + + // 当前流量镜像不支持此操作。 + INVALIDPARAMETERVALUE_UNSUPPORTEDTRAFFICMIRRORACTION = "InvalidParameterValue.UnsupportedTrafficMirrorAction" + // 目的网段和当前VPC的CIDR冲突。 INVALIDPARAMETERVALUE_VPCCIDRCONFLICT = "InvalidParameterValue.VpcCidrConflict" + // 辅助Cidr与自定义子网路由目的Cidr网段完全重叠。 + INVALIDPARAMETERVALUE_VPCCIDROVERLAPROUTE = "InvalidParameterValue.VpcCidrOverlapRoute" + // 当前功能不支持此专线网关。 INVALIDPARAMETERVALUE_VPGTYPENOTMATCH = "InvalidParameterValue.VpgTypeNotMatch" @@ -497,6 +536,9 @@ const ( // VPN通道探测ip冲突。 INVALIDPARAMETERVALUE_VPNCONNHEALTHCHECKIPCONFLICT = "InvalidParameterValue.VpnConnHealthCheckIpConflict" + // SPD规则源目IP有重叠。 + INVALIDPARAMETERVALUE_VPNCONNSPDCIDRCONFLICT = "InvalidParameterValue.VpnConnSpdCidrConflict" + // 参数Zone的值与CDC所在Zone冲突。 INVALIDPARAMETERVALUE_ZONECONFLICT = "InvalidParameterValue.ZoneConflict" @@ -800,12 +842,21 @@ const ( // 跨账号场景下不支持自驾云账号实例 关联普通账号云联网。 UNSUPPORTEDOPERATION_CCNORDINARYACCOUNTREFUSEATTACH = "UnsupportedOperation.CcnOrdinaryAccountRefuseAttach" + // 当前路由与已有路由的CIDR重叠,仅能开启其中一条路由。 + UNSUPPORTEDOPERATION_CCNROUTECIDROVERLAP = "UnsupportedOperation.CcnRouteCidrOverlap" + // 指定的路由表不存在。 UNSUPPORTEDOPERATION_CCNROUTETABLENOTEXIST = "UnsupportedOperation.CcnRouteTableNotExist" + // 流量计量类型云联网暂不支持跨境 + UNSUPPORTEDOPERATION_CCNTRAFFICMETERINGUNABLECROSSBORDER = "UnsupportedOperation.CcnTrafficMeteringUnableCrossBorder" + // CDC子网不支持创建非本地网关类型的路由。 UNSUPPORTEDOPERATION_CDCSUBNETNOTSUPPORTUNLOCALGATEWAY = "UnsupportedOperation.CdcSubnetNotSupportUnLocalGateway" + // VPG型的CDC网关不存在。 + UNSUPPORTEDOPERATION_CDCVPGNOTEXISTS = "UnsupportedOperation.CdcVpgNotExists" + // 实例已经和VPC绑定。 UNSUPPORTEDOPERATION_CLASSICINSTANCEIDALREADYEXISTS = "UnsupportedOperation.ClassicInstanceIdAlreadyExists" @@ -836,6 +887,9 @@ const ( // 指定的VPC未发现专线网关。 UNSUPPORTEDOPERATION_DCGATEWAYSNOTFOUNDINVPC = "UnsupportedOperation.DcGatewaysNotFoundInVpc" + // 当前专线网关有流日志,不支持删除。 + UNSUPPORTEDOPERATION_DCGHASFLOWLOG = "UnsupportedOperation.DcgHasFlowLog" + // 禁止删除默认路由表。 UNSUPPORTEDOPERATION_DELDEFAULTROUTE = "UnsupportedOperation.DelDefaultRoute" @@ -947,6 +1001,9 @@ const ( // 当前状态不支持发布至云联网,请重试。 UNSUPPORTEDOPERATION_INVALIDSTATUSNOTIFYCCN = "UnsupportedOperation.InvalidStatusNotifyCcn" + // 不支持IPV6。 + UNSUPPORTEDOPERATION_IPV6NOTSUPPORT = "UnsupportedOperation.Ipv6NotSupport" + // 关联当前云联网的实例的账号存在不是金融云账号。 UNSUPPORTEDOPERATION_ISNOTFINANCEACCOUNT = "UnsupportedOperation.IsNotFinanceAccount" @@ -1067,6 +1124,9 @@ const ( // 私网NAT网关存在关联规则。 UNSUPPORTEDOPERATION_PRIVATENATGATEWAYASSOCIATIONEXISTS = "UnsupportedOperation.PrivateNatGatewayAssociationExists" + // 不支持公网CLB。 + UNSUPPORTEDOPERATION_PUBLICCLBNOTSUPPORT = "UnsupportedOperation.PublicClbNotSupport" + // Nat网关至少存在一个弹性IP,弹性IP不能解绑。 UNSUPPORTEDOPERATION_PUBLICIPADDRESSDISASSOCIATE = "UnsupportedOperation.PublicIpAddressDisassociate" @@ -1172,6 +1232,12 @@ const ( // 不支持使用系统预留的标签键。 UNSUPPORTEDOPERATION_TAGSYSTEMRESERVEDTAGKEY = "UnsupportedOperation.TagSystemReservedTagKey" + // 流量镜像不支持目标Clb。 + UNSUPPORTEDOPERATION_TRAFFICMIRRORNOTSUPPORTCLB = "UnsupportedOperation.TrafficMirrorNotSupportClb" + + // 流量镜像源、目的不可同端。 + UNSUPPORTEDOPERATION_TRAFFICMIRRORNOTSUPPORTSAMESRCTARGET = "UnsupportedOperation.TrafficMirrorNotSupportSameSrcTarget" + // 账号ID不存在。 UNSUPPORTEDOPERATION_UINNOTFOUND = "UnsupportedOperation.UinNotFound" diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/models.go index bdb778cdfa..14132535f9 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/models.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/models.go @@ -152,7 +152,6 @@ type AccessPolicy struct { UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"` // Remark - // 注意:此字段可能返回 null,表示取不到有效值。 Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"` } @@ -494,8 +493,10 @@ type AddressInfo struct { Address *string `json:"Address,omitnil,omitempty" name:"Address"` // 备注。 - // 注意:此字段可能返回 null,表示取不到有效值。 Description *string `json:"Description,omitnil,omitempty" name:"Description"` + + // 更新时间。 + UpdatedTime *string `json:"UpdatedTime,omitnil,omitempty" name:"UpdatedTime"` } type AddressTemplate struct { @@ -511,11 +512,13 @@ type AddressTemplate struct { // 创建时间。 CreatedTime *string `json:"CreatedTime,omitnil,omitempty" name:"CreatedTime"` + // 最后更新时间。 + UpdatedTime *string `json:"UpdatedTime,omitnil,omitempty" name:"UpdatedTime"` + // 带备注的IP地址信息。 AddressExtraSet []*AddressInfo `json:"AddressExtraSet,omitnil,omitempty" name:"AddressExtraSet"` // 标签键值对。 - // 注意:此字段可能返回 null,表示取不到有效值。 TagSet []*Tag `json:"TagSet,omitnil,omitempty" name:"TagSet"` } @@ -532,11 +535,13 @@ type AddressTemplateGroup struct { // 创建时间。 CreatedTime *string `json:"CreatedTime,omitnil,omitempty" name:"CreatedTime"` + // 最后更新时间。 + UpdatedTime *string `json:"UpdatedTime,omitnil,omitempty" name:"UpdatedTime"` + // IP地址模板实例。 AddressTemplateSet []*AddressTemplateItem `json:"AddressTemplateSet,omitnil,omitempty" name:"AddressTemplateSet"` // 标签键值对。 - // 注意:此字段可能返回 null,表示取不到有效值。 TagSet []*Tag `json:"TagSet,omitnil,omitempty" name:"TagSet"` } @@ -544,14 +549,20 @@ type AddressTemplateItem struct { // IP地址模板ID AddressTemplateId *string `json:"AddressTemplateId,omitnil,omitempty" name:"AddressTemplateId"` - // IP模板名称 + // IP模板名称,废弃字段。 AddressTemplateName *string `json:"AddressTemplateName,omitnil,omitempty" name:"AddressTemplateName"` - // 废弃字段 + // 废弃字段。 From *string `json:"From,omitnil,omitempty" name:"From"` // 废弃字段 To *string `json:"To,omitnil,omitempty" name:"To"` + + // 备注。 + Description *string `json:"Description,omitnil,omitempty" name:"Description"` + + // 最后更新时间。 + UpdatedTime *string `json:"UpdatedTime,omitnil,omitempty" name:"UpdatedTime"` } type AddressTemplateSpecification struct { @@ -1036,16 +1047,16 @@ func (r *AllocateIPv6AddressesResponse) FromJsonString(s string) error { // Predefined struct for user type AllocateIp6AddressesBandwidthRequestParams struct { - // 需要开通公网访问能力的IPV6地址 + // 需要开通公网访问能力的IPv6地址 Ip6Addresses []*string `json:"Ip6Addresses,omitnil,omitempty" name:"Ip6Addresses"` // 带宽,单位Mbps。默认是1Mbps InternetMaxBandwidthOut *int64 `json:"InternetMaxBandwidthOut,omitnil,omitempty" name:"InternetMaxBandwidthOut"` - // 网络计费模式。IPV6当前支持"TRAFFIC_POSTPAID_BY_HOUR","BANDWIDTH_PACKAGE"。默认网络计费模式是"TRAFFIC_POSTPAID_BY_HOUR"。 + // 网络计费模式。IPv6当前支持"TRAFFIC_POSTPAID_BY_HOUR","BANDWIDTH_PACKAGE"。默认网络计费模式是"TRAFFIC_POSTPAID_BY_HOUR"。 InternetChargeType *string `json:"InternetChargeType,omitnil,omitempty" name:"InternetChargeType"` - // 带宽包id,上移账号,申请带宽包计费模式的ipv6地址需要传入. + // 带宽包id,上移账号,申请带宽包计费模式的IPv6地址需要传入. BandwidthPackageId *string `json:"BandwidthPackageId,omitnil,omitempty" name:"BandwidthPackageId"` // 需要关联的标签列表。 @@ -1055,16 +1066,16 @@ type AllocateIp6AddressesBandwidthRequestParams struct { type AllocateIp6AddressesBandwidthRequest struct { *tchttp.BaseRequest - // 需要开通公网访问能力的IPV6地址 + // 需要开通公网访问能力的IPv6地址 Ip6Addresses []*string `json:"Ip6Addresses,omitnil,omitempty" name:"Ip6Addresses"` // 带宽,单位Mbps。默认是1Mbps InternetMaxBandwidthOut *int64 `json:"InternetMaxBandwidthOut,omitnil,omitempty" name:"InternetMaxBandwidthOut"` - // 网络计费模式。IPV6当前支持"TRAFFIC_POSTPAID_BY_HOUR","BANDWIDTH_PACKAGE"。默认网络计费模式是"TRAFFIC_POSTPAID_BY_HOUR"。 + // 网络计费模式。IPv6当前支持"TRAFFIC_POSTPAID_BY_HOUR","BANDWIDTH_PACKAGE"。默认网络计费模式是"TRAFFIC_POSTPAID_BY_HOUR"。 InternetChargeType *string `json:"InternetChargeType,omitnil,omitempty" name:"InternetChargeType"` - // 带宽包id,上移账号,申请带宽包计费模式的ipv6地址需要传入. + // 带宽包id,上移账号,申请带宽包计费模式的IPv6地址需要传入. BandwidthPackageId *string `json:"BandwidthPackageId,omitnil,omitempty" name:"BandwidthPackageId"` // 需要关联的标签列表。 @@ -1096,7 +1107,7 @@ func (r *AllocateIp6AddressesBandwidthRequest) FromJsonString(s string) error { // Predefined struct for user type AllocateIp6AddressesBandwidthResponseParams struct { - // 弹性公网 IPV6 的唯一 ID 列表。 + // 传统弹性公网 IPv6 的唯一 ID 列表。 AddressSet []*string `json:"AddressSet,omitnil,omitempty" name:"AddressSet"` // 异步任务TaskId。可以使用[DescribeTaskResult](https://cloud.tencent.com/document/api/215/36271)接口查询任务状态。 @@ -1445,7 +1456,7 @@ type AssociateAddressRequestParams struct { // 指定绑定时是否设置直通。弹性公网 IP 直通请参见 [EIP 直通](https://cloud.tencent.com/document/product/1199/41709)。取值:True、False,默认值为 False。当绑定 CVM 实例、EKS 弹性集群时,可设定此参数为 True。此参数目前处于内测中,如需使用,请提交 [工单申请](https://console.cloud.tencent.com/workorder/category?level1_id=6&level2_id=163&source=0&data_title=%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%20CLB&level3_id=1071&queue=96&scene_code=34639&step=2)。 EipDirectConnection *bool `json:"EipDirectConnection,omitnil,omitempty" name:"EipDirectConnection"` - // 要绑定的实例所在的地域 + // 要绑定的实例所在地域。默认无需填写,仅限GAAP特殊场景需指定实例所在地域。 InstanceRegion *string `json:"InstanceRegion,omitnil,omitempty" name:"InstanceRegion"` } @@ -1467,7 +1478,7 @@ type AssociateAddressRequest struct { // 指定绑定时是否设置直通。弹性公网 IP 直通请参见 [EIP 直通](https://cloud.tencent.com/document/product/1199/41709)。取值:True、False,默认值为 False。当绑定 CVM 实例、EKS 弹性集群时,可设定此参数为 True。此参数目前处于内测中,如需使用,请提交 [工单申请](https://console.cloud.tencent.com/workorder/category?level1_id=6&level2_id=163&source=0&data_title=%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%20CLB&level3_id=1071&queue=96&scene_code=34639&step=2)。 EipDirectConnection *bool `json:"EipDirectConnection,omitnil,omitempty" name:"EipDirectConnection"` - // 要绑定的实例所在的地域 + // 要绑定的实例所在地域。默认无需填写,仅限GAAP特殊场景需指定实例所在地域。 InstanceRegion *string `json:"InstanceRegion,omitnil,omitempty" name:"InstanceRegion"` } @@ -2383,6 +2394,17 @@ type BandwidthPackageBillBandwidth struct { BandwidthUsage *float64 `json:"BandwidthUsage,omitnil,omitempty" name:"BandwidthUsage"` } +type BandwidthRange struct { + // 资源ID。 + ResourceId *string `json:"ResourceId,omitnil,omitempty" name:"ResourceId"` + + // 带宽下限,单位:Mbps。 + BandwidthLowerLimit *uint64 `json:"BandwidthLowerLimit,omitnil,omitempty" name:"BandwidthLowerLimit"` + + // 带宽上限,单位:Mbps。 + BandwidthUpperLimit *uint64 `json:"BandwidthUpperLimit,omitnil,omitempty" name:"BandwidthUpperLimit"` +} + type BatchModifySnapshotPolicy struct { // 快照策略Id。 SnapshotPolicyId *string `json:"SnapshotPolicyId,omitnil,omitempty" name:"SnapshotPolicyId"` @@ -2410,23 +2432,18 @@ type BgpConfig struct { type BgpConfigAndAsn struct { // BGP通道CIDR - // 注意:此字段可能返回 null,表示取不到有效值。 TunnelCidr *string `json:"TunnelCidr,omitnil,omitempty" name:"TunnelCidr"` // 本端BGP IP - // 注意:此字段可能返回 null,表示取不到有效值。 LocalBgpIp *string `json:"LocalBgpIp,omitnil,omitempty" name:"LocalBgpIp"` // 对端BGP IP - // 注意:此字段可能返回 null,表示取不到有效值。 RemoteBgpIp *string `json:"RemoteBgpIp,omitnil,omitempty" name:"RemoteBgpIp"` // 本端BGP ASN号 - // 注意:此字段可能返回 null,表示取不到有效值。 LocalBgpAsn *string `json:"LocalBgpAsn,omitnil,omitempty" name:"LocalBgpAsn"` // 对端BGP ASN号 - // 注意:此字段可能返回 null,表示取不到有效值。 RemoteBgpAsn *string `json:"RemoteBgpAsn,omitnil,omitempty" name:"RemoteBgpAsn"` } @@ -2562,82 +2579,69 @@ type CcnBandwidth struct { CcnId *string `json:"CcnId,omitnil,omitempty" name:"CcnId"` // 实例的创建时间。 - // 注意:此字段可能返回 null,表示取不到有效值。 CreatedTime *string `json:"CreatedTime,omitnil,omitempty" name:"CreatedTime"` // 实例的过期时间 - // 注意:此字段可能返回 null,表示取不到有效值。 ExpiredTime *string `json:"ExpiredTime,omitnil,omitempty" name:"ExpiredTime"` // 带宽实例的唯一ID。 - // 注意:此字段可能返回 null,表示取不到有效值。 RegionFlowControlId *string `json:"RegionFlowControlId,omitnil,omitempty" name:"RegionFlowControlId"` // 带宽是否自动续费的标记。 - // 注意:此字段可能返回 null,表示取不到有效值。 RenewFlag *string `json:"RenewFlag,omitnil,omitempty" name:"RenewFlag"` // 描述带宽的地域和限速上限信息。在地域间限速的情况下才会返回参数,出口限速模式不返回。 - // 注意:此字段可能返回 null,表示取不到有效值。 CcnRegionBandwidthLimit *CcnRegionBandwidthLimitInfo `json:"CcnRegionBandwidthLimit,omitnil,omitempty" name:"CcnRegionBandwidthLimit"` // 云市场实例ID。 - // 注意:此字段可能返回 null,表示取不到有效值。 MarketId *string `json:"MarketId,omitnil,omitempty" name:"MarketId"` // 实例所属用户主账号ID。 - // 注意:此字段可能返回 null,表示取不到有效值。 UserAccountID *string `json:"UserAccountID,omitnil,omitempty" name:"UserAccountID"` // 是否跨境,`true`表示跨境,反之不跨境。 - // 注意:此字段可能返回 null,表示取不到有效值。 IsCrossBorder *bool `json:"IsCrossBorder,omitnil,omitempty" name:"IsCrossBorder"` // `true`表示封禁,地域间流量不通,`false`解禁,地域间流量正常 - // 注意:此字段可能返回 null,表示取不到有效值。 IsSecurityLock *bool `json:"IsSecurityLock,omitnil,omitempty" name:"IsSecurityLock"` // `POSTPAID`表示后付费,`PREPAID`表示预付费。 - // 注意:此字段可能返回 null,表示取不到有效值。 InstanceChargeType *string `json:"InstanceChargeType,omitnil,omitempty" name:"InstanceChargeType"` // 实例更新时间 - // 注意:此字段可能返回 null,表示取不到有效值。 UpdateTime *string `json:"UpdateTime,omitnil,omitempty" name:"UpdateTime"` } type CcnBandwidthInfo struct { // 带宽所属的云联网ID。 - // 注意:此字段可能返回 null,表示取不到有效值。 CcnId *string `json:"CcnId,omitnil,omitempty" name:"CcnId"` // 实例的创建时间。 - // 注意:此字段可能返回 null,表示取不到有效值。 CreatedTime *string `json:"CreatedTime,omitnil,omitempty" name:"CreatedTime"` // 实例的过期时间 - // 注意:此字段可能返回 null,表示取不到有效值。 ExpiredTime *string `json:"ExpiredTime,omitnil,omitempty" name:"ExpiredTime"` // 带宽实例的唯一ID。 - // 注意:此字段可能返回 null,表示取不到有效值。 RegionFlowControlId *string `json:"RegionFlowControlId,omitnil,omitempty" name:"RegionFlowControlId"` // 带宽是否自动续费的标记。 - // 注意:此字段可能返回 null,表示取不到有效值。 RenewFlag *string `json:"RenewFlag,omitnil,omitempty" name:"RenewFlag"` // 描述带宽的地域和限速上限信息。在地域间限速的情况下才会返回参数,出口限速模式不返回。 - // 注意:此字段可能返回 null,表示取不到有效值。 CcnRegionBandwidthLimit *CcnRegionBandwidthLimit `json:"CcnRegionBandwidthLimit,omitnil,omitempty" name:"CcnRegionBandwidthLimit"` // 云市场实例ID。 - // 注意:此字段可能返回 null,表示取不到有效值。 MarketId *string `json:"MarketId,omitnil,omitempty" name:"MarketId"` // 资源绑定的标签列表 - // 注意:此字段可能返回 null,表示取不到有效值。 TagSet []*Tag `json:"TagSet,omitnil,omitempty" name:"TagSet"` + + // `true表示`Qos默认带宽;`false`表示非Qos默认带宽; + DefaultQosBandwidthFlag *bool `json:"DefaultQosBandwidthFlag,omitnil,omitempty" name:"DefaultQosBandwidthFlag"` + + // 服务等级信息。 + QosLevel *string `json:"QosLevel,omitnil,omitempty" name:"QosLevel"` } type CcnBatchRouteTable struct { @@ -2680,16 +2684,15 @@ type CcnInstance struct { Description *string `json:"Description,omitnil,omitempty" name:"Description"` // 实例关联的路由表ID。 - // 注意:此字段可能返回 null,表示取不到有效值。 RouteTableId *string `json:"RouteTableId,omitnil,omitempty" name:"RouteTableId"` // 实例付费方式 - // 注意:此字段可能返回 null,表示取不到有效值。 OrderType *string `json:"OrderType,omitnil,omitempty" name:"OrderType"` } type CcnInstanceInfo struct { - + // 云联网唯一ID。 + CcnId *string `json:"CcnId,omitnil,omitempty" name:"CcnId"` } type CcnInstanceWithoutRegion struct { @@ -2718,7 +2721,6 @@ type CcnRegionBandwidthLimit struct { IsBm *bool `json:"IsBm,omitnil,omitempty" name:"IsBm"` // 目的地域,例如:ap-shanghai - // 注意:此字段可能返回 null,表示取不到有效值。 DstRegion *string `json:"DstRegion,omitnil,omitempty" name:"DstRegion"` // 目的地域是否为黑石地域,默认`false`。 @@ -2727,15 +2729,12 @@ type CcnRegionBandwidthLimit struct { type CcnRegionBandwidthLimitInfo struct { // 源地域,例如:ap-shanghai - // 注意:此字段可能返回 null,表示取不到有效值。 SourceRegion *string `json:"SourceRegion,omitnil,omitempty" name:"SourceRegion"` // 目的地域, 例如:ap-shanghai - // 注意:此字段可能返回 null,表示取不到有效值。 DestinationRegion *string `json:"DestinationRegion,omitnil,omitempty" name:"DestinationRegion"` // 出带宽上限,单位:Mbps。 - // 注意:此字段可能返回 null,表示取不到有效值。 BandwidthLimit *uint64 `json:"BandwidthLimit,omitnil,omitempty" name:"BandwidthLimit"` } @@ -2780,11 +2779,9 @@ type CcnRoute struct { InstanceExtraName *string `json:"InstanceExtraName,omitnil,omitempty" name:"InstanceExtraName"` // 实例类型 - // 注意:此字段可能返回 null,表示取不到有效值。 AliasType *string `json:"AliasType,omitnil,omitempty" name:"AliasType"` // 实例id - // 注意:此字段可能返回 null,表示取不到有效值。 AliasInstanceId *string `json:"AliasInstanceId,omitnil,omitempty" name:"AliasInstanceId"` } @@ -2833,19 +2830,15 @@ type CcnRouteTableBroadcastPolicy struct { Description *string `json:"Description,omitnil,omitempty" name:"Description"` // as-path操作 - // 注意:此字段可能返回 null,表示取不到有效值。 OperateAsPath *string `json:"OperateAsPath,omitnil,omitempty" name:"OperateAsPath"` // as-path操作模式 - // 注意:此字段可能返回 null,表示取不到有效值。 AsPathOperateMode *string `json:"AsPathOperateMode,omitnil,omitempty" name:"AsPathOperateMode"` // community操作 - // 注意:此字段可能返回 null,表示取不到有效值。 OperateCommunitySet []*string `json:"OperateCommunitySet,omitnil,omitempty" name:"OperateCommunitySet"` // community操作模式 - // 注意:此字段可能返回 null,表示取不到有效值。 CommunityOperateMode *string `json:"CommunityOperateMode,omitnil,omitempty" name:"CommunityOperateMode"` } @@ -2879,15 +2872,12 @@ type CcnRouteTableInputPolicy struct { type CcnRouteTableInputPolicys struct { // 策略列表。 - // 注意:此字段可能返回 null,表示取不到有效值。 Policys []*CcnRouteTableInputPolicy `json:"Policys,omitnil,omitempty" name:"Policys"` // 版本号。 - // 注意:此字段可能返回 null,表示取不到有效值。 PolicyVersion *uint64 `json:"PolicyVersion,omitnil,omitempty" name:"PolicyVersion"` // 创建时间。 - // 注意:此字段可能返回 null,表示取不到有效值。 CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"` } @@ -3043,6 +3033,72 @@ func (r *CheckDefaultSubnetResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type CheckGatewayFlowMonitorRequestParams struct { + // 网关实例ID,目前我们支持的网关实例类型有, + // 专线网关实例ID,形如,`dcg-ltjahce6`; + // Nat网关实例ID,形如,`nat-ltjahce6`; + // VPN网关实例ID,形如,`vpn-ltjahce6`。 + GatewayId *string `json:"GatewayId,omitnil,omitempty" name:"GatewayId"` +} + +type CheckGatewayFlowMonitorRequest struct { + *tchttp.BaseRequest + + // 网关实例ID,目前我们支持的网关实例类型有, + // 专线网关实例ID,形如,`dcg-ltjahce6`; + // Nat网关实例ID,形如,`nat-ltjahce6`; + // VPN网关实例ID,形如,`vpn-ltjahce6`。 + GatewayId *string `json:"GatewayId,omitnil,omitempty" name:"GatewayId"` +} + +func (r *CheckGatewayFlowMonitorRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CheckGatewayFlowMonitorRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "GatewayId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CheckGatewayFlowMonitorRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CheckGatewayFlowMonitorResponseParams struct { + // 网关是否启用了流控。true为启用,false未启用。 + Enabled *bool `json:"Enabled,omitnil,omitempty" name:"Enabled"` + + // 网关的带宽。 + Bandwidth *uint64 `json:"Bandwidth,omitnil,omitempty" name:"Bandwidth"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type CheckGatewayFlowMonitorResponse struct { + *tchttp.BaseResponse + Response *CheckGatewayFlowMonitorResponseParams `json:"Response"` +} + +func (r *CheckGatewayFlowMonitorResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CheckGatewayFlowMonitorResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type CheckNetDetectStateRequestParams struct { // 探测目的IPv4地址数组,最多两个。 @@ -3170,6 +3226,88 @@ func (r *CheckNetDetectStateResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type CheckTrafficMirrorRequestParams struct { + // 流量镜像所属的vpc + VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` + + // 流量镜像的实例id + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` + + // 流量镜像的采集端IP列表 + CollectorSources []*string `json:"CollectorSources,omitnil,omitempty" name:"CollectorSources"` + + // 流量镜像的接收端的子网 + SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"` + + // 流量镜像采集端的 + CollectorTarget []*TrafficMirrorTarget `json:"CollectorTarget,omitnil,omitempty" name:"CollectorTarget"` +} + +type CheckTrafficMirrorRequest struct { + *tchttp.BaseRequest + + // 流量镜像所属的vpc + VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` + + // 流量镜像的实例id + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` + + // 流量镜像的采集端IP列表 + CollectorSources []*string `json:"CollectorSources,omitnil,omitempty" name:"CollectorSources"` + + // 流量镜像的接收端的子网 + SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"` + + // 流量镜像采集端的 + CollectorTarget []*TrafficMirrorTarget `json:"CollectorTarget,omitnil,omitempty" name:"CollectorTarget"` +} + +func (r *CheckTrafficMirrorRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CheckTrafficMirrorRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "VpcId") + delete(f, "TrafficMirrorId") + delete(f, "CollectorSources") + delete(f, "SubnetId") + delete(f, "CollectorTarget") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CheckTrafficMirrorRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CheckTrafficMirrorResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type CheckTrafficMirrorResponse struct { + *tchttp.BaseResponse + Response *CheckTrafficMirrorResponseParams `json:"Response"` +} + +func (r *CheckTrafficMirrorResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CheckTrafficMirrorResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type CidrForCcn struct { // local cidr值。 // 注意:此字段可能返回 null,表示取不到有效值。 @@ -3182,11 +3320,9 @@ type CidrForCcn struct { type ClassicLinkInstance struct { // VPC实例ID - // 注意:此字段可能返回 null,表示取不到有效值。 VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` // 云服务器实例唯一ID - // 注意:此字段可能返回 null,表示取不到有效值。 InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` } @@ -3263,7 +3399,7 @@ type CloneSecurityGroupRequestParams struct { // 指定绑定的标签列表,例如:[{"Key": "city", "Value": "shanghai"}]。 // 若指定Tags入参且指定IsCloneTags为true,会合并源安全组的标签和新增的标签。 - Tags *Tag `json:"Tags,omitnil,omitempty" name:"Tags"` + Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"` } type CloneSecurityGroupRequest struct { @@ -3286,7 +3422,7 @@ type CloneSecurityGroupRequest struct { // 指定绑定的标签列表,例如:[{"Key": "city", "Value": "shanghai"}]。 // 若指定Tags入参且指定IsCloneTags为true,会合并源安全组的标签和新增的标签。 - Tags *Tag `json:"Tags,omitnil,omitempty" name:"Tags"` + Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"` } func (r *CloneSecurityGroupRequest) ToJsonString() string { @@ -3544,6 +3680,9 @@ type CreateAndAttachNetworkInterfaceRequestParams struct { // 绑定类型:0 标准型 1 扩展型。 AttachType *uint64 `json:"AttachType,omitnil,omitempty" name:"AttachType"` + // 是否创建RDMA弹性网卡,true:创建rdma弹性网卡,false:普通弹性网卡。不填默认为false。 + IsRdma *bool `json:"IsRdma,omitnil,omitempty" name:"IsRdma"` + // 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。 ClientToken *string `json:"ClientToken,omitnil,omitempty" name:"ClientToken"` } @@ -3584,6 +3723,9 @@ type CreateAndAttachNetworkInterfaceRequest struct { // 绑定类型:0 标准型 1 扩展型。 AttachType *uint64 `json:"AttachType,omitnil,omitempty" name:"AttachType"` + // 是否创建RDMA弹性网卡,true:创建rdma弹性网卡,false:普通弹性网卡。不填默认为false。 + IsRdma *bool `json:"IsRdma,omitnil,omitempty" name:"IsRdma"` + // 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。 ClientToken *string `json:"ClientToken,omitnil,omitempty" name:"ClientToken"` } @@ -3611,6 +3753,7 @@ func (r *CreateAndAttachNetworkInterfaceRequest) FromJsonString(s string) error delete(f, "NetworkInterfaceDescription") delete(f, "Tags") delete(f, "AttachType") + delete(f, "IsRdma") delete(f, "ClientToken") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAndAttachNetworkInterfaceRequest has unknown keys!", "") @@ -4463,11 +4606,17 @@ type CreateDirectConnectGatewayRequestParams struct { // 云联网路由发布模式,可选值:`standard`(标准模式)、`exquisite`(精细模式)。只有云联网类型专线网关才支持`ModeType`。 ModeType *string `json:"ModeType,omitnil,omitempty" name:"ModeType"` + // 专线网关自定义ASN,范围:45090,64512-65534 和4200000000-4294967294 + GatewayAsn *uint64 `json:"GatewayAsn,omitnil,omitempty" name:"GatewayAsn"` + // 专线网关可用区 Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"` // 专线网关高可用区容灾组ID HaZoneGroupId *string `json:"HaZoneGroupId,omitnil,omitempty" name:"HaZoneGroupId"` + + // 标签 + Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"` } type CreateDirectConnectGatewayRequest struct { @@ -4493,11 +4642,17 @@ type CreateDirectConnectGatewayRequest struct { // 云联网路由发布模式,可选值:`standard`(标准模式)、`exquisite`(精细模式)。只有云联网类型专线网关才支持`ModeType`。 ModeType *string `json:"ModeType,omitnil,omitempty" name:"ModeType"` + // 专线网关自定义ASN,范围:45090,64512-65534 和4200000000-4294967294 + GatewayAsn *uint64 `json:"GatewayAsn,omitnil,omitempty" name:"GatewayAsn"` + // 专线网关可用区 Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"` // 专线网关高可用区容灾组ID HaZoneGroupId *string `json:"HaZoneGroupId,omitnil,omitempty" name:"HaZoneGroupId"` + + // 标签 + Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"` } func (r *CreateDirectConnectGatewayRequest) ToJsonString() string { @@ -4517,8 +4672,10 @@ func (r *CreateDirectConnectGatewayRequest) FromJsonString(s string) error { delete(f, "NetworkInstanceId") delete(f, "GatewayType") delete(f, "ModeType") + delete(f, "GatewayAsn") delete(f, "Zone") delete(f, "HaZoneGroupId") + delete(f, "Tags") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateDirectConnectGatewayRequest has unknown keys!", "") } @@ -5709,6 +5866,9 @@ type CreateNetworkInterfaceRequestParams struct { // 网卡trunking模式设置,Enable-开启,Disable--关闭,默认关闭。 TrunkingFlag *string `json:"TrunkingFlag,omitnil,omitempty" name:"TrunkingFlag"` + // 是否创建RDMA弹性网卡,true:创建rdma弹性网卡,false:普通弹性网卡。不填默认为false + IsRdma *bool `json:"IsRdma,omitnil,omitempty" name:"IsRdma"` + // 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。 ClientToken *string `json:"ClientToken,omitnil,omitempty" name:"ClientToken"` } @@ -5747,6 +5907,9 @@ type CreateNetworkInterfaceRequest struct { // 网卡trunking模式设置,Enable-开启,Disable--关闭,默认关闭。 TrunkingFlag *string `json:"TrunkingFlag,omitnil,omitempty" name:"TrunkingFlag"` + // 是否创建RDMA弹性网卡,true:创建rdma弹性网卡,false:普通弹性网卡。不填默认为false + IsRdma *bool `json:"IsRdma,omitnil,omitempty" name:"IsRdma"` + // 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。 ClientToken *string `json:"ClientToken,omitnil,omitempty" name:"ClientToken"` } @@ -5773,6 +5936,7 @@ func (r *CreateNetworkInterfaceRequest) FromJsonString(s string) error { delete(f, "PrivateIpAddresses") delete(f, "Tags") delete(f, "TrunkingFlag") + delete(f, "IsRdma") delete(f, "ClientToken") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateNetworkInterfaceRequest has unknown keys!", "") @@ -6972,6 +7136,140 @@ func (r *CreateSubnetsResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type CreateTrafficMirrorRequestParams struct { + // VPC实例ID。 + VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` + + // 流量镜像名字。 + TrafficMirrorName *string `json:"TrafficMirrorName,omitnil,omitempty" name:"TrafficMirrorName"` + + // 流量镜像描述。 + TrafficMirrorDescribe *string `json:"TrafficMirrorDescribe,omitnil,omitempty" name:"TrafficMirrorDescribe"` + + // 流量镜像状态, 支持RUNNING/STOPED(vpc),RUNNING(公网IP),当采集vpc流量镜像时,此参数为必填。 + State *string `json:"State,omitnil,omitempty" name:"State"` + + // 流量镜像采集方向,支持EGRESS/INGRESS/ALL(vpc),ALL(公网IP)。 + Direction *string `json:"Direction,omitnil,omitempty" name:"Direction"` + + // 流量镜像的采集对象。 + CollectorSrcs []*string `json:"CollectorSrcs,omitnil,omitempty" name:"CollectorSrcs"` + + // 流量镜像过滤的natgw实例。 + NatId *string `json:"NatId,omitnil,omitempty" name:"NatId"` + + // 需要过滤的五元组规则。 + CollectorNormalFilters []*TrafficMirrorFilter `json:"CollectorNormalFilters,omitnil,omitempty" name:"CollectorNormalFilters"` + + // 流量镜像的目的地址。 + CollectorTarget *TrafficMirrorTarget `json:"CollectorTarget,omitnil,omitempty" name:"CollectorTarget"` + + // 流量镜像采集流量的发送端所属子网ID。 + SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"` + + // 创建的流量镜像的类型,支持VPC/PUBLICIP,默认为VPC类型。 + Type *string `json:"Type,omitnil,omitempty" name:"Type"` + + // 指定绑定的标签列表,例如:[{"Key": "city", "Value": "shanghai"}]。 + Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"` +} + +type CreateTrafficMirrorRequest struct { + *tchttp.BaseRequest + + // VPC实例ID。 + VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` + + // 流量镜像名字。 + TrafficMirrorName *string `json:"TrafficMirrorName,omitnil,omitempty" name:"TrafficMirrorName"` + + // 流量镜像描述。 + TrafficMirrorDescribe *string `json:"TrafficMirrorDescribe,omitnil,omitempty" name:"TrafficMirrorDescribe"` + + // 流量镜像状态, 支持RUNNING/STOPED(vpc),RUNNING(公网IP),当采集vpc流量镜像时,此参数为必填。 + State *string `json:"State,omitnil,omitempty" name:"State"` + + // 流量镜像采集方向,支持EGRESS/INGRESS/ALL(vpc),ALL(公网IP)。 + Direction *string `json:"Direction,omitnil,omitempty" name:"Direction"` + + // 流量镜像的采集对象。 + CollectorSrcs []*string `json:"CollectorSrcs,omitnil,omitempty" name:"CollectorSrcs"` + + // 流量镜像过滤的natgw实例。 + NatId *string `json:"NatId,omitnil,omitempty" name:"NatId"` + + // 需要过滤的五元组规则。 + CollectorNormalFilters []*TrafficMirrorFilter `json:"CollectorNormalFilters,omitnil,omitempty" name:"CollectorNormalFilters"` + + // 流量镜像的目的地址。 + CollectorTarget *TrafficMirrorTarget `json:"CollectorTarget,omitnil,omitempty" name:"CollectorTarget"` + + // 流量镜像采集流量的发送端所属子网ID。 + SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"` + + // 创建的流量镜像的类型,支持VPC/PUBLICIP,默认为VPC类型。 + Type *string `json:"Type,omitnil,omitempty" name:"Type"` + + // 指定绑定的标签列表,例如:[{"Key": "city", "Value": "shanghai"}]。 + Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"` +} + +func (r *CreateTrafficMirrorRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateTrafficMirrorRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "VpcId") + delete(f, "TrafficMirrorName") + delete(f, "TrafficMirrorDescribe") + delete(f, "State") + delete(f, "Direction") + delete(f, "CollectorSrcs") + delete(f, "NatId") + delete(f, "CollectorNormalFilters") + delete(f, "CollectorTarget") + delete(f, "SubnetId") + delete(f, "Type") + delete(f, "Tags") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateTrafficMirrorRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateTrafficMirrorResponseParams struct { + // 流量镜像实例 + TrafficMirror *TrafficMirror `json:"TrafficMirror,omitnil,omitempty" name:"TrafficMirror"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type CreateTrafficMirrorResponse struct { + *tchttp.BaseResponse + Response *CreateTrafficMirrorResponseParams `json:"Response"` +} + +func (r *CreateTrafficMirrorResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *CreateTrafficMirrorResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type CreateTrafficPackagesRequestParams struct { // 流量包规格。可选值: @@ -7428,7 +7726,6 @@ func (r *CreateVpcPeeringConnectionRequest) FromJsonString(s string) error { // Predefined struct for user type CreateVpcPeeringConnectionResponseParams struct { // 对等连接ID - // 注意:此字段可能返回 null,表示取不到有效值。 PeeringConnectionId *string `json:"PeeringConnectionId,omitnil,omitempty" name:"PeeringConnectionId"` // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 @@ -8035,10 +8332,10 @@ type CreateVpnGatewaySslServerRequestParams struct { // SSL VPN服务端监听协议端口,默认1194。 SslVpnPort *int64 `json:"SslVpnPort,omitnil,omitempty" name:"SslVpnPort"` - // 认证算法。可选 'SHA1', 'MD5', 'NONE',默认NONE。 + // 认证算法。可选 'SHA1',默认SHA1。 IntegrityAlgorithm *string `json:"IntegrityAlgorithm,omitnil,omitempty" name:"IntegrityAlgorithm"` - // 加密算法。可选 'AES-128-CBC','AES-192-CBC', 'AES-256-CBC', 'NONE',默认NONE。 + // 加密算法。可选 'AES-128-CBC','AES-192-CBC', 'AES-256-CBC', 默认AES-128-CBC。 EncryptAlgorithm *string `json:"EncryptAlgorithm,omitnil,omitempty" name:"EncryptAlgorithm"` // 是否支持压缩。当前不支持压缩,默认False。 @@ -8078,10 +8375,10 @@ type CreateVpnGatewaySslServerRequest struct { // SSL VPN服务端监听协议端口,默认1194。 SslVpnPort *int64 `json:"SslVpnPort,omitnil,omitempty" name:"SslVpnPort"` - // 认证算法。可选 'SHA1', 'MD5', 'NONE',默认NONE。 + // 认证算法。可选 'SHA1',默认SHA1。 IntegrityAlgorithm *string `json:"IntegrityAlgorithm,omitnil,omitempty" name:"IntegrityAlgorithm"` - // 加密算法。可选 'AES-128-CBC','AES-192-CBC', 'AES-256-CBC', 'NONE',默认NONE。 + // 加密算法。可选 'AES-128-CBC','AES-192-CBC', 'AES-256-CBC', 默认AES-128-CBC。 EncryptAlgorithm *string `json:"EncryptAlgorithm,omitnil,omitempty" name:"EncryptAlgorithm"` // 是否支持压缩。当前不支持压缩,默认False。 @@ -8227,11 +8524,9 @@ type CrossBorderCompliance struct { CreatedTime *string `json:"CreatedTime,omitnil,omitempty" name:"CreatedTime"` // 法定代表人身份证号。 - // 注意:此字段可能返回 null,表示取不到有效值。 LegalPersonId *string `json:"LegalPersonId,omitnil,omitempty" name:"LegalPersonId"` // 法定代表人身份证。 - // 注意:此字段可能返回 null,表示取不到有效值。 LegalPersonIdCard *string `json:"LegalPersonIdCard,omitnil,omitempty" name:"LegalPersonIdCard"` } @@ -10656,6 +10951,60 @@ func (r *DeleteTemplateMemberResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type DeleteTrafficMirrorRequestParams struct { + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` +} + +type DeleteTrafficMirrorRequest struct { + *tchttp.BaseRequest + + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` +} + +func (r *DeleteTrafficMirrorRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DeleteTrafficMirrorRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "TrafficMirrorId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteTrafficMirrorRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DeleteTrafficMirrorResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DeleteTrafficMirrorResponse struct { + *tchttp.BaseResponse + Response *DeleteTrafficMirrorResponseParams `json:"Response"` +} + +func (r *DeleteTrafficMirrorResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DeleteTrafficMirrorResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type DeleteTrafficPackagesRequestParams struct { // 待删除的流量包唯一ID数组 @@ -11338,6 +11687,63 @@ func (r *DescribeAccountAttributesResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type DescribeAddressBandwidthRangeRequestParams struct { + // EIP资源ID列表,单次查询上限20。 + AddressIds []*string `json:"AddressIds,omitnil,omitempty" name:"AddressIds"` +} + +type DescribeAddressBandwidthRangeRequest struct { + *tchttp.BaseRequest + + // EIP资源ID列表,单次查询上限20。 + AddressIds []*string `json:"AddressIds,omitnil,omitempty" name:"AddressIds"` +} + +func (r *DescribeAddressBandwidthRangeRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeAddressBandwidthRangeRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "AddressIds") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAddressBandwidthRangeRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeAddressBandwidthRangeResponseParams struct { + // EIP带宽上下限详细信息。 + BandwidthRangeSet []*BandwidthRange `json:"BandwidthRangeSet,omitnil,omitempty" name:"BandwidthRangeSet"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeAddressBandwidthRangeResponse struct { + *tchttp.BaseResponse + Response *DescribeAddressBandwidthRangeResponseParams `json:"Response"` +} + +func (r *DescribeAddressBandwidthRangeResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeAddressBandwidthRangeResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type DescribeAddressQuotaRequestParams struct { @@ -11407,6 +11813,18 @@ type DescribeAddressTemplateGroupsRequestParams struct { // 是否查询IP地址模板成员标识。 NeedMemberInfo *bool `json:"NeedMemberInfo,omitnil,omitempty" name:"NeedMemberInfo"` + + // 排序字段。支持:`AddressTemplateGroupId ` `CreatedTime` `UpdateTime`。注意:该字段没有默认值。 + OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"` + + // 排序方法。升序:`ASC`,倒序:`DESC`。注意:该字段没有默认值。 + OrderDirection *string `json:"OrderDirection,omitnil,omitempty" name:"OrderDirection"` + + // IP地址成员排序字段。支持:`AddressTemplateId` `UpdateTime`。注意:该字段没有默认值。 + MemberOrderField *string `json:"MemberOrderField,omitnil,omitempty" name:"MemberOrderField"` + + // IP地址成员排序方法。升序:`ASC`,倒序:`DESC`。注意:该字段没有默认值。 + MemberOrderDirection *string `json:"MemberOrderDirection,omitnil,omitempty" name:"MemberOrderDirection"` } type DescribeAddressTemplateGroupsRequest struct { @@ -11425,6 +11843,18 @@ type DescribeAddressTemplateGroupsRequest struct { // 是否查询IP地址模板成员标识。 NeedMemberInfo *bool `json:"NeedMemberInfo,omitnil,omitempty" name:"NeedMemberInfo"` + + // 排序字段。支持:`AddressTemplateGroupId ` `CreatedTime` `UpdateTime`。注意:该字段没有默认值。 + OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"` + + // 排序方法。升序:`ASC`,倒序:`DESC`。注意:该字段没有默认值。 + OrderDirection *string `json:"OrderDirection,omitnil,omitempty" name:"OrderDirection"` + + // IP地址成员排序字段。支持:`AddressTemplateId` `UpdateTime`。注意:该字段没有默认值。 + MemberOrderField *string `json:"MemberOrderField,omitnil,omitempty" name:"MemberOrderField"` + + // IP地址成员排序方法。升序:`ASC`,倒序:`DESC`。注意:该字段没有默认值。 + MemberOrderDirection *string `json:"MemberOrderDirection,omitnil,omitempty" name:"MemberOrderDirection"` } func (r *DescribeAddressTemplateGroupsRequest) ToJsonString() string { @@ -11443,6 +11873,10 @@ func (r *DescribeAddressTemplateGroupsRequest) FromJsonString(s string) error { delete(f, "Offset") delete(f, "Limit") delete(f, "NeedMemberInfo") + delete(f, "OrderField") + delete(f, "OrderDirection") + delete(f, "MemberOrderField") + delete(f, "MemberOrderDirection") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAddressTemplateGroupsRequest has unknown keys!", "") } @@ -11493,6 +11927,18 @@ type DescribeAddressTemplatesRequestParams struct { // 是否获取IP地址模板成员标识。 NeedMemberInfo *bool `json:"NeedMemberInfo,omitnil,omitempty" name:"NeedMemberInfo"` + + // 排序字段。支持:`AddressTemplateId` `CreatedTime` `UpdateTime`。注意:该字段没有默认值。 + OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"` + + // 排序方法。升序:`ASC`,倒序:`DESC`。注意:该字段没有默认值。 + OrderDirection *string `json:"OrderDirection,omitnil,omitempty" name:"OrderDirection"` + + // IP成员排序字段。支持:`Address` `UpdateTime`。注意:该字段没有默认值。 + MemberOrderField *string `json:"MemberOrderField,omitnil,omitempty" name:"MemberOrderField"` + + // IP成员排序方法。升序:`ASC`,倒序:`DESC`。注意:该字段没有默认值。 + MemberOrderDirection *string `json:"MemberOrderDirection,omitnil,omitempty" name:"MemberOrderDirection"` } type DescribeAddressTemplatesRequest struct { @@ -11512,6 +11958,18 @@ type DescribeAddressTemplatesRequest struct { // 是否获取IP地址模板成员标识。 NeedMemberInfo *bool `json:"NeedMemberInfo,omitnil,omitempty" name:"NeedMemberInfo"` + + // 排序字段。支持:`AddressTemplateId` `CreatedTime` `UpdateTime`。注意:该字段没有默认值。 + OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"` + + // 排序方法。升序:`ASC`,倒序:`DESC`。注意:该字段没有默认值。 + OrderDirection *string `json:"OrderDirection,omitnil,omitempty" name:"OrderDirection"` + + // IP成员排序字段。支持:`Address` `UpdateTime`。注意:该字段没有默认值。 + MemberOrderField *string `json:"MemberOrderField,omitnil,omitempty" name:"MemberOrderField"` + + // IP成员排序方法。升序:`ASC`,倒序:`DESC`。注意:该字段没有默认值。 + MemberOrderDirection *string `json:"MemberOrderDirection,omitnil,omitempty" name:"MemberOrderDirection"` } func (r *DescribeAddressTemplatesRequest) ToJsonString() string { @@ -11530,6 +11988,10 @@ func (r *DescribeAddressTemplatesRequest) FromJsonString(s string) error { delete(f, "Offset") delete(f, "Limit") delete(f, "NeedMemberInfo") + delete(f, "OrderField") + delete(f, "OrderDirection") + delete(f, "MemberOrderField") + delete(f, "MemberOrderDirection") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAddressTemplatesRequest has unknown keys!", "") } @@ -11756,6 +12218,63 @@ func (r *DescribeAssistantCidrResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type DescribeBandwidthPackageBandwidthRangeRequestParams struct { + // 带宽包资源ID列表,单次查询上限20。 + BandwidthPackageIds []*string `json:"BandwidthPackageIds,omitnil,omitempty" name:"BandwidthPackageIds"` +} + +type DescribeBandwidthPackageBandwidthRangeRequest struct { + *tchttp.BaseRequest + + // 带宽包资源ID列表,单次查询上限20。 + BandwidthPackageIds []*string `json:"BandwidthPackageIds,omitnil,omitempty" name:"BandwidthPackageIds"` +} + +func (r *DescribeBandwidthPackageBandwidthRangeRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeBandwidthPackageBandwidthRangeRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "BandwidthPackageIds") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBandwidthPackageBandwidthRangeRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeBandwidthPackageBandwidthRangeResponseParams struct { + // 带宽包带宽上下限详细信息。 + BandwidthRangeSet []*BandwidthRange `json:"BandwidthRangeSet,omitnil,omitempty" name:"BandwidthRangeSet"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeBandwidthPackageBandwidthRangeResponse struct { + *tchttp.BaseResponse + Response *DescribeBandwidthPackageBandwidthRangeResponseParams `json:"Response"` +} + +func (r *DescribeBandwidthPackageBandwidthRangeResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeBandwidthPackageBandwidthRangeResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type DescribeBandwidthPackageBillUsageRequestParams struct { // 后付费共享带宽包的唯一ID @@ -13220,7 +13739,6 @@ func (r *DescribeCrossBorderFlowMonitorRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeCrossBorderFlowMonitorResponseParams struct { // 云联网跨境带宽监控数据 - // 注意:此字段可能返回 null,表示取不到有效值。 CrossBorderFlowMonitorData []*CrossBorderFlowMonitorData `json:"CrossBorderFlowMonitorData,omitnil,omitempty" name:"CrossBorderFlowMonitorData"` // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 @@ -14499,11 +15017,11 @@ func (r *DescribeIPv6AddressesResponse) FromJsonString(s string) error { // Predefined struct for user type DescribeIp6AddressesRequestParams struct { - // 标识 IPV6 的唯一 ID 列表。IPV6 唯一 ID 形如:`eip-11112222`。参数不支持同时指定`Ip6AddressIds`和`Filters`。 + // 标识 IPv6 的唯一 ID 列表。IPv6 唯一 ID 形如:`eip-11112222`。参数不支持同时指定`Ip6AddressIds`和`Filters`。 Ip6AddressIds []*string `json:"Ip6AddressIds,omitnil,omitempty" name:"Ip6AddressIds"` // 每次请求的`Filters`的上限为10,`Filter.Values`的上限为100。参数不支持同时指定`AddressIds`和`Filters`。详细的过滤条件如下: - //
  • address-ip - String - 是否必填:否 - (过滤条件)按照 IPV6 的 IP 地址过滤。
  • + //
  • address-ip - String - 是否必填:否 - (过滤条件)按照 IPv6 的 IP 地址过滤。
  • //
  • network-interface-id - String - 是否必填:否 - (过滤条件)按照弹性网卡的唯一ID过滤。
  • Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` @@ -14517,11 +15035,11 @@ type DescribeIp6AddressesRequestParams struct { type DescribeIp6AddressesRequest struct { *tchttp.BaseRequest - // 标识 IPV6 的唯一 ID 列表。IPV6 唯一 ID 形如:`eip-11112222`。参数不支持同时指定`Ip6AddressIds`和`Filters`。 + // 标识 IPv6 的唯一 ID 列表。IPv6 唯一 ID 形如:`eip-11112222`。参数不支持同时指定`Ip6AddressIds`和`Filters`。 Ip6AddressIds []*string `json:"Ip6AddressIds,omitnil,omitempty" name:"Ip6AddressIds"` // 每次请求的`Filters`的上限为10,`Filter.Values`的上限为100。参数不支持同时指定`AddressIds`和`Filters`。详细的过滤条件如下: - //
  • address-ip - String - 是否必填:否 - (过滤条件)按照 IPV6 的 IP 地址过滤。
  • + //
  • address-ip - String - 是否必填:否 - (过滤条件)按照 IPv6 的 IP 地址过滤。
  • //
  • network-interface-id - String - 是否必填:否 - (过滤条件)按照弹性网卡的唯一ID过滤。
  • Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` @@ -14556,10 +15074,10 @@ func (r *DescribeIp6AddressesRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeIp6AddressesResponseParams struct { - // 符合条件的 IPV6 数量。 + // 符合条件的 IPv6 数量。 TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` - // IPV6 详细信息列表。 + // IPv6 详细信息列表。 AddressSet []*Address `json:"AddressSet,omitnil,omitempty" name:"AddressSet"` // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 @@ -16636,6 +17154,88 @@ func (r *DescribeRouteConflictsResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type DescribeRouteListRequestParams struct { + //
  • vpc-id - String - (过滤条件)VPC实例ID,形如:vpc-f49l6u0z。
  • + //
  • gateway-id - String - (过滤条件)网关ID。
  • + //
  • description - String - (过滤条件)路由描述。
  • + //
  • route-table-id - String - (过滤条件)路由表实例ID。
  • + //
  • dest-cidr - String - (过滤条件)目的端地址,支持模糊左匹配。
  • + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` + + // 偏移量。 + Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 请求对象个数。 + Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"` +} + +type DescribeRouteListRequest struct { + *tchttp.BaseRequest + + //
  • vpc-id - String - (过滤条件)VPC实例ID,形如:vpc-f49l6u0z。
  • + //
  • gateway-id - String - (过滤条件)网关ID。
  • + //
  • description - String - (过滤条件)路由描述。
  • + //
  • route-table-id - String - (过滤条件)路由表实例ID。
  • + //
  • dest-cidr - String - (过滤条件)目的端地址,支持模糊左匹配。
  • + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` + + // 偏移量。 + Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 请求对象个数。 + Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"` +} + +func (r *DescribeRouteListRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeRouteListRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Filters") + delete(f, "Offset") + delete(f, "Limit") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRouteListRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeRouteListResponseParams struct { + // 路由对象。 + RouteSet []*Route `json:"RouteSet,omitnil,omitempty" name:"RouteSet"` + + // 符合条件的实例数量。 + TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeRouteListResponse struct { + *tchttp.BaseResponse + Response *DescribeRouteListResponseParams `json:"Response"` +} + +func (r *DescribeRouteListResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeRouteListResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type DescribeRouteTableAssociatedInstancesRequestParams struct { // 过滤条件: @@ -17410,6 +18010,18 @@ type DescribeServiceTemplateGroupsRequestParams struct { // 是否获取协议端口模板成员标识。 NeedMemberInfo *bool `json:"NeedMemberInfo,omitnil,omitempty" name:"NeedMemberInfo"` + + // 排序字段。支持:`ServiceTemplateGroupId ` `CreatedTime` `UpdateTime`。注意:该字段没有默认值。 + OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"` + + // 排序方法。升序:`ASC`,倒序:`DESC`。注意:该字段没有默认值。 + OrderDirection *string `json:"OrderDirection,omitnil,omitempty" name:"OrderDirection"` + + // 协议端口成员排序字段。支持:`ServiceTemplateId ` `UpdateTime`。注意:该字段没有默认值。 + MemberOrderField *string `json:"MemberOrderField,omitnil,omitempty" name:"MemberOrderField"` + + // 协议端口成员排序方法。升序:`ASC`,倒序:`DESC`。注意:该字段没有默认值。 + MemberOrderDirection *string `json:"MemberOrderDirection,omitnil,omitempty" name:"MemberOrderDirection"` } type DescribeServiceTemplateGroupsRequest struct { @@ -17428,6 +18040,18 @@ type DescribeServiceTemplateGroupsRequest struct { // 是否获取协议端口模板成员标识。 NeedMemberInfo *bool `json:"NeedMemberInfo,omitnil,omitempty" name:"NeedMemberInfo"` + + // 排序字段。支持:`ServiceTemplateGroupId ` `CreatedTime` `UpdateTime`。注意:该字段没有默认值。 + OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"` + + // 排序方法。升序:`ASC`,倒序:`DESC`。注意:该字段没有默认值。 + OrderDirection *string `json:"OrderDirection,omitnil,omitempty" name:"OrderDirection"` + + // 协议端口成员排序字段。支持:`ServiceTemplateId ` `UpdateTime`。注意:该字段没有默认值。 + MemberOrderField *string `json:"MemberOrderField,omitnil,omitempty" name:"MemberOrderField"` + + // 协议端口成员排序方法。升序:`ASC`,倒序:`DESC`。注意:该字段没有默认值。 + MemberOrderDirection *string `json:"MemberOrderDirection,omitnil,omitempty" name:"MemberOrderDirection"` } func (r *DescribeServiceTemplateGroupsRequest) ToJsonString() string { @@ -17446,6 +18070,10 @@ func (r *DescribeServiceTemplateGroupsRequest) FromJsonString(s string) error { delete(f, "Offset") delete(f, "Limit") delete(f, "NeedMemberInfo") + delete(f, "OrderField") + delete(f, "OrderDirection") + delete(f, "MemberOrderField") + delete(f, "MemberOrderDirection") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeServiceTemplateGroupsRequest has unknown keys!", "") } @@ -17496,6 +18124,18 @@ type DescribeServiceTemplatesRequestParams struct { // 是否获取协议端口成员标识。 NeedMemberInfo *bool `json:"NeedMemberInfo,omitnil,omitempty" name:"NeedMemberInfo"` + + // 排序字段。支持:`ServiceTemplateId ` `CreatedTime` `UpdateTime`。注意:该字段没有默认值。 + OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"` + + // 排序方法。升序:`ASC`,倒序:`DESC`。注意:该字段没有默认值。 + OrderDirection *string `json:"OrderDirection,omitnil,omitempty" name:"OrderDirection"` + + // 协议端口排序字段。支持:`Service ` `UpdateTime`。注意:该字段没有默认值。 + MemberOrderField *string `json:"MemberOrderField,omitnil,omitempty" name:"MemberOrderField"` + + // 协议端口排序方法。升序:`ASC`,倒序:`DESC`。注意:该字段没有默认值。 + MemberOrderDirection *string `json:"MemberOrderDirection,omitnil,omitempty" name:"MemberOrderDirection"` } type DescribeServiceTemplatesRequest struct { @@ -17515,6 +18155,18 @@ type DescribeServiceTemplatesRequest struct { // 是否获取协议端口成员标识。 NeedMemberInfo *bool `json:"NeedMemberInfo,omitnil,omitempty" name:"NeedMemberInfo"` + + // 排序字段。支持:`ServiceTemplateId ` `CreatedTime` `UpdateTime`。注意:该字段没有默认值。 + OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"` + + // 排序方法。升序:`ASC`,倒序:`DESC`。注意:该字段没有默认值。 + OrderDirection *string `json:"OrderDirection,omitnil,omitempty" name:"OrderDirection"` + + // 协议端口排序字段。支持:`Service ` `UpdateTime`。注意:该字段没有默认值。 + MemberOrderField *string `json:"MemberOrderField,omitnil,omitempty" name:"MemberOrderField"` + + // 协议端口排序方法。升序:`ASC`,倒序:`DESC`。注意:该字段没有默认值。 + MemberOrderDirection *string `json:"MemberOrderDirection,omitnil,omitempty" name:"MemberOrderDirection"` } func (r *DescribeServiceTemplatesRequest) ToJsonString() string { @@ -17533,6 +18185,10 @@ func (r *DescribeServiceTemplatesRequest) FromJsonString(s string) error { delete(f, "Offset") delete(f, "Limit") delete(f, "NeedMemberInfo") + delete(f, "OrderField") + delete(f, "OrderDirection") + delete(f, "MemberOrderField") + delete(f, "MemberOrderDirection") if len(f) > 0 { return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeServiceTemplatesRequest has unknown keys!", "") } @@ -18370,7 +19026,6 @@ func (r *DescribeTenantCcnsRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeTenantCcnsResponseParams struct { // 云联网(CCN)对象。 - // 注意:此字段可能返回 null,表示取不到有效值。 CcnSet []*CcnInstanceInfo `json:"CcnSet,omitnil,omitempty" name:"CcnSet"` // 符合条件的对象总数。 @@ -18396,6 +19051,92 @@ func (r *DescribeTenantCcnsResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type DescribeTrafficMirrorsRequestParams struct { + // 流量镜像实例ID集合 + TrafficMirrorIds []*string `json:"TrafficMirrorIds,omitnil,omitempty" name:"TrafficMirrorIds"` + + // 流量镜像查询过滤调节。 + // vpc-id :VPC实例ID,例如:vpc-f49l6u0z。 + // traffic-mirror-id:流量镜像实例ID。 + // traffic-mirror-name:流量镜像名称。 + // tag-key :按照标签键进行过滤。 + Filters *Filter `json:"Filters,omitnil,omitempty" name:"Filters"` + + // 偏移量,默认为0。 + Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 返回数量,默认为20,最大值为100。 + Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"` +} + +type DescribeTrafficMirrorsRequest struct { + *tchttp.BaseRequest + + // 流量镜像实例ID集合 + TrafficMirrorIds []*string `json:"TrafficMirrorIds,omitnil,omitempty" name:"TrafficMirrorIds"` + + // 流量镜像查询过滤调节。 + // vpc-id :VPC实例ID,例如:vpc-f49l6u0z。 + // traffic-mirror-id:流量镜像实例ID。 + // traffic-mirror-name:流量镜像名称。 + // tag-key :按照标签键进行过滤。 + Filters *Filter `json:"Filters,omitnil,omitempty" name:"Filters"` + + // 偏移量,默认为0。 + Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 返回数量,默认为20,最大值为100。 + Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"` +} + +func (r *DescribeTrafficMirrorsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeTrafficMirrorsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "TrafficMirrorIds") + delete(f, "Filters") + delete(f, "Offset") + delete(f, "Limit") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeTrafficMirrorsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeTrafficMirrorsResponseParams struct { + // 流量镜像实例信息 + TrafficMirrorSet []*TrafficMirror `json:"TrafficMirrorSet,omitnil,omitempty" name:"TrafficMirrorSet"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeTrafficMirrorsResponse struct { + *tchttp.BaseResponse + Response *DescribeTrafficMirrorsResponseParams `json:"Response"` +} + +func (r *DescribeTrafficMirrorsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *DescribeTrafficMirrorsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type DescribeTrafficPackagesRequestParams struct { // 共享流量包ID,支持批量 @@ -19742,7 +20483,6 @@ type DescribeVpnGatewayRoutesResponseParams struct { Routes []*VpnGatewayRoute `json:"Routes,omitnil,omitempty" name:"Routes"` // 路由条数。 - // 注意:此字段可能返回 null,表示取不到有效值。 TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 @@ -19767,12 +20507,7 @@ func (r *DescribeVpnGatewayRoutesResponse) FromJsonString(s string) error { // Predefined struct for user type DescribeVpnGatewaySslClientsRequestParams struct { - // 过滤条件,参数不支持同时指定SslVpnClientIds和Filters。 - //
  • vpc-id - String - (过滤条件)VPC实例ID形如:vpc-f49l6u0z。
  • - //
  • vpn-gateway-id - String - (过滤条件)VPN实例ID形如:vpngw-5aluhh9t。
  • - //
  • ssl-vpn-server-id - String - (过滤条件)SSL-VPN-SERVER实例ID形如:vpns-1j2w6xpx。
  • - //
  • ssl-vpn-client-id - String - (过滤条件)SSL-VPN-CLIENT实例ID形如:vpnc-3rlxp4nd。
  • - //
  • ssl-vpn-client-name - String - (过滤条件)SSL-VPN-CLIENT实例名称。
  • + // 过滤条件,参数不支持同时指定SslVpnClientIds和Filters。
  • vpc-id - String - (过滤条件)VPC实例ID形如:vpc-f49l6u0z。
  • vpn-gateway-id - String - (过滤条件)VPN实例ID形如:vpngw-5aluhh9t。
  • ssl-vpn-server-id - String - (过滤条件)SSL-VPN-SERVER实例ID形如:vpns-1j2w6xpx。
  • ssl-vpn-client-id - String - (过滤条件)SSL-VPN-CLIENT实例ID形如:vpnc-3rlxp4nd。
  • ssl-vpn-client-name - String - (过滤条件)SSL-VPN-CLIENT实例名称。
  • ssl-vpn-client-inner-ip - String - (过滤条件)SSL-VPN-CLIENT私网IP。
  • Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` // 偏移量,默认值0。 @@ -19792,12 +20527,7 @@ type DescribeVpnGatewaySslClientsRequestParams struct { type DescribeVpnGatewaySslClientsRequest struct { *tchttp.BaseRequest - // 过滤条件,参数不支持同时指定SslVpnClientIds和Filters。 - //
  • vpc-id - String - (过滤条件)VPC实例ID形如:vpc-f49l6u0z。
  • - //
  • vpn-gateway-id - String - (过滤条件)VPN实例ID形如:vpngw-5aluhh9t。
  • - //
  • ssl-vpn-server-id - String - (过滤条件)SSL-VPN-SERVER实例ID形如:vpns-1j2w6xpx。
  • - //
  • ssl-vpn-client-id - String - (过滤条件)SSL-VPN-CLIENT实例ID形如:vpnc-3rlxp4nd。
  • - //
  • ssl-vpn-client-name - String - (过滤条件)SSL-VPN-CLIENT实例名称。
  • + // 过滤条件,参数不支持同时指定SslVpnClientIds和Filters。
  • vpc-id - String - (过滤条件)VPC实例ID形如:vpc-f49l6u0z。
  • vpn-gateway-id - String - (过滤条件)VPN实例ID形如:vpngw-5aluhh9t。
  • ssl-vpn-server-id - String - (过滤条件)SSL-VPN-SERVER实例ID形如:vpns-1j2w6xpx。
  • ssl-vpn-client-id - String - (过滤条件)SSL-VPN-CLIENT实例ID形如:vpnc-3rlxp4nd。
  • ssl-vpn-client-name - String - (过滤条件)SSL-VPN-CLIENT实例名称。
  • ssl-vpn-client-inner-ip - String - (过滤条件)SSL-VPN-CLIENT私网IP。
  • Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` // 偏移量,默认值0。 @@ -20398,7 +21128,6 @@ type DhcpIp struct { CreatedTime *string `json:"CreatedTime,omitnil,omitempty" name:"CreatedTime"` // 标签键值对。 - // 注意:此字段可能返回 null,表示取不到有效值。 TagSet []*Tag `json:"TagSet,omitnil,omitempty" name:"TagSet"` } @@ -20449,51 +21178,44 @@ type DirectConnectGateway struct { EnableBGPCommunity *bool `json:"EnableBGPCommunity,omitnil,omitempty" name:"EnableBGPCommunity"` // 绑定的NAT网关ID。 - // 注意:此字段可能返回 null,表示取不到有效值。 NatGatewayId *string `json:"NatGatewayId,omitnil,omitempty" name:"NatGatewayId"` // 专线网关是否支持VXLAN架构 - // 注意:此字段可能返回 null,表示取不到有效值。 VXLANSupport []*bool `json:"VXLANSupport,omitnil,omitempty" name:"VXLANSupport"` // 云联网路由发布模式:`standard`(标准模式)、`exquisite`(精细模式)。 - // 注意:此字段可能返回 null,表示取不到有效值。 ModeType *string `json:"ModeType,omitnil,omitempty" name:"ModeType"` // 是否为localZone专线网关。 - // 注意:此字段可能返回 null,表示取不到有效值。 LocalZone *bool `json:"LocalZone,omitnil,omitempty" name:"LocalZone"` // 专线网关所在可用区 - // 注意:此字段可能返回 null,表示取不到有效值。 Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"` // 网关流控明细启用状态: // 0:关闭 // 1:开启 - // 注意:此字段可能返回 null,表示取不到有效值。 EnableFlowDetails *uint64 `json:"EnableFlowDetails,omitnil,omitempty" name:"EnableFlowDetails"` // 开启、关闭网关流控明细时间 - // 注意:此字段可能返回 null,表示取不到有效值。 FlowDetailsUpdateTime *string `json:"FlowDetailsUpdateTime,omitnil,omitempty" name:"FlowDetailsUpdateTime"` // 是否支持开启网关流控明细 // 0:不支持 // 1:支持 - // 注意:此字段可能返回 null,表示取不到有效值。 NewAfc *uint64 `json:"NewAfc,omitnil,omitempty" name:"NewAfc"` // 专线网关接入网络类型: //
  • `VXLAN` - VXLAN类型。
  • //
  • `MPLS` - MPLS类型。
  • //
  • `Hybrid` - Hybrid类型。
  • - // 注意:此字段可能返回 null,表示取不到有效值。 AccessNetworkType *string `json:"AccessNetworkType,omitnil,omitempty" name:"AccessNetworkType"` // 跨可用区容灾专线网关的可用区列表 - // 注意:此字段可能返回 null,表示取不到有效值。 HaZoneList []*string `json:"HaZoneList,omitnil,omitempty" name:"HaZoneList"` + + // 专线网关自定义ASN + GatewayAsn *uint64 `json:"GatewayAsn,omitnil,omitempty" name:"GatewayAsn"` } type DirectConnectGatewayCcnRoute struct { @@ -22315,11 +23037,9 @@ func (r *GetCcnRegionBandwidthLimitsRequest) FromJsonString(s string) error { // Predefined struct for user type GetCcnRegionBandwidthLimitsResponseParams struct { // 云联网(CCN)各地域出带宽详情。 - // 注意:此字段可能返回 null,表示取不到有效值。 CcnBandwidthSet []*CcnBandwidthInfo `json:"CcnBandwidthSet,omitnil,omitempty" name:"CcnBandwidthSet"` // 符合条件的对象数。 - // 注意:此字段可能返回 null,表示取不到有效值。 TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 @@ -22461,14 +23181,14 @@ func (r *HaVipAssociateAddressIpResponse) FromJsonString(s string) error { } type HaVipAssociation struct { - // HaVip实例唯一ID。 - // 注意:此字段可能返回 null,表示取不到有效值。 - HaVipId *string `json:"HaVipId,omitnil,omitempty" name:"HaVipId"` - // HaVip绑定的子机或网卡唯一ID。 // 注意:此字段可能返回 null,表示取不到有效值。 InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"` + // HaVip实例唯一ID。 + // 注意:此字段可能返回 null,表示取不到有效值。 + HaVipId *string `json:"HaVipId,omitnil,omitempty" name:"HaVipId"` + // HaVip绑定的类型。取值:CVM, ENI。 // 注意:此字段可能返回 null,表示取不到有效值。 InstanceType *string `json:"InstanceType,omitnil,omitempty" name:"InstanceType"` @@ -22530,19 +23250,15 @@ func (r *HaVipDisassociateAddressIpResponse) FromJsonString(s string) error { type HealthCheckConfig struct { // 探测模式,默认值NQA,不可修改。 - // 注意:此字段可能返回 null,表示取不到有效值。 ProbeType *string `json:"ProbeType,omitnil,omitempty" name:"ProbeType"` // 探测间隔,腾讯云两次健康检查间隔时间,范围【1000-5000】,单位ms。 - // 注意:此字段可能返回 null,表示取不到有效值。 ProbeInterval *int64 `json:"ProbeInterval,omitnil,omitempty" name:"ProbeInterval"` // 探测次数,连续N次健康检查失败后执行路由切换,范围【3-8】,单位次。 - // 注意:此字段可能返回 null,表示取不到有效值。 ProbeThreshold *int64 `json:"ProbeThreshold,omitnil,omitempty" name:"ProbeThreshold"` // 探测超时时间,范围【10-5000】,单位ms。 - // 注意:此字段可能返回 null,表示取不到有效值。 ProbeTimeout *int64 `json:"ProbeTimeout,omitnil,omitempty" name:"ProbeTimeout"` } @@ -22715,11 +23431,9 @@ func (r *InquirePriceCreateDirectConnectGatewayRequest) FromJsonString(s string) // Predefined struct for user type InquirePriceCreateDirectConnectGatewayResponseParams struct { // 专线网关标准接入费用 - // 注意:此字段可能返回 null,表示取不到有效值。 TotalCost *int64 `json:"TotalCost,omitnil,omitempty" name:"TotalCost"` // 专线网关真实接入费用 - // 注意:此字段可能返回 null,表示取不到有效值。 RealTotalCost *int64 `json:"RealTotalCost,omitnil,omitempty" name:"RealTotalCost"` // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 @@ -22742,6 +23456,118 @@ func (r *InquirePriceCreateDirectConnectGatewayResponse) FromJsonString(s string return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type InquiryPriceAllocateAddressesRequestParams struct { + // EIP计费方式。 + // + InternetChargeType *string `json:"InternetChargeType,omitnil,omitempty" name:"InternetChargeType"` + + // EIP出带宽上限,单位:Mbps。 + // + InternetMaxBandwidthOut *int64 `json:"InternetMaxBandwidthOut,omitnil,omitempty" name:"InternetMaxBandwidthOut"` + + // 包月按带宽预付费EIP的计费参数。EIP为包月按带宽预付费时,该参数必传,其余场景不需传递 + AddressChargePrepaid *AddressChargePrepaid `json:"AddressChargePrepaid,omitnil,omitempty" name:"AddressChargePrepaid"` + + // EIP类型。默认值:EIP。 + // + // + AddressType *string `json:"AddressType,omitnil,omitempty" name:"AddressType"` +} + +type InquiryPriceAllocateAddressesRequest struct { + *tchttp.BaseRequest + + // EIP计费方式。 + // + InternetChargeType *string `json:"InternetChargeType,omitnil,omitempty" name:"InternetChargeType"` + + // EIP出带宽上限,单位:Mbps。 + // + InternetMaxBandwidthOut *int64 `json:"InternetMaxBandwidthOut,omitnil,omitempty" name:"InternetMaxBandwidthOut"` + + // 包月按带宽预付费EIP的计费参数。EIP为包月按带宽预付费时,该参数必传,其余场景不需传递 + AddressChargePrepaid *AddressChargePrepaid `json:"AddressChargePrepaid,omitnil,omitempty" name:"AddressChargePrepaid"` + + // EIP类型。默认值:EIP。 + // + // + AddressType *string `json:"AddressType,omitnil,omitempty" name:"AddressType"` +} + +func (r *InquiryPriceAllocateAddressesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *InquiryPriceAllocateAddressesRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "InternetChargeType") + delete(f, "InternetMaxBandwidthOut") + delete(f, "AddressChargePrepaid") + delete(f, "AddressType") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "InquiryPriceAllocateAddressesRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type InquiryPriceAllocateAddressesResponseParams struct { + // 弹性公网IP价格 + Price *InternetPrice `json:"Price,omitnil,omitempty" name:"Price"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type InquiryPriceAllocateAddressesResponse struct { + *tchttp.BaseResponse + Response *InquiryPriceAllocateAddressesResponseParams `json:"Response"` +} + +func (r *InquiryPriceAllocateAddressesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *InquiryPriceAllocateAddressesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type InquiryPriceCreateVpnGatewayRequestParams struct { // 公网带宽设置。可选带宽规格:5, 10, 20, 50, 100, 200, 500, 1000, 3000;单位:Mbps。 @@ -22827,6 +23653,134 @@ func (r *InquiryPriceCreateVpnGatewayResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type InquiryPriceModifyAddressesBandwidthRequestParams struct { + // EIP唯一ID + AddressIds []*string `json:"AddressIds,omitnil,omitempty" name:"AddressIds"` + + // 新带宽值 + InternetMaxBandwidthOut *int64 `json:"InternetMaxBandwidthOut,omitnil,omitempty" name:"InternetMaxBandwidthOut"` +} + +type InquiryPriceModifyAddressesBandwidthRequest struct { + *tchttp.BaseRequest + + // EIP唯一ID + AddressIds []*string `json:"AddressIds,omitnil,omitempty" name:"AddressIds"` + + // 新带宽值 + InternetMaxBandwidthOut *int64 `json:"InternetMaxBandwidthOut,omitnil,omitempty" name:"InternetMaxBandwidthOut"` +} + +func (r *InquiryPriceModifyAddressesBandwidthRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *InquiryPriceModifyAddressesBandwidthRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "AddressIds") + delete(f, "InternetMaxBandwidthOut") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "InquiryPriceModifyAddressesBandwidthRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type InquiryPriceModifyAddressesBandwidthResponseParams struct { + // 弹性公网IP调整带宽询价结果 + Price *InternetPrice `json:"Price,omitnil,omitempty" name:"Price"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type InquiryPriceModifyAddressesBandwidthResponse struct { + *tchttp.BaseResponse + Response *InquiryPriceModifyAddressesBandwidthResponseParams `json:"Response"` +} + +func (r *InquiryPriceModifyAddressesBandwidthResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *InquiryPriceModifyAddressesBandwidthResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type InquiryPriceRenewAddressesRequestParams struct { + // 续费资源实例ID。 + AddressIds []*string `json:"AddressIds,omitnil,omitempty" name:"AddressIds"` + + // 包月按带宽预付费EIP的计费参数。EIP为包月按带宽预付费时,该参数必传,其余场景不需传递。 + AddressChargePrepaid *AddressChargePrepaid `json:"AddressChargePrepaid,omitnil,omitempty" name:"AddressChargePrepaid"` +} + +type InquiryPriceRenewAddressesRequest struct { + *tchttp.BaseRequest + + // 续费资源实例ID。 + AddressIds []*string `json:"AddressIds,omitnil,omitempty" name:"AddressIds"` + + // 包月按带宽预付费EIP的计费参数。EIP为包月按带宽预付费时,该参数必传,其余场景不需传递。 + AddressChargePrepaid *AddressChargePrepaid `json:"AddressChargePrepaid,omitnil,omitempty" name:"AddressChargePrepaid"` +} + +func (r *InquiryPriceRenewAddressesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *InquiryPriceRenewAddressesRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "AddressIds") + delete(f, "AddressChargePrepaid") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "InquiryPriceRenewAddressesRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type InquiryPriceRenewAddressesResponseParams struct { + // 弹性公网IP续费价格。 + Price *InternetPrice `json:"Price,omitnil,omitempty" name:"Price"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type InquiryPriceRenewAddressesResponse struct { + *tchttp.BaseResponse + Response *InquiryPriceRenewAddressesResponseParams `json:"Response"` +} + +func (r *InquiryPriceRenewAddressesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *InquiryPriceRenewAddressesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type InquiryPriceRenewVpnGatewayRequestParams struct { // VPN网关实例ID。 @@ -23009,6 +23963,27 @@ type InstanceStatistic struct { InstanceCount *uint64 `json:"InstanceCount,omitnil,omitempty" name:"InstanceCount"` } +type InternetPrice struct { + // 公网IP询价详细参数。 + AddressPrice *InternetPriceDetail `json:"AddressPrice,omitnil,omitempty" name:"AddressPrice"` +} + +type InternetPriceDetail struct { + // 付费单价,单位:元,仅后付费价格查询返回。 + UnitPrice *float64 `json:"UnitPrice,omitnil,omitempty" name:"UnitPrice"` + + // 折扣后的价格,单位:元。 + // 注意:此字段可能返回 null,表示取不到有效值。 + DiscountPrice *float64 `json:"DiscountPrice,omitnil,omitempty" name:"DiscountPrice"` + + // 计价单元,可取值范围: + // 注意:此字段可能返回 null,表示取不到有效值。 + ChargeUnit *string `json:"ChargeUnit,omitnil,omitempty" name:"ChargeUnit"` + + // 原价,单位:元,仅预付费价格查询返回。 + OriginalPrice *float64 `json:"OriginalPrice,omitnil,omitempty" name:"OriginalPrice"` +} + type Ip6Rule struct { // IPV6转换规则唯一ID,形如rule6-xxxxxxxx Ip6RuleId *string `json:"Ip6RuleId,omitnil,omitempty" name:"Ip6RuleId"` @@ -23195,7 +24170,7 @@ type Ipv6SubnetCidrBlock struct { // 子网实例`ID`。形如:`subnet-pxir56ns`。 SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"` - // `IPv6`子网段。形如:`3402:4e00:20:1001::/64` + // `IPv6`子网段。形如:`3402:4e00:20:1001::/64`。作为AssignIpv6SubnetCidrBlock接口入参时,该参数必填。 Ipv6CidrBlock *string `json:"Ipv6CidrBlock,omitnil,omitempty" name:"Ipv6CidrBlock"` } @@ -25231,10 +26206,10 @@ type ModifyIp6AddressesBandwidthRequestParams struct { // 修改的目标带宽,单位Mbps InternetMaxBandwidthOut *int64 `json:"InternetMaxBandwidthOut,omitnil,omitempty" name:"InternetMaxBandwidthOut"` - // IPV6地址。Ip6Addresses和Ip6AddressId必须且只能传一个 + // IPv6地址。Ip6Addresses和Ip6AddressId必须且只能传一个 Ip6Addresses []*string `json:"Ip6Addresses,omitnil,omitempty" name:"Ip6Addresses"` - // IPV6地址对应的唯一ID,形如eip-xxxxxxxx。Ip6Addresses和Ip6AddressId必须且只能传一个 + // IPv6地址对应的唯一ID,形如eip-xxxxxxxx。Ip6Addresses和Ip6AddressId必须且只能传一个 Ip6AddressIds []*string `json:"Ip6AddressIds,omitnil,omitempty" name:"Ip6AddressIds"` } @@ -25244,10 +26219,10 @@ type ModifyIp6AddressesBandwidthRequest struct { // 修改的目标带宽,单位Mbps InternetMaxBandwidthOut *int64 `json:"InternetMaxBandwidthOut,omitnil,omitempty" name:"InternetMaxBandwidthOut"` - // IPV6地址。Ip6Addresses和Ip6AddressId必须且只能传一个 + // IPv6地址。Ip6Addresses和Ip6AddressId必须且只能传一个 Ip6Addresses []*string `json:"Ip6Addresses,omitnil,omitempty" name:"Ip6Addresses"` - // IPV6地址对应的唯一ID,形如eip-xxxxxxxx。Ip6Addresses和Ip6AddressId必须且只能传一个 + // IPv6地址对应的唯一ID,形如eip-xxxxxxxx。Ip6Addresses和Ip6AddressId必须且只能传一个 Ip6AddressIds []*string `json:"Ip6AddressIds,omitnil,omitempty" name:"Ip6AddressIds"` } @@ -27268,6 +28243,74 @@ func (r *ModifyTemplateMemberResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type ModifyTrafficMirrorAttributeRequestParams struct { + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` + + // 流量镜像实例名称 + TrafficMirrorName *string `json:"TrafficMirrorName,omitnil,omitempty" name:"TrafficMirrorName"` + + // 流量镜像实例描述信息 + TrafficMirrorDescription *string `json:"TrafficMirrorDescription,omitnil,omitempty" name:"TrafficMirrorDescription"` +} + +type ModifyTrafficMirrorAttributeRequest struct { + *tchttp.BaseRequest + + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` + + // 流量镜像实例名称 + TrafficMirrorName *string `json:"TrafficMirrorName,omitnil,omitempty" name:"TrafficMirrorName"` + + // 流量镜像实例描述信息 + TrafficMirrorDescription *string `json:"TrafficMirrorDescription,omitnil,omitempty" name:"TrafficMirrorDescription"` +} + +func (r *ModifyTrafficMirrorAttributeRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyTrafficMirrorAttributeRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "TrafficMirrorId") + delete(f, "TrafficMirrorName") + delete(f, "TrafficMirrorDescription") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyTrafficMirrorAttributeRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyTrafficMirrorAttributeResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ModifyTrafficMirrorAttributeResponse struct { + *tchttp.BaseResponse + Response *ModifyTrafficMirrorAttributeResponseParams `json:"Response"` +} + +func (r *ModifyTrafficMirrorAttributeResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ModifyTrafficMirrorAttributeResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type ModifyVpcAttributeRequestParams struct { // VPC实例ID。形如:vpc-f49l6u0z。 @@ -27987,7 +29030,6 @@ func (r *ModifyVpnGatewayRoutesRequest) FromJsonString(s string) error { // Predefined struct for user type ModifyVpnGatewayRoutesResponseParams struct { // VPN路由信息 - // 注意:此字段可能返回 null,表示取不到有效值。 Routes []*VpnGatewayRoute `json:"Routes,omitnil,omitempty" name:"Routes"` // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 @@ -28087,10 +29129,10 @@ type ModifyVpnGatewaySslServerRequestParams struct { // SSL VPN服务端监听协议端口。 SslVpnPort *int64 `json:"SslVpnPort,omitnil,omitempty" name:"SslVpnPort"` - // 加密算法。可选 'AES-128-CBC', 'AES-192-CBC', 'AES-256-CBC', 'NONE'。默认NONE + // 加密算法。可选 'AES-128-CBC','AES-192-CBC', 'AES-256-CBC', 默认AES-128-CBC。 EncryptAlgorithm *string `json:"EncryptAlgorithm,omitnil,omitempty" name:"EncryptAlgorithm"` - // 认证算法。可选 'SHA1', 'MD5', 'NONE'。默认NONE + // 认证算法。可选 'SHA1',默认SHA1。 IntegrityAlgorithm *string `json:"IntegrityAlgorithm,omitnil,omitempty" name:"IntegrityAlgorithm"` // 是否支持压缩。当前不支持压缩。默认False。 @@ -28124,10 +29166,10 @@ type ModifyVpnGatewaySslServerRequest struct { // SSL VPN服务端监听协议端口。 SslVpnPort *int64 `json:"SslVpnPort,omitnil,omitempty" name:"SslVpnPort"` - // 加密算法。可选 'AES-128-CBC', 'AES-192-CBC', 'AES-256-CBC', 'NONE'。默认NONE + // 加密算法。可选 'AES-128-CBC','AES-192-CBC', 'AES-256-CBC', 默认AES-128-CBC。 EncryptAlgorithm *string `json:"EncryptAlgorithm,omitnil,omitempty" name:"EncryptAlgorithm"` - // 认证算法。可选 'SHA1', 'MD5', 'NONE'。默认NONE + // 认证算法。可选 'SHA1',默认SHA1。 IntegrityAlgorithm *string `json:"IntegrityAlgorithm,omitnil,omitempty" name:"IntegrityAlgorithm"` // 是否支持压缩。当前不支持压缩。默认False。 @@ -28396,11 +29438,9 @@ type NetDetect struct { NetDetectDescription *string `json:"NetDetectDescription,omitnil,omitempty" name:"NetDetectDescription"` // 创建时间。 - // 注意:此字段可能返回 null,表示取不到有效值。 CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"` // 标签键值对。 - // 注意:此字段可能返回 null,表示取不到有效值。 TagSet []*Tag `json:"TagSet,omitnil,omitempty" name:"TagSet"` } @@ -28578,6 +29618,15 @@ type NetworkInterface struct { //
  • `DELETING`:删除中
  • State *string `json:"State,omitnil,omitempty" name:"State"` + // 弹性网卡状态: + //
  • `PENDING`:创建中
  • + //
  • `AVAILABLE`:可用的
  • + //
  • `ATTACHING`:绑定中
  • + //
  • `DETACHING`:解绑中
  • + //
  • `DELETING`:删除中
  • + //
  • `INUSE`:已绑定
  • + NetworkInterfaceState *string `json:"NetworkInterfaceState,omitnil,omitempty" name:"NetworkInterfaceState"` + // 内网IP信息。 PrivateIpAddressSet []*PrivateIpAddressSpecification `json:"PrivateIpAddressSet,omitnil,omitempty" name:"PrivateIpAddressSet"` @@ -28750,12 +29799,13 @@ type PeerConnection struct { TagSet []*Tag `json:"TagSet,omitnil,omitempty" name:"TagSet"` // 服务分级:PT、AU、AG。 - // 注意:此字段可能返回 null,表示取不到有效值。 QosLevel *string `json:"QosLevel,omitnil,omitempty" name:"QosLevel"` // 互通类型,VPC_PEER:VPC间互通;VPC_BM_PEER:VPC与黑石网络互通。 - // 注意:此字段可能返回 null,表示取不到有效值。 Type *string `json:"Type,omitnil,omitempty" name:"Type"` + + // 对端VPC唯一ID。 + DestinationVpcId *string `json:"DestinationVpcId,omitnil,omitempty" name:"DestinationVpcId"` } type PolicyStatistics struct { @@ -29255,20 +30305,20 @@ func (r *ReleaseIPv6AddressesResponse) FromJsonString(s string) error { // Predefined struct for user type ReleaseIp6AddressesBandwidthRequestParams struct { - // IPV6地址。Ip6Addresses和Ip6AddressIds必须且只能传一个 + // IPv6地址。Ip6Addresses和Ip6AddressIds必须且只能传一个 Ip6Addresses []*string `json:"Ip6Addresses,omitnil,omitempty" name:"Ip6Addresses"` - // IPV6地址对应的唯一ID,形如eip-xxxxxxxx。Ip6Addresses和Ip6AddressIds必须且只能传一个。 + // IPv6地址对应的唯一ID,形如eip-xxxxxxxx。Ip6Addresses和Ip6AddressIds必须且只能传一个。 Ip6AddressIds []*string `json:"Ip6AddressIds,omitnil,omitempty" name:"Ip6AddressIds"` } type ReleaseIp6AddressesBandwidthRequest struct { *tchttp.BaseRequest - // IPV6地址。Ip6Addresses和Ip6AddressIds必须且只能传一个 + // IPv6地址。Ip6Addresses和Ip6AddressIds必须且只能传一个 Ip6Addresses []*string `json:"Ip6Addresses,omitnil,omitempty" name:"Ip6Addresses"` - // IPV6地址对应的唯一ID,形如eip-xxxxxxxx。Ip6Addresses和Ip6AddressIds必须且只能传一个。 + // IPv6地址对应的唯一ID,形如eip-xxxxxxxx。Ip6Addresses和Ip6AddressIds必须且只能传一个。 Ip6AddressIds []*string `json:"Ip6AddressIds,omitnil,omitempty" name:"Ip6AddressIds"` } @@ -30464,6 +31514,203 @@ func (r *ResetRoutesResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type ResetTrafficMirrorFilterRequestParams struct { + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` + + // 流量镜像需要过滤的natgw实例ID + NatId *string `json:"NatId,omitnil,omitempty" name:"NatId"` + + // 流量镜像需要过滤的五元组规则 + CollectorNormalFilters []*TrafficMirrorFilter `json:"CollectorNormalFilters,omitnil,omitempty" name:"CollectorNormalFilters"` +} + +type ResetTrafficMirrorFilterRequest struct { + *tchttp.BaseRequest + + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` + + // 流量镜像需要过滤的natgw实例ID + NatId *string `json:"NatId,omitnil,omitempty" name:"NatId"` + + // 流量镜像需要过滤的五元组规则 + CollectorNormalFilters []*TrafficMirrorFilter `json:"CollectorNormalFilters,omitnil,omitempty" name:"CollectorNormalFilters"` +} + +func (r *ResetTrafficMirrorFilterRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ResetTrafficMirrorFilterRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "TrafficMirrorId") + delete(f, "NatId") + delete(f, "CollectorNormalFilters") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ResetTrafficMirrorFilterRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ResetTrafficMirrorFilterResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ResetTrafficMirrorFilterResponse struct { + *tchttp.BaseResponse + Response *ResetTrafficMirrorFilterResponseParams `json:"Response"` +} + +func (r *ResetTrafficMirrorFilterResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ResetTrafficMirrorFilterResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ResetTrafficMirrorSrcsRequestParams struct { + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` + + // 流量镜像采集对象 + CollectorSrcs []*string `json:"CollectorSrcs,omitnil,omitempty" name:"CollectorSrcs"` +} + +type ResetTrafficMirrorSrcsRequest struct { + *tchttp.BaseRequest + + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` + + // 流量镜像采集对象 + CollectorSrcs []*string `json:"CollectorSrcs,omitnil,omitempty" name:"CollectorSrcs"` +} + +func (r *ResetTrafficMirrorSrcsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ResetTrafficMirrorSrcsRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "TrafficMirrorId") + delete(f, "CollectorSrcs") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ResetTrafficMirrorSrcsRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ResetTrafficMirrorSrcsResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ResetTrafficMirrorSrcsResponse struct { + *tchttp.BaseResponse + Response *ResetTrafficMirrorSrcsResponseParams `json:"Response"` +} + +func (r *ResetTrafficMirrorSrcsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ResetTrafficMirrorSrcsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ResetTrafficMirrorTargetRequestParams struct { + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` + + // 流量镜像的接收目的信息 + CollectorTarget *TrafficMirrorTarget `json:"CollectorTarget,omitnil,omitempty" name:"CollectorTarget"` + + // 公网IP类型的流量镜像采集流量的发送端所属子网 + SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"` +} + +type ResetTrafficMirrorTargetRequest struct { + *tchttp.BaseRequest + + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` + + // 流量镜像的接收目的信息 + CollectorTarget *TrafficMirrorTarget `json:"CollectorTarget,omitnil,omitempty" name:"CollectorTarget"` + + // 公网IP类型的流量镜像采集流量的发送端所属子网 + SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"` +} + +func (r *ResetTrafficMirrorTargetRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ResetTrafficMirrorTargetRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "TrafficMirrorId") + delete(f, "CollectorTarget") + delete(f, "SubnetId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ResetTrafficMirrorTargetRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ResetTrafficMirrorTargetResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ResetTrafficMirrorTargetResponse struct { + *tchttp.BaseResponse + Response *ResetTrafficMirrorTargetResponseParams `json:"Response"` +} + +func (r *ResetTrafficMirrorTargetResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *ResetTrafficMirrorTargetResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type ResetVpnConnectionRequestParams struct { // VPN网关实例ID。 @@ -30976,7 +32223,6 @@ type RouteSelectionPolicy struct { SourceCidrBlock *string `json:"SourceCidrBlock,omitnil,omitempty" name:"SourceCidrBlock"` // 路由表描述。 - // 注意:此字段可能返回 null,表示取不到有效值。 Description *string `json:"Description,omitnil,omitempty" name:"Description"` // 实例ID。 @@ -31172,11 +32418,9 @@ type SecurityGroupPolicySet struct { type SecurityPolicyDatabase struct { // 本端网段 - // 注意:此字段可能返回 null,表示取不到有效值。 LocalCidrBlock *string `json:"LocalCidrBlock,omitnil,omitempty" name:"LocalCidrBlock"` // 对端网段 - // 注意:此字段可能返回 null,表示取不到有效值。 RemoteCidrBlock []*string `json:"RemoteCidrBlock,omitnil,omitempty" name:"RemoteCidrBlock"` } @@ -31193,11 +32437,13 @@ type ServiceTemplate struct { // 创建时间。 CreatedTime *string `json:"CreatedTime,omitnil,omitempty" name:"CreatedTime"` + // 最后更新时间。 + UpdatedTime *string `json:"UpdatedTime,omitnil,omitempty" name:"UpdatedTime"` + // 带备注的协议端口信息。 ServiceExtraSet []*ServicesInfo `json:"ServiceExtraSet,omitnil,omitempty" name:"ServiceExtraSet"` // 标签键值对。 - // 注意:此字段可能返回 null,表示取不到有效值。 TagSet []*Tag `json:"TagSet,omitnil,omitempty" name:"TagSet"` } @@ -31214,11 +32460,13 @@ type ServiceTemplateGroup struct { // 创建时间。 CreatedTime *string `json:"CreatedTime,omitnil,omitempty" name:"CreatedTime"` + // 最后更新时间。 + UpdatedTime *string `json:"UpdatedTime,omitnil,omitempty" name:"UpdatedTime"` + // 协议端口模板实例信息。 ServiceTemplateSet []*ServiceTemplate `json:"ServiceTemplateSet,omitnil,omitempty" name:"ServiceTemplateSet"` // 标签键值对。 - // 注意:此字段可能返回 null,表示取不到有效值。 TagSet []*Tag `json:"TagSet,omitnil,omitempty" name:"TagSet"` } @@ -31235,8 +32483,10 @@ type ServicesInfo struct { Service *string `json:"Service,omitnil,omitempty" name:"Service"` // 备注。 - // 注意:此字段可能返回 null,表示取不到有效值。 Description *string `json:"Description,omitnil,omitempty" name:"Description"` + + // 更新时间。 + UpdatedTime *string `json:"UpdatedTime,omitnil,omitempty" name:"UpdatedTime"` } // Predefined struct for user @@ -31541,7 +32791,6 @@ type SslVpnClient struct { type SslVpnSever struct { // VPC实例ID. - // 注意:此字段可能返回 null,表示取不到有效值。 VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` // SSL-VPN-SERVER 实例ID。 @@ -31607,10 +32856,117 @@ type SslVpnSever struct { AccessPolicy []*AccessPolicy `json:"AccessPolicy,omitnil,omitempty" name:"AccessPolicy"` // CAM服务提供商Name - // 注意:此字段可能返回 null,表示取不到有效值。 SpName *string `json:"SpName,omitnil,omitempty" name:"SpName"` } +// Predefined struct for user +type StartTrafficMirrorRequestParams struct { + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` +} + +type StartTrafficMirrorRequest struct { + *tchttp.BaseRequest + + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` +} + +func (r *StartTrafficMirrorRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *StartTrafficMirrorRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "TrafficMirrorId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "StartTrafficMirrorRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type StartTrafficMirrorResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type StartTrafficMirrorResponse struct { + *tchttp.BaseResponse + Response *StartTrafficMirrorResponseParams `json:"Response"` +} + +func (r *StartTrafficMirrorResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *StartTrafficMirrorResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type StopTrafficMirrorRequestParams struct { + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` +} + +type StopTrafficMirrorRequest struct { + *tchttp.BaseRequest + + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` +} + +func (r *StopTrafficMirrorRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *StopTrafficMirrorRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "TrafficMirrorId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "StopTrafficMirrorRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type StopTrafficMirrorResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type StopTrafficMirrorResponse struct { + *tchttp.BaseResponse + Response *StopTrafficMirrorResponseParams `json:"Response"` +} + +func (r *StopTrafficMirrorResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *StopTrafficMirrorResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type Subnet struct { // `VPC`实例`ID`。 VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` @@ -31727,6 +33083,94 @@ type TrafficFlow struct { FormatUnit *string `json:"FormatUnit,omitnil,omitempty" name:"FormatUnit"` } +type TrafficMirror struct { + // VPC实例ID。 + VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` + + // 流量镜像实例。 + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` + + // 流量镜像名字。 + TrafficMirrorName *string `json:"TrafficMirrorName,omitnil,omitempty" name:"TrafficMirrorName"` + + // 流量镜像描述。 + TrafficMirrorDescribe *string `json:"TrafficMirrorDescribe,omitnil,omitempty" name:"TrafficMirrorDescribe"` + + // 流量镜像状态。 + State *string `json:"State,omitnil,omitempty" name:"State"` + + // 流量镜像采集方向。 + Direction *string `json:"Direction,omitnil,omitempty" name:"Direction"` + + // 流量镜像采集对象。 + CollectorSrcs []*string `json:"CollectorSrcs,omitnil,omitempty" name:"CollectorSrcs"` + + // 流量镜像过滤的nat网关实例ID。 + NatId *string `json:"NatId,omitnil,omitempty" name:"NatId"` + + // 流量镜像过滤的五元组规则。 + CollectorNormalFilters []*TrafficMirrorFilter `json:"CollectorNormalFilters,omitnil,omitempty" name:"CollectorNormalFilters"` + + // 流量镜接收目标。 + CollectorTarget *TrafficMirrorTarget `json:"CollectorTarget,omitnil,omitempty" name:"CollectorTarget"` + + // 流量镜像创建时间。 + CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"` + + // 流量镜像的类型。 + // 注意:此字段可能返回 null,表示取不到有效值。 + Type *string `json:"Type,omitnil,omitempty" name:"Type"` + + // 流量镜像所属的子网ID。 + // 注意:此字段可能返回 null,表示取不到有效值。 + SubnetId *string `json:"SubnetId,omitnil,omitempty" name:"SubnetId"` + + // 流量镜接收目标资源信息,当接收目标为ENI和CLB时返回。 + // 注意:此字段可能返回 null,表示取不到有效值。 + TargetInfo []*TrafficMirrorTargetResourceInfo `json:"TargetInfo,omitnil,omitempty" name:"TargetInfo"` +} + +type TrafficMirrorFilter struct { + // 过滤规则的源网段 + SrcNet *string `json:"SrcNet,omitnil,omitempty" name:"SrcNet"` + + // 过滤规则的目的网段 + DstNet *string `json:"DstNet,omitnil,omitempty" name:"DstNet"` + + // 过滤规则的协议 + Protocol *string `json:"Protocol,omitnil,omitempty" name:"Protocol"` + + // 过滤规则的源端口,默认值1-65535 + SrcPort *string `json:"SrcPort,omitnil,omitempty" name:"SrcPort"` + + // 过滤规则的目的端口,默认值1-65535 + DstPort *string `json:"DstPort,omitnil,omitempty" name:"DstPort"` +} + +type TrafficMirrorTarget struct { + // 流量镜像的接收IP + TargetIps []*string `json:"TargetIps,omitnil,omitempty" name:"TargetIps"` + + // 流量镜像接收IP组,均衡规则,支持ENI/FIVE_TUPLE_FLOW(vpc),FIVE_TUPLE_FLOW(公网IP) + AlgHash *string `json:"AlgHash,omitnil,omitempty" name:"AlgHash"` + + // 流量镜像的接收endpoint(公网IP) + // 注意:此字段可能返回 null,表示取不到有效值。 + TargetEndPoints []*string `json:"TargetEndPoints,omitnil,omitempty" name:"TargetEndPoints"` + + // 流量镜像的接收类型,分别为:IP/ENI/CLB + // 注意:此字段可能返回 null,表示取不到有效值。 + TargetType *string `json:"TargetType,omitnil,omitempty" name:"TargetType"` +} + +type TrafficMirrorTargetResourceInfo struct { + // 接收目标的资源Id + TargetId *string `json:"TargetId,omitnil,omitempty" name:"TargetId"` + + // 接收目标的资源名称 + TargetName *string `json:"TargetName,omitnil,omitempty" name:"TargetName"` +} + type TrafficPackage struct { // 流量包唯一ID TrafficPackageId *string `json:"TrafficPackageId,omitnil,omitempty" name:"TrafficPackageId"` @@ -31763,27 +33207,21 @@ type TrafficPackage struct { type TrafficQosPolicySet struct { // CCN实例ID。形如:ccn-f49l6u0z。 - // 注意:此字段可能返回 null,表示取不到有效值。 CcnId *string `json:"CcnId,omitnil,omitempty" name:"CcnId"` // qos id。 - // 注意:此字段可能返回 null,表示取不到有效值。 QosId *uint64 `json:"QosId,omitnil,omitempty" name:"QosId"` // 描述。 - // 注意:此字段可能返回 null,表示取不到有效值。 QosPolicyDescription *string `json:"QosPolicyDescription,omitnil,omitempty" name:"QosPolicyDescription"` // 名称。 - // 注意:此字段可能返回 null,表示取不到有效值。 QosPolicyName *string `json:"QosPolicyName,omitnil,omitempty" name:"QosPolicyName"` // 带宽。 - // 注意:此字段可能返回 null,表示取不到有效值。 Bandwidth *uint64 `json:"Bandwidth,omitnil,omitempty" name:"Bandwidth"` // 流量调度策略ID。 - // 注意:此字段可能返回 null,表示取不到有效值。 QosPolicyId *string `json:"QosPolicyId,omitnil,omitempty" name:"QosPolicyId"` } @@ -32294,6 +33732,149 @@ func (r *UnlockCcnsResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type UpdateTrafficMirrorAllFilterRequestParams struct { + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` + + // 流量镜像采集方向 + Direction *string `json:"Direction,omitnil,omitempty" name:"Direction"` + + // 流量镜像采集对象 + CollectorSrcs []*string `json:"CollectorSrcs,omitnil,omitempty" name:"CollectorSrcs"` + + // 流量镜像需要过滤的natgw实例 + NatId *string `json:"NatId,omitnil,omitempty" name:"NatId"` + + // 流量镜像需要过滤的五元组规则 + CollectorNormalFilters []*TrafficMirrorFilter `json:"CollectorNormalFilters,omitnil,omitempty" name:"CollectorNormalFilters"` +} + +type UpdateTrafficMirrorAllFilterRequest struct { + *tchttp.BaseRequest + + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` + + // 流量镜像采集方向 + Direction *string `json:"Direction,omitnil,omitempty" name:"Direction"` + + // 流量镜像采集对象 + CollectorSrcs []*string `json:"CollectorSrcs,omitnil,omitempty" name:"CollectorSrcs"` + + // 流量镜像需要过滤的natgw实例 + NatId *string `json:"NatId,omitnil,omitempty" name:"NatId"` + + // 流量镜像需要过滤的五元组规则 + CollectorNormalFilters []*TrafficMirrorFilter `json:"CollectorNormalFilters,omitnil,omitempty" name:"CollectorNormalFilters"` +} + +func (r *UpdateTrafficMirrorAllFilterRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *UpdateTrafficMirrorAllFilterRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "TrafficMirrorId") + delete(f, "Direction") + delete(f, "CollectorSrcs") + delete(f, "NatId") + delete(f, "CollectorNormalFilters") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateTrafficMirrorAllFilterRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type UpdateTrafficMirrorAllFilterResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type UpdateTrafficMirrorAllFilterResponse struct { + *tchttp.BaseResponse + Response *UpdateTrafficMirrorAllFilterResponseParams `json:"Response"` +} + +func (r *UpdateTrafficMirrorAllFilterResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *UpdateTrafficMirrorAllFilterResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type UpdateTrafficMirrorDirectionRequestParams struct { + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` + + // 流量镜像采集方向 + Direction *string `json:"Direction,omitnil,omitempty" name:"Direction"` +} + +type UpdateTrafficMirrorDirectionRequest struct { + *tchttp.BaseRequest + + // 流量镜像实例ID + TrafficMirrorId *string `json:"TrafficMirrorId,omitnil,omitempty" name:"TrafficMirrorId"` + + // 流量镜像采集方向 + Direction *string `json:"Direction,omitnil,omitempty" name:"Direction"` +} + +func (r *UpdateTrafficMirrorDirectionRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *UpdateTrafficMirrorDirectionRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "TrafficMirrorId") + delete(f, "Direction") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateTrafficMirrorDirectionRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type UpdateTrafficMirrorDirectionResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type UpdateTrafficMirrorDirectionResponse struct { + *tchttp.BaseResponse + Response *UpdateTrafficMirrorDirectionResponseParams `json:"Response"` +} + +func (r *UpdateTrafficMirrorDirectionResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +// FromJsonString It is highly **NOT** recommended to use this function +// because it has no param check, nor strict type check +func (r *UpdateTrafficMirrorDirectionResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type UsedDetail struct { // 流量包唯一ID TrafficPackageId *string `json:"TrafficPackageId,omitnil,omitempty" name:"TrafficPackageId"` @@ -32491,30 +34072,24 @@ type VpnConnection struct { HealthCheckStatus *string `json:"HealthCheckStatus,omitnil,omitempty" name:"HealthCheckStatus"` // DPD探测开关。默认为0,表示关闭DPD探测。可选值:0(关闭),1(开启) - // 注意:此字段可能返回 null,表示取不到有效值。 DpdEnable *int64 `json:"DpdEnable,omitnil,omitempty" name:"DpdEnable"` // DPD超时时间。即探测确认对端不存在需要的时间。 - // 注意:此字段可能返回 null,表示取不到有效值。 DpdTimeout *string `json:"DpdTimeout,omitnil,omitempty" name:"DpdTimeout"` // DPD超时后的动作。默认为clear。dpdEnable为1(开启)时有效。可取值为clear(断开)和restart(重试) - // 注意:此字段可能返回 null,表示取不到有效值。 DpdAction *string `json:"DpdAction,omitnil,omitempty" name:"DpdAction"` // 标签键值对数组 TagSet []*Tag `json:"TagSet,omitnil,omitempty" name:"TagSet"` // 协商类型 - // 注意:此字段可能返回 null,表示取不到有效值。 NegotiationType *string `json:"NegotiationType,omitnil,omitempty" name:"NegotiationType"` // Bgp配置信息 - // 注意:此字段可能返回 null,表示取不到有效值。 BgpConfig *BgpConfigAndAsn `json:"BgpConfig,omitnil,omitempty" name:"BgpConfig"` // Nqa配置信息 - // 注意:此字段可能返回 null,表示取不到有效值。 HealthCheckConfig *HealthCheckConfig `json:"HealthCheckConfig,omitnil,omitempty" name:"HealthCheckConfig"` } diff --git a/vendor/modules.txt b/vendor/modules.txt index 1c26add2fc..7c8e06866c 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1165,7 +1165,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.1078 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls/v20201016 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1115 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1122 ## explicit; go 1.11 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors @@ -1345,7 +1345,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tsf/v20180326 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod v1.0.860 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vod/v20180717 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1068 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc v1.0.1122 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/waf v1.0.1037 diff --git a/website/docs/r/nat_gateway_flow_monitor.html.markdown b/website/docs/r/nat_gateway_flow_monitor.html.markdown new file mode 100644 index 0000000000..b946f96f25 --- /dev/null +++ b/website/docs/r/nat_gateway_flow_monitor.html.markdown @@ -0,0 +1,45 @@ +--- +subcategory: "Virtual Private Cloud(VPC)" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_nat_gateway_flow_monitor" +sidebar_current: "docs-tencentcloud-resource-nat_gateway_flow_monitor" +description: |- + Provides a resource to config a NAT gateway flow monitor. +--- + +# tencentcloud_nat_gateway_flow_monitor + +Provides a resource to config a NAT gateway flow monitor. + +## Example Usage + +```hcl +resource "tencentcloud_nat_gateway_flow_monitor" "example" { + gateway_id = "nat-e6u6axsm" + enable = true +} +``` + +## Argument Reference + +The following arguments are supported: + +* `enable` - (Required, Bool) Whether to enable flow monitor. +* `gateway_id` - (Required, String, ForceNew) ID of Gateway. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the resource. +* `bandwidth` - Bandwidth of flow monitor. + + +## Import + +NAT gateway flow monitor can be imported using the id, e.g. + +``` +$ terraform import tencentcloud_nat_gateway_flow_monitor.example nat-e6u6axsm +``` + diff --git a/website/tencentcloud.erb b/website/tencentcloud.erb index b55374d279..30ddfd59c1 100644 --- a/website/tencentcloud.erb +++ b/website/tencentcloud.erb @@ -6549,6 +6549,9 @@
  • tencentcloud_nat_gateway
  • +
  • + tencentcloud_nat_gateway_flow_monitor +
  • tencentcloud_nat_gateway_snat
  • From 8a1153e66a6ab30b147b25e8f770876f5a7e2947 Mon Sep 17 00:00:00 2001 From: hellertang Date: Fri, 14 Mar 2025 18:43:14 +0800 Subject: [PATCH 2/2] add nat flow monitor --- .changelog/3215.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/3215.txt diff --git a/.changelog/3215.txt b/.changelog/3215.txt new file mode 100644 index 0000000000..7d9a9e5836 --- /dev/null +++ b/.changelog/3215.txt @@ -0,0 +1,3 @@ +```release-note:new-resource +tencentcloud_nat_gateway_flow_monitor +``` \ No newline at end of file