diff --git a/.changelog/2948.txt b/.changelog/2948.txt new file mode 100644 index 0000000000..91e6fd1767 --- /dev/null +++ b/.changelog/2948.txt @@ -0,0 +1,15 @@ +```release-note:new-resource +tencentcloud_private_dns_forward_rule +``` + +```release-note:new-resource +tencentcloud_private_dns_end_point +``` + +```release-note:new-datasource +tencentcloud_private_dns_forward_rules +``` + +```release-note:new-datasource +tencentcloud_private_dns_end_points +``` \ No newline at end of file diff --git a/go.mod b/go.mod index 8978cb85c1..1230d58161 100644 --- a/go.mod +++ b/go.mod @@ -46,7 +46,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1034 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.970 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1034 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1038 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1014 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.692 @@ -71,7 +71,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/mps v1.0.853 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization v1.0.1008 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.1010 - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.859 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.1038 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/pts v1.0.762 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis v1.0.1008 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/rum v1.0.744 diff --git a/go.sum b/go.sum index c40fd10da7..4516fd1386 100644 --- a/go.sum +++ b/go.sum @@ -926,6 +926,10 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1031/go.mod github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1033/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1034 h1:T7ewuO2DD+5R2LRpD2kTRy25aCkVDVdYkmmyUS63i08= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1034/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1036 h1:B3GO+IBOrjrq8sN5bT9e8GMHWguHkyyGdNEos6cp5cE= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1036/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1038 h1:tB3DLzyQXavvGTI+JUvEcuYh0EtTn1rvh9W6xxFHL38= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1038/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= @@ -984,6 +988,10 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.1010 h1:l github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.1010/go.mod h1:GGhAf2ehV2/jwKf3Sezr2x/soJ3nDuefJFlcoZnlflA= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.859 h1:VrE3qzwzWB5mV/ejTJuwZbqZ/CNYLoc8X+uFbWEEOnY= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.859/go.mod h1:FeOl14rPWpNEu6r4bPEsTNHIB9qaRTg0dRhxhRwQ5Hw= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.1036 h1:cRoBSH/EV88ktyGkO40cAWAJfV7cY0rQJX5dCICZ8LE= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.1036/go.mod h1:UtExIz9+fovnmSsxeHvMz5MUBa/pEbpCF//b7zbgqXM= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.1038 h1:4rzyVxkDB27v73jDXPr5eGAwjN859R7SsqniCt+46XE= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.1038/go.mod h1:TAHhxxDVV36Pe4P4Gel3dgX4kHUfQO7f27GzRf8DAro= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/pts v1.0.762 h1:rZDKucVVtTnmnbZFDyh6t47dHswkb2oSuOxOHTTkygA= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/pts v1.0.762/go.mod h1:QB/XcdVZ8mhRgk90XuXd+2Smfo8emTo0wHIUsygEaKs= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/redis v1.0.1008 h1:Mo0njOK81dsBe6FBOieaGeHAVpo/PsYzDTeHovc57bA= diff --git a/tencentcloud/connectivity/client.go b/tencentcloud/connectivity/client.go index 2d64e93827..0e8d0da6f6 100644 --- a/tencentcloud/connectivity/client.go +++ b/tencentcloud/connectivity/client.go @@ -221,6 +221,7 @@ type TencentCloudClient struct { ccnv20170312Conn *vpc.Client tcssv20201101Conn *tcss.Client cloudauditv20190319Conn *audit.Client + privatednsv20201028Conn *privatedns.Client } // NewClientProfile returns a new ClientProfile @@ -1929,3 +1930,16 @@ func (me *TencentCloudClient) UseCloudauditV20190319Client() *audit.Client { return me.cloudauditv20190319Conn } + +// UsePrivatednsV20201028Client return PRIVATEDNS client for service +func (me *TencentCloudClient) UsePrivatednsV20201028Client() *privatedns.Client { + if me.privatednsv20201028Conn != nil { + return me.privatednsv20201028Conn + } + cpf := me.NewClientProfile(300) + cpf.Language = "zh-CN" + me.privatednsv20201028Conn, _ = privatedns.NewClient(me.Credential, me.Region, cpf) + me.privatednsv20201028Conn.WithHttpTransport(&LogRoundTripper{}) + + return me.privatednsv20201028Conn +} diff --git a/tencentcloud/provider.go b/tencentcloud/provider.go index dd5f243396..834846bda6 100644 --- a/tencentcloud/provider.go +++ b/tencentcloud/provider.go @@ -1062,6 +1062,8 @@ func Provider() *schema.Provider { "tencentcloud_wedata_data_source_without_info": wedata.DataSourceTencentCloudWedataDataSourceWithoutInfo(), "tencentcloud_private_dns_records": privatedns.DataSourceTencentCloudPrivateDnsRecords(), "tencentcloud_private_dns_private_zone_list": privatedns.DataSourceTencentCloudPrivateDnsPrivateZoneList(), + "tencentcloud_private_dns_forward_rules": privatedns.DataSourceTencentCloudPrivateDnsForwardRules(), + "tencentcloud_private_dns_end_points": privatedns.DataSourceTencentCloudPrivateDnsEndPoints(), "tencentcloud_waf_ciphers": waf.DataSourceTencentCloudWafCiphers(), "tencentcloud_waf_tls_versions": waf.DataSourceTencentCloudWafTlsVersions(), "tencentcloud_waf_domains": waf.DataSourceTencentCloudWafDomains(), @@ -1685,6 +1687,8 @@ func Provider() *schema.Provider { "tencentcloud_private_dns_record": privatedns.ResourceTencentCloudPrivateDnsRecord(), "tencentcloud_private_dns_zone_vpc_attachment": privatedns.ResourceTencentCloudPrivateDnsZoneVpcAttachment(), "tencentcloud_subscribe_private_zone_service": privatedns.ResourceTencentCloudSubscribePrivateZoneService(), + "tencentcloud_private_dns_forward_rule": privatedns.ResourceTencentCloudPrivateDnsForwardRule(), + "tencentcloud_private_dns_end_point": privatedns.ResourceTencentCloudPrivateDnsEndPoint(), "tencentcloud_cls_logset": cls.ResourceTencentCloudClsLogset(), "tencentcloud_cls_topic": cls.ResourceTencentCloudClsTopic(), "tencentcloud_cls_config": cls.ResourceTencentCloudClsConfig(), diff --git a/tencentcloud/provider.md b/tencentcloud/provider.md index d796faa216..6703aaa098 100644 --- a/tencentcloud/provider.md +++ b/tencentcloud/provider.md @@ -1351,9 +1351,13 @@ PrivateDNS tencentcloud_private_dns_record tencentcloud_private_dns_zone_vpc_attachment tencentcloud_subscribe_private_zone_service + tencentcloud_private_dns_forward_rule + tencentcloud_private_dns_end_point Data Source tencentcloud_private_dns_records tencentcloud_private_dns_private_zone_list + tencentcloud_private_dns_forward_rules + tencentcloud_private_dns_end_points Cloud Log Service(CLS) Resource diff --git a/tencentcloud/services/privatedns/data_source_tc_private_dns_end_points.go b/tencentcloud/services/privatedns/data_source_tc_private_dns_end_points.go new file mode 100644 index 0000000000..428c83baca --- /dev/null +++ b/tencentcloud/services/privatedns/data_source_tc_private_dns_end_points.go @@ -0,0 +1,212 @@ +// Code generated by iacg; DO NOT EDIT. +package privatedns + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + privatednsv20201028 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028" + + tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" +) + +func DataSourceTencentCloudPrivateDnsEndPoints() *schema.Resource { + return &schema.Resource{ + Read: dataSourceTencentCloudPrivateDnsEndPointsRead, + Schema: map[string]*schema.Schema{ + "filters": { + Type: schema.TypeList, + Optional: true, + Description: "Filter parameters. Valid values: EndPointName, EndPointId, EndPointServiceId, and EndPointVip.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "name": { + Type: schema.TypeString, + Required: true, + Description: "Parameter name.", + }, + "values": { + Type: schema.TypeSet, + Required: true, + Description: "Array of parameter values.", + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + }, + }, + }, + + "end_point_set": { + Type: schema.TypeList, + Computed: true, + Description: "Endpoint list.\nNote: This field may return null, indicating that no valid values can be obtained.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "end_point_id": { + Type: schema.TypeString, + Required: true, + Description: "Endpoint ID.", + }, + "end_point_name": { + Type: schema.TypeString, + Required: true, + Description: "Endpoint name.", + }, + "end_point_service_id": { + Type: schema.TypeString, + Required: true, + Description: "Endpoint service ID.", + }, + "end_point_vip_set": { + Type: schema.TypeSet, + Required: true, + Description: "VIP list of the endpoint.", + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + "region_code": { + Type: schema.TypeString, + Required: true, + Description: "ap-guangzhou\nNote: This field may return null, indicating that no valid values can be obtained.", + }, + "tags": { + Type: schema.TypeList, + Required: true, + Description: "Tag key-value pair collection.\nNote: This field may return null, indicating that no valid values can be obtained.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "tag_key": { + Type: schema.TypeString, + Required: true, + Description: "Tag key.", + }, + "tag_value": { + Type: schema.TypeString, + Required: true, + Description: "Tag value.", + }, + }, + }, + }, + }, + }, + }, + + "result_output_file": { + Type: schema.TypeString, + Optional: true, + Description: "Used to save results.", + }, + }, + } +} + +func dataSourceTencentCloudPrivateDnsEndPointsRead(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("data_source.tencentcloud_private_dns_end_points.read")() + defer tccommon.InconsistentCheck(d, meta)() + + logId := tccommon.GetLogId(nil) + ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + + service := PrivatednsService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} + + paramMap := make(map[string]interface{}) + if v, ok := d.GetOk("filters"); ok { + filtersSet := v.([]interface{}) + tmpSet := make([]*privatednsv20201028.Filter, 0, len(filtersSet)) + for _, item := range filtersSet { + filtersMap := item.(map[string]interface{}) + filter := privatednsv20201028.Filter{} + if v, ok := filtersMap["name"]; ok { + filter.Name = helper.String(v.(string)) + } + if v, ok := filtersMap["values"]; ok { + valuesSet := v.(*schema.Set).List() + for i := range valuesSet { + values := valuesSet[i].(string) + filter.Values = append(filter.Values, helper.String(values)) + } + } + tmpSet = append(tmpSet, &filter) + } + paramMap["Filters"] = tmpSet + } + + var respData []*privatednsv20201028.EndPointInfo + err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError { + result, e := service.DescribePrivateDnsEndPointsByFilter(ctx, paramMap) + if e != nil { + return tccommon.RetryError(e) + } + respData = result + return nil + }) + if err != nil { + return err + } + + var ids []string + endPointSetList := make([]map[string]interface{}, 0, len(respData)) + if respData != nil { + for _, endPointSet := range respData { + endPointSetMap := map[string]interface{}{} + + if endPointSet.EndPointId != nil { + endPointSetMap["end_point_id"] = endPointSet.EndPointId + } + + if endPointSet.EndPointName != nil { + endPointSetMap["end_point_name"] = endPointSet.EndPointName + } + + if endPointSet.EndPointServiceId != nil { + endPointSetMap["end_point_service_id"] = endPointSet.EndPointServiceId + } + + if endPointSet.EndPointVipSet != nil { + endPointSetMap["end_point_vip_set"] = endPointSet.EndPointVipSet + } + + if endPointSet.RegionCode != nil { + endPointSetMap["region_code"] = endPointSet.RegionCode + } + + tagsList := make([]map[string]interface{}, 0, len(endPointSet.Tags)) + if endPointSet.Tags != nil { + for _, tags := range endPointSet.Tags { + tagsMap := map[string]interface{}{} + + if tags.TagKey != nil { + tagsMap["tag_key"] = tags.TagKey + } + + if tags.TagValue != nil { + tagsMap["tag_value"] = tags.TagValue + } + + tagsList = append(tagsList, tagsMap) + } + + endPointSetMap["tags"] = tagsList + } + endPointSetList = append(endPointSetList, endPointSetMap) + } + + _ = d.Set("end_point_set", endPointSetList) + } + + d.SetId(helper.DataResourceIdsHash(ids)) + + output, ok := d.GetOk("result_output_file") + if ok && output.(string) != "" { + if e := tccommon.WriteToFile(output.(string), endPointSetList); e != nil { + return e + } + } + + return nil +} diff --git a/tencentcloud/services/privatedns/data_source_tc_private_dns_end_points.md b/tencentcloud/services/privatedns/data_source_tc_private_dns_end_points.md new file mode 100644 index 0000000000..5f1ab7a2fa --- /dev/null +++ b/tencentcloud/services/privatedns/data_source_tc_private_dns_end_points.md @@ -0,0 +1,37 @@ +Use this data source to query detailed information of private dns dns end points + +Example Usage + +Query all private dns end points + +```hcl +data "tencentcloud_private_dns_end_points" "example" {} +``` + +Query all private dns end points by filters + +```hcl +data "tencentcloud_private_dns_end_points" "example" { + filters { + name = "EndPointName" + values = ["tf-example"] + } + + filters { + name = "EndPointId" + values = ["eid-72dc11b8f3"] + } + + filters { + name = "EndPointServiceId" + values = ["vpcsvc-61wcwmar"] + } + + filters { + name = "EndPointVip" + values = [ + "172.10.10.1" + ] + } +} +``` diff --git a/tencentcloud/services/privatedns/data_source_tc_private_dns_end_points_extension.go b/tencentcloud/services/privatedns/data_source_tc_private_dns_end_points_extension.go new file mode 100644 index 0000000000..963429795a --- /dev/null +++ b/tencentcloud/services/privatedns/data_source_tc_private_dns_end_points_extension.go @@ -0,0 +1 @@ +package privatedns diff --git a/tencentcloud/services/privatedns/data_source_tc_private_dns_end_points_test.go b/tencentcloud/services/privatedns/data_source_tc_private_dns_end_points_test.go new file mode 100644 index 0000000000..be6526562d --- /dev/null +++ b/tencentcloud/services/privatedns/data_source_tc_private_dns_end_points_test.go @@ -0,0 +1,29 @@ +package privatedns_test + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + + tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" +) + +func TestAccTencentCloudPrivateDnsEndPointsDataSource_basic(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + tcacctest.AccPreCheck(t) + }, + Providers: tcacctest.AccProviders, + Steps: []resource.TestStep{{ + Config: testAccPrivateDnsEndPointsDataSource, + Check: resource.ComposeTestCheckFunc( + tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_private_dns_end_points.private_dns_end_points"), + ), + }}, + }) +} + +const testAccPrivateDnsEndPointsDataSource = ` +data "tencentcloud_private_dns_end_points" "example" {} +` diff --git a/tencentcloud/services/privatedns/data_source_tc_private_dns_forward_rules.go b/tencentcloud/services/privatedns/data_source_tc_private_dns_forward_rules.go new file mode 100644 index 0000000000..299fb7d7a5 --- /dev/null +++ b/tencentcloud/services/privatedns/data_source_tc_private_dns_forward_rules.go @@ -0,0 +1,296 @@ +// Code generated by iacg; DO NOT EDIT. +package privatedns + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + privatednsv20201028 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028" + + tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" +) + +func DataSourceTencentCloudPrivateDnsForwardRules() *schema.Resource { + return &schema.Resource{ + Read: dataSourceTencentCloudPrivateDnsForwardRulesRead, + Schema: map[string]*schema.Schema{ + "filters": { + Type: schema.TypeList, + Optional: true, + Description: "Filter parameters.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "name": { + Type: schema.TypeString, + Required: true, + Description: "Parameter name.", + }, + "values": { + Type: schema.TypeSet, + Required: true, + Description: "Array of parameter values.", + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + }, + }, + }, + + "forward_rule_set": { + Type: schema.TypeList, + Computed: true, + Description: "Private domain list.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "domain": { + Type: schema.TypeString, + Required: true, + Description: "Private domain name.", + }, + "rule_name": { + Type: schema.TypeString, + Required: true, + Description: "Forwarding rule name.", + }, + "rule_id": { + Type: schema.TypeString, + Required: true, + Description: "Rule ID.", + }, + "rule_type": { + Type: schema.TypeString, + Required: true, + Description: "Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud.", + }, + "created_at": { + Type: schema.TypeString, + Required: true, + Description: "Creation time.", + }, + "updated_at": { + Type: schema.TypeString, + Required: true, + Description: "Update time.", + }, + "end_point_name": { + Type: schema.TypeString, + Required: true, + Description: "Endpoint name.", + }, + "end_point_id": { + Type: schema.TypeString, + Required: true, + Description: "Endpoint ID.", + }, + "forward_address": { + Type: schema.TypeSet, + Required: true, + Description: "Forwarding address.", + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + "vpc_set": { + Type: schema.TypeList, + Required: true, + Description: "List of VPCs bound to the private domain.\nNote: This field may return null, indicating that no valid values can be obtained.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "uniq_vpc_id": { + Type: schema.TypeString, + Required: true, + Description: "VpcId: vpc-xadsafsdasd.", + }, + "region": { + Type: schema.TypeString, + Required: true, + Description: "VPC region: ap-guangzhou, ap-shanghai.", + }, + }, + }, + }, + "zone_id": { + Type: schema.TypeString, + Required: true, + Description: "ID of the bound private domain.", + }, + "tags": { + Type: schema.TypeList, + Required: true, + Description: "Tag.\nNote: This field may return null, indicating that no valid values can be obtained.", + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "tag_key": { + Type: schema.TypeString, + Required: true, + Description: "Tag key.", + }, + "tag_value": { + Type: schema.TypeString, + Required: true, + Description: "Tag value.", + }, + }, + }, + }, + }, + }, + }, + + "result_output_file": { + Type: schema.TypeString, + Optional: true, + Description: "Used to save results.", + }, + }, + } +} + +func dataSourceTencentCloudPrivateDnsForwardRulesRead(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("data_source.tencentcloud_private_dns_forward_rules.read")() + defer tccommon.InconsistentCheck(d, meta)() + + logId := tccommon.GetLogId(nil) + ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + + service := PrivatednsService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} + + paramMap := make(map[string]interface{}) + if v, ok := d.GetOk("filters"); ok { + filtersSet := v.([]interface{}) + tmpSet := make([]*privatednsv20201028.Filter, 0, len(filtersSet)) + for _, item := range filtersSet { + filtersMap := item.(map[string]interface{}) + filter := privatednsv20201028.Filter{} + if v, ok := filtersMap["name"]; ok { + filter.Name = helper.String(v.(string)) + } + if v, ok := filtersMap["values"]; ok { + valuesSet := v.(*schema.Set).List() + for i := range valuesSet { + values := valuesSet[i].(string) + filter.Values = append(filter.Values, helper.String(values)) + } + } + tmpSet = append(tmpSet, &filter) + } + paramMap["Filters"] = tmpSet + } + + var respData []*privatednsv20201028.ForwardRule + err := resource.Retry(tccommon.ReadRetryTimeout, func() *resource.RetryError { + result, e := service.DescribePrivateDnsForwardRulesByFilter(ctx, paramMap) + if e != nil { + return tccommon.RetryError(e) + } + respData = result + return nil + }) + if err != nil { + return err + } + + var ids []string + forwardRuleSetList := make([]map[string]interface{}, 0, len(respData)) + if respData != nil { + for _, forwardRuleSet := range respData { + forwardRuleSetMap := map[string]interface{}{} + + var ruleId string + if forwardRuleSet.Domain != nil { + forwardRuleSetMap["domain"] = forwardRuleSet.Domain + } + + if forwardRuleSet.RuleName != nil { + forwardRuleSetMap["rule_name"] = forwardRuleSet.RuleName + } + + if forwardRuleSet.RuleId != nil { + forwardRuleSetMap["rule_id"] = forwardRuleSet.RuleId + } + + if forwardRuleSet.RuleType != nil { + forwardRuleSetMap["rule_type"] = forwardRuleSet.RuleType + } + + if forwardRuleSet.CreatedAt != nil { + forwardRuleSetMap["created_at"] = forwardRuleSet.CreatedAt + } + + if forwardRuleSet.UpdatedAt != nil { + forwardRuleSetMap["updated_at"] = forwardRuleSet.UpdatedAt + } + + if forwardRuleSet.EndPointName != nil { + forwardRuleSetMap["end_point_name"] = forwardRuleSet.EndPointName + } + + if forwardRuleSet.EndPointId != nil { + forwardRuleSetMap["end_point_id"] = forwardRuleSet.EndPointId + } + + if forwardRuleSet.ForwardAddress != nil { + forwardRuleSetMap["forward_address"] = forwardRuleSet.ForwardAddress + } + + vpcSetList := make([]map[string]interface{}, 0, len(forwardRuleSet.VpcSet)) + if forwardRuleSet.VpcSet != nil { + for _, vpcSet := range forwardRuleSet.VpcSet { + vpcSetMap := map[string]interface{}{} + + if vpcSet.UniqVpcId != nil { + vpcSetMap["uniq_vpc_id"] = vpcSet.UniqVpcId + } + + if vpcSet.Region != nil { + vpcSetMap["region"] = vpcSet.Region + } + + vpcSetList = append(vpcSetList, vpcSetMap) + } + + forwardRuleSetMap["vpc_set"] = vpcSetList + } + if forwardRuleSet.ZoneId != nil { + forwardRuleSetMap["zone_id"] = forwardRuleSet.ZoneId + } + + tagsList := make([]map[string]interface{}, 0, len(forwardRuleSet.Tags)) + if forwardRuleSet.Tags != nil { + for _, tags := range forwardRuleSet.Tags { + tagsMap := map[string]interface{}{} + + if tags.TagKey != nil { + tagsMap["tag_key"] = tags.TagKey + } + + if tags.TagValue != nil { + tagsMap["tag_value"] = tags.TagValue + } + + tagsList = append(tagsList, tagsMap) + } + + forwardRuleSetMap["tags"] = tagsList + } + ids = append(ids, ruleId) + forwardRuleSetList = append(forwardRuleSetList, forwardRuleSetMap) + } + + _ = d.Set("forward_rule_set", forwardRuleSetList) + } + + d.SetId(helper.DataResourceIdsHash(ids)) + + output, ok := d.GetOk("result_output_file") + if ok && output.(string) != "" { + if e := tccommon.WriteToFile(output.(string), forwardRuleSetList); e != nil { + return e + } + } + + return nil +} diff --git a/tencentcloud/services/privatedns/data_source_tc_private_dns_forward_rules.md b/tencentcloud/services/privatedns/data_source_tc_private_dns_forward_rules.md new file mode 100644 index 0000000000..56113cc1a1 --- /dev/null +++ b/tencentcloud/services/privatedns/data_source_tc_private_dns_forward_rules.md @@ -0,0 +1,50 @@ +Use this data source to query detailed information of private dns forward rules + +Example Usage + +Query all private dns forward rules + +```hcl +data "tencentcloud_private_dns_forward_rules" "example" {} +``` + +Query all private dns forward rules by filters + +```hcl +data "tencentcloud_private_dns_forward_rules" "example" { + filters { + name = "RuleId" + values = ["eid-e9d5880672"] + } + + filters { + name = "RuleName" + values = ["tf-example"] + } + + filters { + name = "RuleName" + values = ["tf-example"] + } + + filters { + name = "RuleType" + values = ["DOWN"] + } + + filters { + name = "ZoneId" + values = ["zone-04jlawty"] + } + + filters { + name = "EndPointId" + values = ["eid-e9d5880672"] + } + + filters { + name = "EndPointName" + values = ["tf-example"] + } +} +``` diff --git a/tencentcloud/services/privatedns/data_source_tc_private_dns_forward_rules_extension.go b/tencentcloud/services/privatedns/data_source_tc_private_dns_forward_rules_extension.go new file mode 100644 index 0000000000..963429795a --- /dev/null +++ b/tencentcloud/services/privatedns/data_source_tc_private_dns_forward_rules_extension.go @@ -0,0 +1 @@ +package privatedns diff --git a/tencentcloud/services/privatedns/data_source_tc_private_dns_forward_rules_test.go b/tencentcloud/services/privatedns/data_source_tc_private_dns_forward_rules_test.go new file mode 100644 index 0000000000..bbb20aa4b9 --- /dev/null +++ b/tencentcloud/services/privatedns/data_source_tc_private_dns_forward_rules_test.go @@ -0,0 +1,29 @@ +package privatedns_test + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + + tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" +) + +func TestAccTencentCloudPrivateDnsForwardRulesDataSource_basic(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + tcacctest.AccPreCheck(t) + }, + Providers: tcacctest.AccProviders, + Steps: []resource.TestStep{{ + Config: testAccPrivateDnsForwardRulesDataSource, + Check: resource.ComposeTestCheckFunc( + tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_private_dns_forward_rules.example"), + ), + }}, + }) +} + +const testAccPrivateDnsForwardRulesDataSource = ` +data "tencentcloud_private_dns_forward_rules" "example" {} +` diff --git a/tencentcloud/services/privatedns/resource_tc_private_dns_end_point.go b/tencentcloud/services/privatedns/resource_tc_private_dns_end_point.go new file mode 100644 index 0000000000..8a1f1901c8 --- /dev/null +++ b/tencentcloud/services/privatedns/resource_tc_private_dns_end_point.go @@ -0,0 +1,182 @@ +// Code generated by iacg; DO NOT EDIT. +package privatedns + +import ( + "context" + "log" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + privatednsv20201028 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028" + + tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" +) + +func ResourceTencentCloudPrivateDnsEndPoint() *schema.Resource { + return &schema.Resource{ + Create: resourceTencentCloudPrivateDnsEndPointCreate, + Read: resourceTencentCloudPrivateDnsEndPointRead, + Delete: resourceTencentCloudPrivateDnsEndPointDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + Schema: map[string]*schema.Schema{ + "end_point_name": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + Description: "Endpoint name.", + }, + + "end_point_service_id": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + Description: "Endpoint service ID (namely, VPC endpoint service ID).", + }, + + "end_point_region": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + Description: "Endpoint region, which should be consistent with the region of the endpoint service.", + }, + + "ip_num": { + Type: schema.TypeInt, + Optional: true, + Computed: true, + ForceNew: true, + Description: "Number of endpoint IP addresses.", + }, + + "end_point_vip_set": { + Type: schema.TypeSet, + Computed: true, + Description: "Vip list of endpoint.", + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + }, + } +} + +func resourceTencentCloudPrivateDnsEndPointCreate(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_private_dns_end_point.create")() + defer tccommon.InconsistentCheck(d, meta)() + + logId := tccommon.GetLogId(tccommon.ContextNil) + + ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + + var ( + endPointId string + ) + var ( + request = privatednsv20201028.NewCreateEndPointRequest() + response = privatednsv20201028.NewCreateEndPointResponse() + ) + + if v, ok := d.GetOk("end_point_name"); ok { + request.EndPointName = helper.String(v.(string)) + } + + if v, ok := d.GetOk("end_point_service_id"); ok { + request.EndPointServiceId = helper.String(v.(string)) + } + + if v, ok := d.GetOk("end_point_region"); ok { + request.EndPointRegion = helper.String(v.(string)) + } + + if v, ok := d.GetOkExists("ip_num"); ok { + request.IpNum = helper.IntInt64(v.(int)) + } + + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UsePrivatednsV20201028Client().CreateEndPointWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + response = result + return nil + }) + if err != nil { + log.Printf("[CRITAL]%s create private dns end point failed, reason:%+v", logId, err) + return err + } + + endPointId = *response.Response.EndPointId + + d.SetId(endPointId) + + return resourceTencentCloudPrivateDnsEndPointRead(d, meta) +} + +func resourceTencentCloudPrivateDnsEndPointRead(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_private_dns_end_point.read")() + defer tccommon.InconsistentCheck(d, meta)() + + logId := tccommon.GetLogId(tccommon.ContextNil) + + ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + + service := PrivatednsService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} + + endPointId := d.Id() + + respData, err := service.DescribePrivateDnsEndPointById(ctx, endPointId) + if err != nil { + return err + } + + if respData == nil { + d.SetId("") + log.Printf("[WARN]%s resource `private_dns_end_point` [%s] not found, please check if it has been deleted.\n", logId, d.Id()) + return nil + } + if err := resourceTencentCloudPrivateDnsEndPointReadPreHandleResponse0(ctx, respData); err != nil { + return err + } + + return nil +} + +func resourceTencentCloudPrivateDnsEndPointDelete(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_private_dns_end_point.delete")() + defer tccommon.InconsistentCheck(d, meta)() + + logId := tccommon.GetLogId(tccommon.ContextNil) + ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + + endPointId := d.Id() + + var ( + request = privatednsv20201028.NewDeleteEndPointRequest() + response = privatednsv20201028.NewDeleteEndPointResponse() + ) + + request.EndPointId = helper.String(endPointId) + + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UsePrivatednsV20201028Client().DeleteEndPointWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + response = result + return nil + }) + if err != nil { + log.Printf("[CRITAL]%s delete private dns end point failed, reason:%+v", logId, err) + return err + } + + _ = response + return nil +} diff --git a/tencentcloud/services/privatedns/resource_tc_private_dns_end_point.md b/tencentcloud/services/privatedns/resource_tc_private_dns_end_point.md new file mode 100644 index 0000000000..21fb90cd55 --- /dev/null +++ b/tencentcloud/services/privatedns/resource_tc_private_dns_end_point.md @@ -0,0 +1,20 @@ +Provides a resource to create a privatedns end point + +Example Usage + +```hcl +resource "tencentcloud_private_dns_end_point" "example" { + end_point_name = "tf-example" + end_point_service_id = "vpcsvc-61wcwmar" + end_point_region = "ap-guangzhou" + ip_num = 1 +} +``` + +Import + +private dns end point can be imported using the id, e.g. + +``` +terraform import tencentcloud_private_dns_end_point.example eid-77a246c867 +``` diff --git a/tencentcloud/services/privatedns/resource_tc_private_dns_end_point_extension.go b/tencentcloud/services/privatedns/resource_tc_private_dns_end_point_extension.go new file mode 100644 index 0000000000..139d264d52 --- /dev/null +++ b/tencentcloud/services/privatedns/resource_tc_private_dns_end_point_extension.go @@ -0,0 +1,51 @@ +package privatedns + +import ( + "context" + "fmt" + "log" + + privatednsv20201028 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028" + tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" +) + +func resourceTencentCloudPrivateDnsEndPointReadPreHandleResponse0(ctx context.Context, resp *privatednsv20201028.DescribeEndPointListResponseParams) error { + logId := tccommon.GetLogId(ctx) + d := tccommon.ResourceDataFromContext(ctx) + if d == nil { + return fmt.Errorf("resource data can not be nil") + } + + if resp.EndPointSet == nil && len(resp.EndPointSet) < 1 { + d.SetId("") + log.Printf("[WARN]%s resource `private_dns_end_point` [%s] not found, please check if it has been deleted.\n", logId, d.Id()) + return nil + } + + for _, item := range resp.EndPointSet { + if item.EndPointName != nil { + _ = d.Set("end_point_name", item.EndPointName) + } + + if item.EndPointServiceId != nil { + _ = d.Set("end_point_service_id", item.EndPointServiceId) + } + + if item.RegionCode != nil { + _ = d.Set("end_point_region", item.RegionCode) + } + + if item.EndPointVipSet != nil { + endPointVipSetLen := len(item.EndPointVipSet) + tmpList := make([]string, 0, endPointVipSetLen) + for _, v := range item.EndPointVipSet { + tmpList = append(tmpList, *v) + } + + _ = d.Set("ip_num", endPointVipSetLen) + _ = d.Set("end_point_vip_set", tmpList) + } + } + + return nil +} diff --git a/tencentcloud/services/privatedns/resource_tc_private_dns_end_point_test.go b/tencentcloud/services/privatedns/resource_tc_private_dns_end_point_test.go new file mode 100644 index 0000000000..8dcb1ef624 --- /dev/null +++ b/tencentcloud/services/privatedns/resource_tc_private_dns_end_point_test.go @@ -0,0 +1,46 @@ +package privatedns_test + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + + tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" +) + +// go test -i; go test -test.run TestAccTencentCloudNeedFixPrivateDnsEndPointResource_basic -v +func TestAccTencentCloudNeedFixPrivateDnsEndPointResource_basic(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + tcacctest.AccPreCheck(t) + }, + Providers: tcacctest.AccProviders, + Steps: []resource.TestStep{ + { + Config: testAccPrivateDnsEndPoint, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("tencentcloud_private_dns_end_point.example", "id"), + resource.TestCheckResourceAttrSet("tencentcloud_private_dns_end_point.example", "end_point_name"), + resource.TestCheckResourceAttrSet("tencentcloud_private_dns_end_point.example", "end_point_service_id"), + resource.TestCheckResourceAttrSet("tencentcloud_private_dns_end_point.example", "end_point_region"), + resource.TestCheckResourceAttrSet("tencentcloud_private_dns_end_point.example", "ip_num"), + ), + }, + { + ResourceName: "tencentcloud_private_dns_end_point.example", + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +const testAccPrivateDnsEndPoint = ` +resource "tencentcloud_private_dns_end_point" "example" { + end_point_name = "tf-example" + end_point_service_id = "vpcsvc-61wcwmar" + end_point_region = "ap-guangzhou" + ip_num = 1 +} +` diff --git a/tencentcloud/services/privatedns/resource_tc_private_dns_forward_rule.go b/tencentcloud/services/privatedns/resource_tc_private_dns_forward_rule.go new file mode 100644 index 0000000000..e83324f98f --- /dev/null +++ b/tencentcloud/services/privatedns/resource_tc_private_dns_forward_rule.go @@ -0,0 +1,238 @@ +// Code generated by iacg; DO NOT EDIT. +package privatedns + +import ( + "context" + "fmt" + "log" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + privatednsv20201028 "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028" + + tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" +) + +func ResourceTencentCloudPrivateDnsForwardRule() *schema.Resource { + return &schema.Resource{ + Create: resourceTencentCloudPrivateDnsForwardRuleCreate, + Read: resourceTencentCloudPrivateDnsForwardRuleRead, + Update: resourceTencentCloudPrivateDnsForwardRuleUpdate, + Delete: resourceTencentCloudPrivateDnsForwardRuleDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + Schema: map[string]*schema.Schema{ + "rule_name": { + Type: schema.TypeString, + Required: true, + Description: "Forwarding rule name.", + }, + + "rule_type": { + Type: schema.TypeString, + Required: true, + Description: "Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud.", + }, + + "zone_id": { + Type: schema.TypeString, + Required: true, + Description: "Private domain ID, which can be viewed on the private domain list page.", + }, + + "end_point_id": { + Type: schema.TypeString, + Required: true, + Description: "Endpoint ID.", + }, + }, + } +} + +func resourceTencentCloudPrivateDnsForwardRuleCreate(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_private_dns_forward_rule.create")() + defer tccommon.InconsistentCheck(d, meta)() + + logId := tccommon.GetLogId(tccommon.ContextNil) + + ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + + var ( + ruleId string + ) + var ( + request = privatednsv20201028.NewCreateForwardRuleRequest() + response = privatednsv20201028.NewCreateForwardRuleResponse() + ) + + if v, ok := d.GetOk("rule_name"); ok { + request.RuleName = helper.String(v.(string)) + } + + if v, ok := d.GetOk("rule_type"); ok { + request.RuleType = helper.String(v.(string)) + } + + if v, ok := d.GetOk("zone_id"); ok { + request.ZoneId = helper.String(v.(string)) + } + + if v, ok := d.GetOk("end_point_id"); ok { + request.EndPointId = helper.String(v.(string)) + } + + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UsePrivatednsV20201028Client().CreateForwardRuleWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + response = result + return nil + }) + if err != nil { + log.Printf("[CRITAL]%s create private dns forward rule failed, reason:%+v", logId, err) + return err + } + + ruleId = *response.Response.RuleId + + d.SetId(ruleId) + + return resourceTencentCloudPrivateDnsForwardRuleRead(d, meta) +} + +func resourceTencentCloudPrivateDnsForwardRuleRead(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_private_dns_forward_rule.read")() + defer tccommon.InconsistentCheck(d, meta)() + + logId := tccommon.GetLogId(tccommon.ContextNil) + + ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + + service := PrivatednsService{client: meta.(tccommon.ProviderMeta).GetAPIV3Conn()} + + ruleId := d.Id() + + respData, err := service.DescribePrivateDnsForwardRuleById(ctx, ruleId) + if err != nil { + return err + } + + if respData == nil { + d.SetId("") + log.Printf("[WARN]%s resource `private_dns_forward_rule` [%s] not found, please check if it has been deleted.\n", logId, d.Id()) + return nil + } + if respData.RuleName != nil { + _ = d.Set("rule_name", respData.RuleName) + } + + if respData.RuleType != nil { + _ = d.Set("rule_type", respData.RuleType) + } + + if respData.EndPointId != nil { + _ = d.Set("end_point_id", respData.EndPointId) + } + + if respData.ZoneId != nil { + _ = d.Set("zone_id", respData.ZoneId) + } + + return nil +} + +func resourceTencentCloudPrivateDnsForwardRuleUpdate(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_private_dns_forward_rule.update")() + defer tccommon.InconsistentCheck(d, meta)() + + logId := tccommon.GetLogId(tccommon.ContextNil) + + ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + + immutableArgs := []string{"rule_type", "zone_id"} + for _, v := range immutableArgs { + if d.HasChange(v) { + return fmt.Errorf("argument `%s` cannot be changed", v) + } + } + ruleId := d.Id() + + needChange := false + mutableArgs := []string{"rule_name", "end_point_id"} + for _, v := range mutableArgs { + if d.HasChange(v) { + needChange = true + break + } + } + + if needChange { + request := privatednsv20201028.NewModifyForwardRuleRequest() + + request.RuleId = helper.String(ruleId) + + if v, ok := d.GetOk("rule_name"); ok { + request.RuleName = helper.String(v.(string)) + } + + if v, ok := d.GetOk("end_point_id"); ok { + request.EndPointId = helper.String(v.(string)) + } + + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UsePrivatednsV20201028Client().ModifyForwardRuleWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + return nil + }) + if err != nil { + log.Printf("[CRITAL]%s update private dns forward rule failed, reason:%+v", logId, err) + return err + } + } + + return resourceTencentCloudPrivateDnsForwardRuleRead(d, meta) +} + +func resourceTencentCloudPrivateDnsForwardRuleDelete(d *schema.ResourceData, meta interface{}) error { + defer tccommon.LogElapsed("resource.tencentcloud_private_dns_forward_rule.delete")() + defer tccommon.InconsistentCheck(d, meta)() + + logId := tccommon.GetLogId(tccommon.ContextNil) + ctx := tccommon.NewResourceLifeCycleHandleFuncContext(context.Background(), logId, d, meta) + + ruleId := d.Id() + + var ( + request = privatednsv20201028.NewDeleteForwardRuleRequest() + response = privatednsv20201028.NewDeleteForwardRuleResponse() + ) + + request.RuleIdSet = []*string{helper.String(ruleId)} + + err := resource.Retry(tccommon.WriteRetryTimeout, func() *resource.RetryError { + result, e := meta.(tccommon.ProviderMeta).GetAPIV3Conn().UsePrivatednsV20201028Client().DeleteForwardRuleWithContext(ctx, request) + if e != nil { + return tccommon.RetryError(e) + } else { + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), result.ToJsonString()) + } + response = result + return nil + }) + if err != nil { + log.Printf("[CRITAL]%s delete private dns forward rule failed, reason:%+v", logId, err) + return err + } + + _ = response + return nil +} diff --git a/tencentcloud/services/privatedns/resource_tc_private_dns_forward_rule.md b/tencentcloud/services/privatedns/resource_tc_private_dns_forward_rule.md new file mode 100644 index 0000000000..c29b9d21d3 --- /dev/null +++ b/tencentcloud/services/privatedns/resource_tc_private_dns_forward_rule.md @@ -0,0 +1,27 @@ +Provides a resource to create a privatedns forward rule + +Example Usage + +```hcl +resource "tencentcloud_private_dns_end_point" "example" { + end_point_name = "tf-example" + end_point_service_id = "vpcsvc-61wcwmar" + end_point_region = "ap-guangzhou" + ip_num = 1 +} + +resource "tencentcloud_private_dns_forward_rule" "example" { + rule_name = "tf-example" + rule_type = "DOWN" + zone_id = "zone-cmmbvaq8" + end_point_id = tencentcloud_private_dns_end_point.example.id +} +``` + +Import + +private dns forward rule can be imported using the id, e.g. + +``` +terraform import tencentcloud_private_dns_forward_rule.example fid-dbc2c0a97c +``` diff --git a/tencentcloud/services/privatedns/resource_tc_private_dns_forward_rule_extension.go b/tencentcloud/services/privatedns/resource_tc_private_dns_forward_rule_extension.go new file mode 100644 index 0000000000..963429795a --- /dev/null +++ b/tencentcloud/services/privatedns/resource_tc_private_dns_forward_rule_extension.go @@ -0,0 +1 @@ +package privatedns diff --git a/tencentcloud/services/privatedns/resource_tc_private_dns_forward_rule_test.go b/tencentcloud/services/privatedns/resource_tc_private_dns_forward_rule_test.go new file mode 100644 index 0000000000..9f2eabe699 --- /dev/null +++ b/tencentcloud/services/privatedns/resource_tc_private_dns_forward_rule_test.go @@ -0,0 +1,65 @@ +package privatedns_test + +import ( + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + + tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" +) + +// go test -i; go test -test.run TestAccTencentCloudPrivateDnsForwardRuleResource_basic -v +func TestAccTencentCloudPrivateDnsForwardRuleResource_basic(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + tcacctest.AccPreCheck(t) + }, + Providers: tcacctest.AccProviders, + Steps: []resource.TestStep{ + { + Config: testAccPrivateDnsForwardRule, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("tencentcloud_private_dns_forward_rule.example", "id"), + resource.TestCheckResourceAttrSet("tencentcloud_private_dns_forward_rule.example", "rule_name"), + resource.TestCheckResourceAttrSet("tencentcloud_private_dns_forward_rule.example", "rule_type"), + resource.TestCheckResourceAttrSet("tencentcloud_private_dns_forward_rule.example", "zone_id"), + resource.TestCheckResourceAttrSet("tencentcloud_private_dns_forward_rule.example", "end_point_id"), + ), + }, + { + Config: testAccPrivateDnsForwardRuleUpdate, + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrSet("tencentcloud_private_dns_forward_rule.example", "id"), + resource.TestCheckResourceAttrSet("tencentcloud_private_dns_forward_rule.example", "rule_name"), + resource.TestCheckResourceAttrSet("tencentcloud_private_dns_forward_rule.example", "rule_type"), + resource.TestCheckResourceAttrSet("tencentcloud_private_dns_forward_rule.example", "zone_id"), + resource.TestCheckResourceAttrSet("tencentcloud_private_dns_forward_rule.example", "end_point_id"), + ), + }, + { + ResourceName: "tencentcloud_private_dns_forward_rule.example", + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +const testAccPrivateDnsForwardRule = ` +resource "tencentcloud_private_dns_forward_rule" "example" { + rule_name = "tf-example" + rule_type = "DOWN" + zone_id = "zone-cmmbvaq8" + end_point_id = "eid-72dbbc79fb" +} +` + +const testAccPrivateDnsForwardRuleUpdate = ` +resource "tencentcloud_private_dns_forward_rule" "example" { + rule_name = "tf-example-update" + rule_type = "DOWN" + zone_id = "zone-cmmbvaq8" + end_point_id = "eid-72dbbc79fb" +} +` diff --git a/tencentcloud/services/privatedns/service_tencentcloud_private_dns.go b/tencentcloud/services/privatedns/service_tencentcloud_private_dns.go index 8eb088e285..577c8841ae 100644 --- a/tencentcloud/services/privatedns/service_tencentcloud_private_dns.go +++ b/tencentcloud/services/privatedns/service_tencentcloud_private_dns.go @@ -11,6 +11,7 @@ import ( tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/connectivity" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/ratelimit" ) @@ -20,6 +21,10 @@ type PrivateDnsService struct { client *connectivity.TencentCloudClient } +type PrivatednsService struct { + client *connectivity.TencentCloudClient +} + // ////////api func (me *PrivateDnsService) DescribePrivateDnsRecordByFilter(ctx context.Context, zoneId string, filterList []*privatedns.Filter) (recordInfos []*privatedns.PrivateZoneRecord, errRet error) { @@ -222,3 +227,157 @@ func (me *PrivateDnsService) DescribePrivatednsPrivateZoneListByFilter(ctx conte privateZoneList = response.Response.PrivateZoneSet return } + +func (me *PrivatednsService) DescribePrivateDnsForwardRuleById(ctx context.Context, ruleId string) (ret *privatedns.ForwardRule, errRet error) { + logId := tccommon.GetLogId(ctx) + + request := privatedns.NewDescribeForwardRuleRequest() + request.RuleId = helper.String(ruleId) + + defer func() { + if errRet != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", logId, request.GetAction(), request.ToJsonString(), errRet.Error()) + } + }() + + ratelimit.Check(request.GetAction()) + + response, err := me.client.UsePrivatednsV20201028Client().DescribeForwardRule(request) + if err != nil { + errRet = err + return + } + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + if response.Response == nil { + return + } + + ret = response.Response.ForwardRule + return +} + +func (me *PrivatednsService) DescribePrivateDnsEndPointById(ctx context.Context, endPointId string) (ret *privatedns.DescribeEndPointListResponseParams, errRet error) { + logId := tccommon.GetLogId(ctx) + + request := privatedns.NewDescribeEndPointListRequest() + filter := &privatedns.Filter{ + Name: helper.String("EndPointId"), + Values: []*string{helper.String(endPointId)}, + } + request.Filters = append(request.Filters, filter) + + defer func() { + if errRet != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", logId, request.GetAction(), request.ToJsonString(), errRet.Error()) + } + }() + + ratelimit.Check(request.GetAction()) + + response, err := me.client.UsePrivatednsV20201028Client().DescribeEndPointList(request) + if err != nil { + errRet = err + return + } + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + ret = response.Response + return +} + +func (me *PrivatednsService) DescribePrivateDnsForwardRulesByFilter(ctx context.Context, param map[string]interface{}) (ret []*privatedns.ForwardRule, errRet error) { + var ( + logId = tccommon.GetLogId(ctx) + request = privatedns.NewDescribeForwardRuleListRequest() + ) + + defer func() { + if errRet != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", logId, request.GetAction(), request.ToJsonString(), errRet.Error()) + } + }() + + for k, v := range param { + if k == "Filters" { + request.Filters = v.([]*privatedns.Filter) + } + } + + ratelimit.Check(request.GetAction()) + + var ( + offset int64 = 0 + limit int64 = 100 + ) + for { + request.Offset = &offset + request.Limit = &limit + response, err := me.client.UsePrivatednsV20201028Client().DescribeForwardRuleList(request) + if err != nil { + errRet = err + return + } + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + if response == nil || len(response.Response.ForwardRuleSet) < 1 { + break + } + ret = append(ret, response.Response.ForwardRuleSet...) + if len(response.Response.ForwardRuleSet) < int(limit) { + break + } + + offset += limit + } + + return +} + +func (me *PrivatednsService) DescribePrivateDnsEndPointsByFilter(ctx context.Context, param map[string]interface{}) (ret []*privatedns.EndPointInfo, errRet error) { + var ( + logId = tccommon.GetLogId(ctx) + request = privatedns.NewDescribeEndPointListRequest() + ) + + defer func() { + if errRet != nil { + log.Printf("[CRITAL]%s api[%s] fail, request body [%s], reason[%s]\n", logId, request.GetAction(), request.ToJsonString(), errRet.Error()) + } + }() + + for k, v := range param { + if k == "Filters" { + request.Filters = v.([]*privatedns.Filter) + } + } + + ratelimit.Check(request.GetAction()) + + var ( + offset int64 = 0 + limit int64 = 100 + ) + for { + request.Offset = &offset + request.Limit = &limit + response, err := me.client.UsePrivatednsV20201028Client().DescribeEndPointList(request) + if err != nil { + errRet = err + return + } + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString()) + + if response == nil || len(response.Response.EndPointSet) < 1 { + break + } + ret = append(ret, response.Response.EndPointSet...) + if len(response.Response.EndPointSet) < int(limit) { + break + } + + offset += limit + } + + return +} 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 70e82f7099..cddb6f6af5 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.1034" + params["RequestClient"] = "SDK_GO_1.0.1038" if requestClient != "" { params["RequestClient"] += ": " + requestClient } diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028/client.go index e8b2f022e4..0f3b3f930d 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028/client.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028/client.go @@ -154,6 +154,259 @@ func (c *Client) AddSpecifyPrivateZoneVpcWithContext(ctx context.Context, reques return } +func NewCreateEndPointRequest() (request *CreateEndPointRequest) { + request = &CreateEndPointRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("privatedns", APIVersion, "CreateEndPoint") + + + return +} + +func NewCreateEndPointResponse() (response *CreateEndPointResponse) { + response = &CreateEndPointResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// CreateEndPoint +// 创建终端节点 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_CREATEVPCENDPOINTERROR = "FailedOperation.CreateVpcEndPointError" +// FAILEDOPERATION_CREATEVPCENDPOINTFAILED = "FailedOperation.CreateVpcEndPointFailed" +// FAILEDOPERATION_GETTMPCREDFAILED = "FailedOperation.GetTmpCredFailed" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_ENDPOINTSERVICENOTEXIST = "InvalidParameter.EndPointServiceNotExist" +// INVALIDPARAMETERVALUE_UINNOTINWHITELIST = "InvalidParameterValue.UinNotInWhiteList" +// MISSINGPARAMETER = "MissingParameter" +// OPERATIONDENIED = "OperationDenied" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" +// RESOURCENOTFOUND_SERVICENOTSUBSCRIBED = "ResourceNotFound.ServiceNotSubscribed" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// RESOURCEUNAVAILABLE_SERVICEWHITELISTNOTADDED = "ResourceUnavailable.ServiceWhiteListNotAdded" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNAUTHORIZEDOPERATION_ROLEUNAUTHORIZED = "UnauthorizedOperation.RoleUnAuthorized" +// UNAUTHORIZEDOPERATION_UNAUTHORIZEDACCOUNT = "UnauthorizedOperation.UnauthorizedAccount" +// UNKNOWNPARAMETER = "UnknownParameter" +func (c *Client) CreateEndPoint(request *CreateEndPointRequest) (response *CreateEndPointResponse, err error) { + return c.CreateEndPointWithContext(context.Background(), request) +} + +// CreateEndPoint +// 创建终端节点 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_CREATEVPCENDPOINTERROR = "FailedOperation.CreateVpcEndPointError" +// FAILEDOPERATION_CREATEVPCENDPOINTFAILED = "FailedOperation.CreateVpcEndPointFailed" +// FAILEDOPERATION_GETTMPCREDFAILED = "FailedOperation.GetTmpCredFailed" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_ENDPOINTSERVICENOTEXIST = "InvalidParameter.EndPointServiceNotExist" +// INVALIDPARAMETERVALUE_UINNOTINWHITELIST = "InvalidParameterValue.UinNotInWhiteList" +// MISSINGPARAMETER = "MissingParameter" +// OPERATIONDENIED = "OperationDenied" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" +// RESOURCENOTFOUND_SERVICENOTSUBSCRIBED = "ResourceNotFound.ServiceNotSubscribed" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// RESOURCEUNAVAILABLE_SERVICEWHITELISTNOTADDED = "ResourceUnavailable.ServiceWhiteListNotAdded" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNAUTHORIZEDOPERATION_ROLEUNAUTHORIZED = "UnauthorizedOperation.RoleUnAuthorized" +// UNAUTHORIZEDOPERATION_UNAUTHORIZEDACCOUNT = "UnauthorizedOperation.UnauthorizedAccount" +// UNKNOWNPARAMETER = "UnknownParameter" +func (c *Client) CreateEndPointWithContext(ctx context.Context, request *CreateEndPointRequest) (response *CreateEndPointResponse, err error) { + if request == nil { + request = NewCreateEndPointRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CreateEndPoint require credential") + } + + request.SetContext(ctx) + + response = NewCreateEndPointResponse() + err = c.Send(request, response) + return +} + +func NewCreateEndPointAndEndPointServiceRequest() (request *CreateEndPointAndEndPointServiceRequest) { + request = &CreateEndPointAndEndPointServiceRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("privatedns", APIVersion, "CreateEndPointAndEndPointService") + + + return +} + +func NewCreateEndPointAndEndPointServiceResponse() (response *CreateEndPointAndEndPointServiceResponse) { + response = &CreateEndPointAndEndPointServiceResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// CreateEndPointAndEndPointService +// 同时创建终端节点和终端节点服务 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_CREATEVPCENDPOINTERROR = "FailedOperation.CreateVpcEndPointError" +// FAILEDOPERATION_CREATEVPCENDPOINTFAILED = "FailedOperation.CreateVpcEndPointFailed" +// FAILEDOPERATION_ENDPOINTSERVICECREATEFAILED = "FailedOperation.EndPointServiceCreateFailed" +// FAILEDOPERATION_ENDPOINTSERVICEDELETEFAILED = "FailedOperation.EndPointServiceDeleteFailed" +// FAILEDOPERATION_ENDPOINTSERVICEWHITELISTFAILED = "FailedOperation.EndPointServiceWhiteListFailed" +// FAILEDOPERATION_GETTMPCREDFAILED = "FailedOperation.GetTmpCredFailed" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_ENDPOINTSERVICENOTEXIST = "InvalidParameter.EndPointServiceNotExist" +// INVALIDPARAMETERVALUE_UINNOTINWHITELIST = "InvalidParameterValue.UinNotInWhiteList" +// MISSINGPARAMETER = "MissingParameter" +// OPERATIONDENIED = "OperationDenied" +// RESOURCEINUSE = "ResourceInUse" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" +// RESOURCENOTFOUND_SERVICENOTSUBSCRIBED = "ResourceNotFound.ServiceNotSubscribed" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// RESOURCEUNAVAILABLE_SERVICEWHITELISTNOTADDED = "ResourceUnavailable.ServiceWhiteListNotAdded" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNAUTHORIZEDOPERATION_UNAUTHORIZEDACCOUNT = "UnauthorizedOperation.UnauthorizedAccount" +// UNKNOWNPARAMETER = "UnknownParameter" +func (c *Client) CreateEndPointAndEndPointService(request *CreateEndPointAndEndPointServiceRequest) (response *CreateEndPointAndEndPointServiceResponse, err error) { + return c.CreateEndPointAndEndPointServiceWithContext(context.Background(), request) +} + +// CreateEndPointAndEndPointService +// 同时创建终端节点和终端节点服务 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_CREATEVPCENDPOINTERROR = "FailedOperation.CreateVpcEndPointError" +// FAILEDOPERATION_CREATEVPCENDPOINTFAILED = "FailedOperation.CreateVpcEndPointFailed" +// FAILEDOPERATION_ENDPOINTSERVICECREATEFAILED = "FailedOperation.EndPointServiceCreateFailed" +// FAILEDOPERATION_ENDPOINTSERVICEDELETEFAILED = "FailedOperation.EndPointServiceDeleteFailed" +// FAILEDOPERATION_ENDPOINTSERVICEWHITELISTFAILED = "FailedOperation.EndPointServiceWhiteListFailed" +// FAILEDOPERATION_GETTMPCREDFAILED = "FailedOperation.GetTmpCredFailed" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_ENDPOINTSERVICENOTEXIST = "InvalidParameter.EndPointServiceNotExist" +// INVALIDPARAMETERVALUE_UINNOTINWHITELIST = "InvalidParameterValue.UinNotInWhiteList" +// MISSINGPARAMETER = "MissingParameter" +// OPERATIONDENIED = "OperationDenied" +// RESOURCEINUSE = "ResourceInUse" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" +// RESOURCENOTFOUND_SERVICENOTSUBSCRIBED = "ResourceNotFound.ServiceNotSubscribed" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// RESOURCEUNAVAILABLE_SERVICEWHITELISTNOTADDED = "ResourceUnavailable.ServiceWhiteListNotAdded" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNAUTHORIZEDOPERATION_UNAUTHORIZEDACCOUNT = "UnauthorizedOperation.UnauthorizedAccount" +// UNKNOWNPARAMETER = "UnknownParameter" +func (c *Client) CreateEndPointAndEndPointServiceWithContext(ctx context.Context, request *CreateEndPointAndEndPointServiceRequest) (response *CreateEndPointAndEndPointServiceResponse, err error) { + if request == nil { + request = NewCreateEndPointAndEndPointServiceRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CreateEndPointAndEndPointService require credential") + } + + request.SetContext(ctx) + + response = NewCreateEndPointAndEndPointServiceResponse() + err = c.Send(request, response) + return +} + +func NewCreateForwardRuleRequest() (request *CreateForwardRuleRequest) { + request = &CreateForwardRuleRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("privatedns", APIVersion, "CreateForwardRule") + + + return +} + +func NewCreateForwardRuleResponse() (response *CreateForwardRuleResponse) { + response = &CreateForwardRuleResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// CreateForwardRule +// 创建自定义转发规则 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// DRYRUNOPERATION = "DryRunOperation" +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_ENDPOINTNOTEXISTS = "InvalidParameter.EndPointNotExists" +// INVALIDPARAMETER_FORWARDRULEZONEREPEATBIND = "InvalidParameter.ForwardRuleZoneRepeatBind" +// INVALIDPARAMETER_ZONENOTEXISTS = "InvalidParameter.ZoneNotExists" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// UNKNOWNPARAMETER = "UnknownParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +// UNSUPPORTEDOPERATION_FREQUENCYLIMIT = "UnsupportedOperation.FrequencyLimit" +func (c *Client) CreateForwardRule(request *CreateForwardRuleRequest) (response *CreateForwardRuleResponse, err error) { + return c.CreateForwardRuleWithContext(context.Background(), request) +} + +// CreateForwardRule +// 创建自定义转发规则 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// DRYRUNOPERATION = "DryRunOperation" +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_ENDPOINTNOTEXISTS = "InvalidParameter.EndPointNotExists" +// INVALIDPARAMETER_FORWARDRULEZONEREPEATBIND = "InvalidParameter.ForwardRuleZoneRepeatBind" +// INVALIDPARAMETER_ZONENOTEXISTS = "InvalidParameter.ZoneNotExists" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// UNKNOWNPARAMETER = "UnknownParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +// UNSUPPORTEDOPERATION_FREQUENCYLIMIT = "UnsupportedOperation.FrequencyLimit" +func (c *Client) CreateForwardRuleWithContext(ctx context.Context, request *CreateForwardRuleRequest) (response *CreateForwardRuleResponse, err error) { + if request == nil { + request = NewCreateForwardRuleRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("CreateForwardRule require credential") + } + + request.SetContext(ctx) + + response = NewCreateForwardRuleResponse() + err = c.Send(request, response) + return +} + func NewCreatePrivateDNSAccountRequest() (request *CreatePrivateDNSAccountRequest) { request = &CreatePrivateDNSAccountRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -578,6 +831,85 @@ func (c *Client) DeleteEndPointWithContext(ctx context.Context, request *DeleteE return } +func NewDeleteForwardRuleRequest() (request *DeleteForwardRuleRequest) { + request = &DeleteForwardRuleRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("privatedns", APIVersion, "DeleteForwardRule") + + + return +} + +func NewDeleteForwardRuleResponse() (response *DeleteForwardRuleResponse) { + response = &DeleteForwardRuleResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DeleteForwardRule +// 删除转发规则并停止转发 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// DRYRUNOPERATION = "DryRunOperation" +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_FORWARDRULENOTEXIST = "InvalidParameter.ForwardRuleNotExist" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// RESOURCEINSUFFICIENT_BALANCE = "ResourceInsufficient.Balance" +// RESOURCENOTFOUND_SERVICENOTSUBSCRIBED = "ResourceNotFound.ServiceNotSubscribed" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNAUTHORIZEDOPERATION_UNAUTHORIZEDACCOUNT = "UnauthorizedOperation.UnauthorizedAccount" +// UNKNOWNPARAMETER = "UnknownParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +// UNSUPPORTEDOPERATION_FREQUENCYLIMIT = "UnsupportedOperation.FrequencyLimit" +func (c *Client) DeleteForwardRule(request *DeleteForwardRuleRequest) (response *DeleteForwardRuleResponse, err error) { + return c.DeleteForwardRuleWithContext(context.Background(), request) +} + +// DeleteForwardRule +// 删除转发规则并停止转发 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// DRYRUNOPERATION = "DryRunOperation" +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_FORWARDRULENOTEXIST = "InvalidParameter.ForwardRuleNotExist" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// RESOURCEINSUFFICIENT_BALANCE = "ResourceInsufficient.Balance" +// RESOURCENOTFOUND_SERVICENOTSUBSCRIBED = "ResourceNotFound.ServiceNotSubscribed" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNAUTHORIZEDOPERATION_UNAUTHORIZEDACCOUNT = "UnauthorizedOperation.UnauthorizedAccount" +// UNKNOWNPARAMETER = "UnknownParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +// UNSUPPORTEDOPERATION_FREQUENCYLIMIT = "UnsupportedOperation.FrequencyLimit" +func (c *Client) DeleteForwardRuleWithContext(ctx context.Context, request *DeleteForwardRuleRequest) (response *DeleteForwardRuleResponse, err error) { + if request == nil { + request = NewDeleteForwardRuleRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DeleteForwardRule require credential") + } + + request.SetContext(ctx) + + response = NewDeleteForwardRuleResponse() + err = c.Send(request, response) + return +} + func NewDeletePrivateDNSAccountRequest() (request *DeletePrivateDNSAccountRequest) { request = &DeletePrivateDNSAccountRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -1237,27 +1569,27 @@ func (c *Client) DescribeDashboardWithContext(ctx context.Context, request *Desc return } -func NewDescribePrivateDNSAccountListRequest() (request *DescribePrivateDNSAccountListRequest) { - request = &DescribePrivateDNSAccountListRequest{ +func NewDescribeEndPointListRequest() (request *DescribeEndPointListRequest) { + request = &DescribeEndPointListRequest{ BaseRequest: &tchttp.BaseRequest{}, } - request.Init().WithApiInfo("privatedns", APIVersion, "DescribePrivateDNSAccountList") + request.Init().WithApiInfo("privatedns", APIVersion, "DescribeEndPointList") return } -func NewDescribePrivateDNSAccountListResponse() (response *DescribePrivateDNSAccountListResponse) { - response = &DescribePrivateDNSAccountListResponse{ +func NewDescribeEndPointListResponse() (response *DescribeEndPointListResponse) { + response = &DescribeEndPointListResponse{ BaseResponse: &tchttp.BaseResponse{}, } return } -// DescribePrivateDNSAccountList -// 获取私有域解析账号列表 +// DescribeEndPointList +// 获取终端节点列表 // // 可能返回的错误码: // AUTHFAILURE = "AuthFailure" @@ -1266,7 +1598,6 @@ func NewDescribePrivateDNSAccountListResponse() (response *DescribePrivateDNSAcc // INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" // MISSINGPARAMETER = "MissingParameter" // OPERATIONDENIED = "OperationDenied" // REQUESTLIMITEXCEEDED = "RequestLimitExceeded" @@ -1280,12 +1611,12 @@ func NewDescribePrivateDNSAccountListResponse() (response *DescribePrivateDNSAcc // UNAUTHORIZEDOPERATION_UNAUTHORIZEDACCOUNT = "UnauthorizedOperation.UnauthorizedAccount" // UNKNOWNPARAMETER = "UnknownParameter" // UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) DescribePrivateDNSAccountList(request *DescribePrivateDNSAccountListRequest) (response *DescribePrivateDNSAccountListResponse, err error) { - return c.DescribePrivateDNSAccountListWithContext(context.Background(), request) +func (c *Client) DescribeEndPointList(request *DescribeEndPointListRequest) (response *DescribeEndPointListResponse, err error) { + return c.DescribeEndPointListWithContext(context.Background(), request) } -// DescribePrivateDNSAccountList -// 获取私有域解析账号列表 +// DescribeEndPointList +// 获取终端节点列表 // // 可能返回的错误码: // AUTHFAILURE = "AuthFailure" @@ -1294,7 +1625,6 @@ func (c *Client) DescribePrivateDNSAccountList(request *DescribePrivateDNSAccoun // INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" // INVALIDPARAMETER = "InvalidParameter" // INVALIDPARAMETERVALUE = "InvalidParameterValue" -// LIMITEXCEEDED = "LimitExceeded" // MISSINGPARAMETER = "MissingParameter" // OPERATIONDENIED = "OperationDenied" // REQUESTLIMITEXCEEDED = "RequestLimitExceeded" @@ -1308,23 +1638,307 @@ func (c *Client) DescribePrivateDNSAccountList(request *DescribePrivateDNSAccoun // UNAUTHORIZEDOPERATION_UNAUTHORIZEDACCOUNT = "UnauthorizedOperation.UnauthorizedAccount" // UNKNOWNPARAMETER = "UnknownParameter" // UNSUPPORTEDOPERATION = "UnsupportedOperation" -func (c *Client) DescribePrivateDNSAccountListWithContext(ctx context.Context, request *DescribePrivateDNSAccountListRequest) (response *DescribePrivateDNSAccountListResponse, err error) { +func (c *Client) DescribeEndPointListWithContext(ctx context.Context, request *DescribeEndPointListRequest) (response *DescribeEndPointListResponse, err error) { if request == nil { - request = NewDescribePrivateDNSAccountListRequest() + request = NewDescribeEndPointListRequest() } if c.GetCredential() == nil { - return nil, errors.New("DescribePrivateDNSAccountList require credential") + return nil, errors.New("DescribeEndPointList require credential") } request.SetContext(ctx) - response = NewDescribePrivateDNSAccountListResponse() + response = NewDescribeEndPointListResponse() err = c.Send(request, response) return } -func NewDescribePrivateZoneRequest() (request *DescribePrivateZoneRequest) { +func NewDescribeEndPointRegionRequest() (request *DescribeEndPointRegionRequest) { + request = &DescribeEndPointRegionRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("privatedns", APIVersion, "DescribeEndPointRegion") + + + return +} + +func NewDescribeEndPointRegionResponse() (response *DescribeEndPointRegionResponse) { + response = &DescribeEndPointRegionResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeEndPointRegion +// 查询终端节点已经启用了的地域 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// MISSINGPARAMETER = "MissingParameter" +// RESOURCENOTFOUND_SERVICENOTSUBSCRIBED = "ResourceNotFound.ServiceNotSubscribed" +// UNSUPPORTEDOPERATION_FREQUENCYLIMIT = "UnsupportedOperation.FrequencyLimit" +func (c *Client) DescribeEndPointRegion(request *DescribeEndPointRegionRequest) (response *DescribeEndPointRegionResponse, err error) { + return c.DescribeEndPointRegionWithContext(context.Background(), request) +} + +// DescribeEndPointRegion +// 查询终端节点已经启用了的地域 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// MISSINGPARAMETER = "MissingParameter" +// RESOURCENOTFOUND_SERVICENOTSUBSCRIBED = "ResourceNotFound.ServiceNotSubscribed" +// UNSUPPORTEDOPERATION_FREQUENCYLIMIT = "UnsupportedOperation.FrequencyLimit" +func (c *Client) DescribeEndPointRegionWithContext(ctx context.Context, request *DescribeEndPointRegionRequest) (response *DescribeEndPointRegionResponse, err error) { + if request == nil { + request = NewDescribeEndPointRegionRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeEndPointRegion require credential") + } + + request.SetContext(ctx) + + response = NewDescribeEndPointRegionResponse() + err = c.Send(request, response) + return +} + +func NewDescribeForwardRuleRequest() (request *DescribeForwardRuleRequest) { + request = &DescribeForwardRuleRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("privatedns", APIVersion, "DescribeForwardRule") + + + return +} + +func NewDescribeForwardRuleResponse() (response *DescribeForwardRuleResponse) { + response = &DescribeForwardRuleResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeForwardRule +// 查询转发规则 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_ENDPOINTBINDFORWARDRULE = "InvalidParameter.EndPointBindForwardRule" +// INVALIDPARAMETER_FORWARDRULENOTEXIST = "InvalidParameter.ForwardRuleNotExist" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// MISSINGPARAMETER = "MissingParameter" +// UNSUPPORTEDOPERATION_FREQUENCYLIMIT = "UnsupportedOperation.FrequencyLimit" +func (c *Client) DescribeForwardRule(request *DescribeForwardRuleRequest) (response *DescribeForwardRuleResponse, err error) { + return c.DescribeForwardRuleWithContext(context.Background(), request) +} + +// DescribeForwardRule +// 查询转发规则 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_ENDPOINTBINDFORWARDRULE = "InvalidParameter.EndPointBindForwardRule" +// INVALIDPARAMETER_FORWARDRULENOTEXIST = "InvalidParameter.ForwardRuleNotExist" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// MISSINGPARAMETER = "MissingParameter" +// UNSUPPORTEDOPERATION_FREQUENCYLIMIT = "UnsupportedOperation.FrequencyLimit" +func (c *Client) DescribeForwardRuleWithContext(ctx context.Context, request *DescribeForwardRuleRequest) (response *DescribeForwardRuleResponse, err error) { + if request == nil { + request = NewDescribeForwardRuleRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeForwardRule require credential") + } + + request.SetContext(ctx) + + response = NewDescribeForwardRuleResponse() + err = c.Send(request, response) + return +} + +func NewDescribeForwardRuleListRequest() (request *DescribeForwardRuleListRequest) { + request = &DescribeForwardRuleListRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("privatedns", APIVersion, "DescribeForwardRuleList") + + + return +} + +func NewDescribeForwardRuleListResponse() (response *DescribeForwardRuleListResponse) { + response = &DescribeForwardRuleListResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribeForwardRuleList +// 查询转发规则列表 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// MISSINGPARAMETER = "MissingParameter" +// REQUESTLIMITEXCEEDED = "RequestLimitExceeded" +// RESOURCENOTFOUND_SERVICENOTSUBSCRIBED = "ResourceNotFound.ServiceNotSubscribed" +// UNAUTHORIZEDOPERATION_UNAUTHORIZEDACCOUNT = "UnauthorizedOperation.UnauthorizedAccount" +// UNKNOWNPARAMETER = "UnknownParameter" +func (c *Client) DescribeForwardRuleList(request *DescribeForwardRuleListRequest) (response *DescribeForwardRuleListResponse, err error) { + return c.DescribeForwardRuleListWithContext(context.Background(), request) +} + +// DescribeForwardRuleList +// 查询转发规则列表 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// MISSINGPARAMETER = "MissingParameter" +// REQUESTLIMITEXCEEDED = "RequestLimitExceeded" +// RESOURCENOTFOUND_SERVICENOTSUBSCRIBED = "ResourceNotFound.ServiceNotSubscribed" +// UNAUTHORIZEDOPERATION_UNAUTHORIZEDACCOUNT = "UnauthorizedOperation.UnauthorizedAccount" +// UNKNOWNPARAMETER = "UnknownParameter" +func (c *Client) DescribeForwardRuleListWithContext(ctx context.Context, request *DescribeForwardRuleListRequest) (response *DescribeForwardRuleListResponse, err error) { + if request == nil { + request = NewDescribeForwardRuleListRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribeForwardRuleList require credential") + } + + request.SetContext(ctx) + + response = NewDescribeForwardRuleListResponse() + err = c.Send(request, response) + return +} + +func NewDescribePrivateDNSAccountListRequest() (request *DescribePrivateDNSAccountListRequest) { + request = &DescribePrivateDNSAccountListRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("privatedns", APIVersion, "DescribePrivateDNSAccountList") + + + return +} + +func NewDescribePrivateDNSAccountListResponse() (response *DescribePrivateDNSAccountListResponse) { + response = &DescribePrivateDNSAccountListResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// DescribePrivateDNSAccountList +// 获取私有域解析账号列表 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// MISSINGPARAMETER = "MissingParameter" +// OPERATIONDENIED = "OperationDenied" +// REQUESTLIMITEXCEEDED = "RequestLimitExceeded" +// RESOURCEINUSE = "ResourceInUse" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" +// RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCENOTFOUND_SERVICENOTSUBSCRIBED = "ResourceNotFound.ServiceNotSubscribed" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// RESOURCESSOLDOUT = "ResourcesSoldOut" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNAUTHORIZEDOPERATION_UNAUTHORIZEDACCOUNT = "UnauthorizedOperation.UnauthorizedAccount" +// UNKNOWNPARAMETER = "UnknownParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribePrivateDNSAccountList(request *DescribePrivateDNSAccountListRequest) (response *DescribePrivateDNSAccountListResponse, err error) { + return c.DescribePrivateDNSAccountListWithContext(context.Background(), request) +} + +// DescribePrivateDNSAccountList +// 获取私有域解析账号列表 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// LIMITEXCEEDED = "LimitExceeded" +// MISSINGPARAMETER = "MissingParameter" +// OPERATIONDENIED = "OperationDenied" +// REQUESTLIMITEXCEEDED = "RequestLimitExceeded" +// RESOURCEINUSE = "ResourceInUse" +// RESOURCEINSUFFICIENT = "ResourceInsufficient" +// RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCENOTFOUND_SERVICENOTSUBSCRIBED = "ResourceNotFound.ServiceNotSubscribed" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// RESOURCESSOLDOUT = "ResourcesSoldOut" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +// UNAUTHORIZEDOPERATION_UNAUTHORIZEDACCOUNT = "UnauthorizedOperation.UnauthorizedAccount" +// UNKNOWNPARAMETER = "UnknownParameter" +// UNSUPPORTEDOPERATION = "UnsupportedOperation" +func (c *Client) DescribePrivateDNSAccountListWithContext(ctx context.Context, request *DescribePrivateDNSAccountListRequest) (response *DescribePrivateDNSAccountListResponse, err error) { + if request == nil { + request = NewDescribePrivateDNSAccountListRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("DescribePrivateDNSAccountList require credential") + } + + request.SetContext(ctx) + + response = NewDescribePrivateDNSAccountListResponse() + err = c.Send(request, response) + return +} + +func NewDescribePrivateZoneRequest() (request *DescribePrivateZoneRequest) { request = &DescribePrivateZoneRequest{ BaseRequest: &tchttp.BaseRequest{}, } @@ -1772,6 +2386,87 @@ func (c *Client) DescribeRequestDataWithContext(ctx context.Context, request *De return } +func NewModifyForwardRuleRequest() (request *ModifyForwardRuleRequest) { + request = &ModifyForwardRuleRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + + request.Init().WithApiInfo("privatedns", APIVersion, "ModifyForwardRule") + + + return +} + +func NewModifyForwardRuleResponse() (response *ModifyForwardRuleResponse) { + response = &ModifyForwardRuleResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return + +} + +// ModifyForwardRule +// 修改转发规则 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_ENDPOINTNOTEXISTS = "InvalidParameter.EndPointNotExists" +// INVALIDPARAMETER_FORWARDRULENOTEXIST = "InvalidParameter.ForwardRuleNotExist" +// INVALIDPARAMETER_ZONENOTEXISTS = "InvalidParameter.ZoneNotExists" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// MISSINGPARAMETER = "MissingParameter" +// OPERATIONDENIED = "OperationDenied" +// REQUESTLIMITEXCEEDED = "RequestLimitExceeded" +// RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCENOTFOUND_SERVICENOTSUBSCRIBED = "ResourceNotFound.ServiceNotSubscribed" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// UNAUTHORIZEDOPERATION_UNAUTHORIZEDACCOUNT = "UnauthorizedOperation.UnauthorizedAccount" +// UNKNOWNPARAMETER = "UnknownParameter" +func (c *Client) ModifyForwardRule(request *ModifyForwardRuleRequest) (response *ModifyForwardRuleResponse, err error) { + return c.ModifyForwardRuleWithContext(context.Background(), request) +} + +// ModifyForwardRule +// 修改转发规则 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// INTERNALERROR = "InternalError" +// INTERNALERROR_UNDEFIENDERROR = "InternalError.UndefiendError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_ENDPOINTNOTEXISTS = "InvalidParameter.EndPointNotExists" +// INVALIDPARAMETER_FORWARDRULENOTEXIST = "InvalidParameter.ForwardRuleNotExist" +// INVALIDPARAMETER_ZONENOTEXISTS = "InvalidParameter.ZoneNotExists" +// INVALIDPARAMETERVALUE = "InvalidParameterValue" +// MISSINGPARAMETER = "MissingParameter" +// OPERATIONDENIED = "OperationDenied" +// REQUESTLIMITEXCEEDED = "RequestLimitExceeded" +// RESOURCENOTFOUND = "ResourceNotFound" +// RESOURCENOTFOUND_SERVICENOTSUBSCRIBED = "ResourceNotFound.ServiceNotSubscribed" +// RESOURCEUNAVAILABLE = "ResourceUnavailable" +// UNAUTHORIZEDOPERATION_UNAUTHORIZEDACCOUNT = "UnauthorizedOperation.UnauthorizedAccount" +// UNKNOWNPARAMETER = "UnknownParameter" +func (c *Client) ModifyForwardRuleWithContext(ctx context.Context, request *ModifyForwardRuleRequest) (response *ModifyForwardRuleResponse, err error) { + if request == nil { + request = NewModifyForwardRuleRequest() + } + + if c.GetCredential() == nil { + return nil, errors.New("ModifyForwardRule require credential") + } + + request.SetContext(ctx) + + response = NewModifyForwardRuleResponse() + err = c.Send(request, response) + return +} + func NewModifyPrivateZoneRequest() (request *ModifyPrivateZoneRequest) { request = &ModifyPrivateZoneRequest{ BaseRequest: &tchttp.BaseRequest{}, diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028/errors.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028/errors.go index c27f0255cc..040e70e5a7 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028/errors.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028/errors.go @@ -35,6 +35,12 @@ const ( // 记录创建失败。 FAILEDOPERATION_CREATERECORDFAILED = "FailedOperation.CreateRecordFailed" + // 创建终端节点异常。 + FAILEDOPERATION_CREATEVPCENDPOINTERROR = "FailedOperation.CreateVpcEndPointError" + + // 创建终端节点失败。 + FAILEDOPERATION_CREATEVPCENDPOINTFAILED = "FailedOperation.CreateVpcEndPointFailed" + // 私有域创建失败。 FAILEDOPERATION_CREATEZONEFAILED = "FailedOperation.CreateZoneFailed" @@ -53,6 +59,18 @@ const ( // 解析域删除失败。 FAILEDOPERATION_DELETEZONEFAILED = "FailedOperation.DeleteZoneFailed" + // 终端节点服务创建失败 + FAILEDOPERATION_ENDPOINTSERVICECREATEFAILED = "FailedOperation.EndPointServiceCreateFailed" + + // 终端节点服务删除失败 + FAILEDOPERATION_ENDPOINTSERVICEDELETEFAILED = "FailedOperation.EndPointServiceDeleteFailed" + + // 终端节点服务白名单操作失败。 + FAILEDOPERATION_ENDPOINTSERVICEWHITELISTFAILED = "FailedOperation.EndPointServiceWhiteListFailed" + + // 获取临时凭证失败 + FAILEDOPERATION_GETTMPCREDFAILED = "FailedOperation.GetTmpCredFailed" + // 记录修改失败。 FAILEDOPERATION_MODIFYRECORDFAILED = "FailedOperation.ModifyRecordFailed" @@ -80,6 +98,15 @@ const ( // 终端节点不存在。 INVALIDPARAMETER_ENDPOINTNOTEXISTS = "InvalidParameter.EndPointNotExists" + // 终端节点服务不存在。 + INVALIDPARAMETER_ENDPOINTSERVICENOTEXIST = "InvalidParameter.EndPointServiceNotExist" + + // 转发规则不存在。 + INVALIDPARAMETER_FORWARDRULENOTEXIST = "InvalidParameter.ForwardRuleNotExist" + + // 私有域已经绑定过转发规则。 + INVALIDPARAMETER_FORWARDRULEZONEREPEATBIND = "InvalidParameter.ForwardRuleZoneRepeatBind" + // 非法CIDR。 INVALIDPARAMETER_ILLEGALCIDR = "InvalidParameter.IllegalCidr" @@ -167,6 +194,9 @@ const ( // 内部保留域名,不支持创建。 INVALIDPARAMETERVALUE_RESERVEDDOMAIN = "InvalidParameterValue.ReservedDomain" + // uin没有录入白名单,无权限访问 + INVALIDPARAMETERVALUE_UINNOTINWHITELIST = "InvalidParameterValue.UinNotInWhiteList" + // 超过配额限制。 LIMITEXCEEDED = "LimitExceeded" @@ -206,6 +236,9 @@ const ( // 资源不可用。 RESOURCEUNAVAILABLE = "ResourceUnavailable" + // 未添加平台账号到当前终端节点服务的白名单内。 + RESOURCEUNAVAILABLE_SERVICEWHITELISTNOTADDED = "ResourceUnavailable.ServiceWhiteListNotAdded" + // TLD增值包已过期。 RESOURCEUNAVAILABLE_TLDPACKAGEEXPIRED = "ResourceUnavailable.TldPackageExpired" diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028/models.go index 524905fec7..4c7e450f14 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028/models.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028/models.go @@ -22,75 +22,75 @@ import ( type AccountVpcInfo struct { // VpcId: vpc-xadsafsdasd - UniqVpcId *string `json:"UniqVpcId,omitnil" name:"UniqVpcId"` + UniqVpcId *string `json:"UniqVpcId,omitnil,omitempty" name:"UniqVpcId"` // Vpc所属地区: ap-guangzhou, ap-shanghai // 注意:此字段可能返回 null,表示取不到有效值。 - Region *string `json:"Region,omitnil" name:"Region"` + Region *string `json:"Region,omitnil,omitempty" name:"Region"` // Vpc所属账号: 123456789 // 注意:此字段可能返回 null,表示取不到有效值。 - Uin *string `json:"Uin,omitnil" name:"Uin"` + Uin *string `json:"Uin,omitnil,omitempty" name:"Uin"` // vpc资源名称:testname // 注意:此字段可能返回 null,表示取不到有效值。 - VpcName *string `json:"VpcName,omitnil" name:"VpcName"` + VpcName *string `json:"VpcName,omitnil,omitempty" name:"VpcName"` } type AccountVpcInfoOut struct { // VpcId: vpc-xadsafsdasd - VpcId *string `json:"VpcId,omitnil" name:"VpcId"` + VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` // Vpc所属地区: ap-guangzhou, ap-shanghai - Region *string `json:"Region,omitnil" name:"Region"` + Region *string `json:"Region,omitnil,omitempty" name:"Region"` // Vpc所属账号: 123456789 - Uin *string `json:"Uin,omitnil" name:"Uin"` + Uin *string `json:"Uin,omitnil,omitempty" name:"Uin"` // vpc资源名称:testname - VpcName *string `json:"VpcName,omitnil" name:"VpcName"` + VpcName *string `json:"VpcName,omitnil,omitempty" name:"VpcName"` } type AccountVpcInfoOutput struct { // 关联账户的uin - Uin *string `json:"Uin,omitnil" name:"Uin"` + Uin *string `json:"Uin,omitnil,omitempty" name:"Uin"` // vpcid - UniqVpcId *string `json:"UniqVpcId,omitnil" name:"UniqVpcId"` + UniqVpcId *string `json:"UniqVpcId,omitnil,omitempty" name:"UniqVpcId"` // 地域 - Region *string `json:"Region,omitnil" name:"Region"` + Region *string `json:"Region,omitnil,omitempty" name:"Region"` } // Predefined struct for user type AddSpecifyPrivateZoneVpcRequestParams struct { // 私有域id - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 本次新增的vpc信息 - VpcSet []*VpcInfo `json:"VpcSet,omitnil" name:"VpcSet"` + VpcSet []*VpcInfo `json:"VpcSet,omitnil,omitempty" name:"VpcSet"` // 本次新增关联账户vpc信息 - AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil" name:"AccountVpcSet"` + AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil,omitempty" name:"AccountVpcSet"` // 是否为同步操作 - Sync *bool `json:"Sync,omitnil" name:"Sync"` + Sync *bool `json:"Sync,omitnil,omitempty" name:"Sync"` } type AddSpecifyPrivateZoneVpcRequest struct { *tchttp.BaseRequest // 私有域id - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 本次新增的vpc信息 - VpcSet []*VpcInfo `json:"VpcSet,omitnil" name:"VpcSet"` + VpcSet []*VpcInfo `json:"VpcSet,omitnil,omitempty" name:"VpcSet"` // 本次新增关联账户vpc信息 - AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil" name:"AccountVpcSet"` + AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil,omitempty" name:"AccountVpcSet"` // 是否为同步操作 - Sync *bool `json:"Sync,omitnil" name:"Sync"` + Sync *bool `json:"Sync,omitnil,omitempty" name:"Sync"` } func (r *AddSpecifyPrivateZoneVpcRequest) ToJsonString() string { @@ -118,20 +118,20 @@ func (r *AddSpecifyPrivateZoneVpcRequest) FromJsonString(s string) error { // Predefined struct for user type AddSpecifyPrivateZoneVpcResponseParams struct { // zone id - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 本次新增的vpc - VpcSet []*VpcInfo `json:"VpcSet,omitnil" name:"VpcSet"` + VpcSet []*VpcInfo `json:"VpcSet,omitnil,omitempty" name:"VpcSet"` // 本次新增的关联账号vpc - AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil" name:"AccountVpcSet"` + AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil,omitempty" name:"AccountVpcSet"` // 唯一id // 注意:此字段可能返回 null,表示取不到有效值。 - UniqId *string `json:"UniqId,omitnil" name:"UniqId"` + UniqId *string `json:"UniqId,omitnil,omitempty" name:"UniqId"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type AddSpecifyPrivateZoneVpcResponse struct { @@ -152,40 +152,332 @@ func (r *AddSpecifyPrivateZoneVpcResponse) FromJsonString(s string) error { type AuditLog struct { // 日志类型 - Resource *string `json:"Resource,omitnil" name:"Resource"` + Resource *string `json:"Resource,omitnil,omitempty" name:"Resource"` // 日志表名 - Metric *string `json:"Metric,omitnil" name:"Metric"` + Metric *string `json:"Metric,omitnil,omitempty" name:"Metric"` // 日志总数 - TotalCount *int64 `json:"TotalCount,omitnil" name:"TotalCount"` + TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` // 日志列表 - DataSet []*AuditLogInfo `json:"DataSet,omitnil" name:"DataSet"` + DataSet []*AuditLogInfo `json:"DataSet,omitnil,omitempty" name:"DataSet"` } type AuditLogInfo struct { // 时间 - Date *string `json:"Date,omitnil" name:"Date"` + Date *string `json:"Date,omitnil,omitempty" name:"Date"` // 操作人uin - OperatorUin *string `json:"OperatorUin,omitnil" name:"OperatorUin"` + OperatorUin *string `json:"OperatorUin,omitnil,omitempty" name:"OperatorUin"` // 日志内容 - Content *string `json:"Content,omitnil" name:"Content"` + Content *string `json:"Content,omitnil,omitempty" name:"Content"` +} + +// Predefined struct for user +type CreateEndPointAndEndPointServiceRequestParams struct { + // VPC实例ID + VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` + + // 是否自动接受 + AutoAcceptFlag *bool `json:"AutoAcceptFlag,omitnil,omitempty" name:"AutoAcceptFlag"` + + // 后端服务ID + ServiceInstanceId *string `json:"ServiceInstanceId,omitnil,omitempty" name:"ServiceInstanceId"` + + // 终端节点名称 + EndPointName *string `json:"EndPointName,omitnil,omitempty" name:"EndPointName"` + + // 终端节点地域,必须要和终端节点服务所属地域一致 + EndPointRegion *string `json:"EndPointRegion,omitnil,omitempty" name:"EndPointRegion"` + + // 终端节点服务名称 + EndPointServiceName *string `json:"EndPointServiceName,omitnil,omitempty" name:"EndPointServiceName"` + + // 挂载的PAAS服务类型,CLB,CDB,CRS + ServiceType *string `json:"ServiceType,omitnil,omitempty" name:"ServiceType"` + + // 终端节点ip数量 + IpNum *int64 `json:"IpNum,omitnil,omitempty" name:"IpNum"` +} + +type CreateEndPointAndEndPointServiceRequest struct { + *tchttp.BaseRequest + + // VPC实例ID + VpcId *string `json:"VpcId,omitnil,omitempty" name:"VpcId"` + + // 是否自动接受 + AutoAcceptFlag *bool `json:"AutoAcceptFlag,omitnil,omitempty" name:"AutoAcceptFlag"` + + // 后端服务ID + ServiceInstanceId *string `json:"ServiceInstanceId,omitnil,omitempty" name:"ServiceInstanceId"` + + // 终端节点名称 + EndPointName *string `json:"EndPointName,omitnil,omitempty" name:"EndPointName"` + + // 终端节点地域,必须要和终端节点服务所属地域一致 + EndPointRegion *string `json:"EndPointRegion,omitnil,omitempty" name:"EndPointRegion"` + + // 终端节点服务名称 + EndPointServiceName *string `json:"EndPointServiceName,omitnil,omitempty" name:"EndPointServiceName"` + + // 挂载的PAAS服务类型,CLB,CDB,CRS + ServiceType *string `json:"ServiceType,omitnil,omitempty" name:"ServiceType"` + + // 终端节点ip数量 + IpNum *int64 `json:"IpNum,omitnil,omitempty" name:"IpNum"` +} + +func (r *CreateEndPointAndEndPointServiceRequest) 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 *CreateEndPointAndEndPointServiceRequest) 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, "AutoAcceptFlag") + delete(f, "ServiceInstanceId") + delete(f, "EndPointName") + delete(f, "EndPointRegion") + delete(f, "EndPointServiceName") + delete(f, "ServiceType") + delete(f, "IpNum") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateEndPointAndEndPointServiceRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateEndPointAndEndPointServiceResponseParams struct { + // 终端节点id + EndPointId *string `json:"EndPointId,omitnil,omitempty" name:"EndPointId"` + + // 终端节点名 + EndPointName *string `json:"EndPointName,omitnil,omitempty" name:"EndPointName"` + + // 终端节点服务ID + EndPointServiceId *string `json:"EndPointServiceId,omitnil,omitempty" name:"EndPointServiceId"` + + // 终端节点的IP列表 + EndPointVipSet []*string `json:"EndPointVipSet,omitnil,omitempty" name:"EndPointVipSet"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type CreateEndPointAndEndPointServiceResponse struct { + *tchttp.BaseResponse + Response *CreateEndPointAndEndPointServiceResponseParams `json:"Response"` +} + +func (r *CreateEndPointAndEndPointServiceResponse) 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 *CreateEndPointAndEndPointServiceResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateEndPointRequestParams struct { + // 终端节点名称 + EndPointName *string `json:"EndPointName,omitnil,omitempty" name:"EndPointName"` + + // 终端节点服务ID(vpc终端节点服务ID) + EndPointServiceId *string `json:"EndPointServiceId,omitnil,omitempty" name:"EndPointServiceId"` + + // 终端节点地域,必须要和终端节点服务所属地域一致 + EndPointRegion *string `json:"EndPointRegion,omitnil,omitempty" name:"EndPointRegion"` + + // 终端节点ip数量 + IpNum *int64 `json:"IpNum,omitnil,omitempty" name:"IpNum"` +} + +type CreateEndPointRequest struct { + *tchttp.BaseRequest + + // 终端节点名称 + EndPointName *string `json:"EndPointName,omitnil,omitempty" name:"EndPointName"` + + // 终端节点服务ID(vpc终端节点服务ID) + EndPointServiceId *string `json:"EndPointServiceId,omitnil,omitempty" name:"EndPointServiceId"` + + // 终端节点地域,必须要和终端节点服务所属地域一致 + EndPointRegion *string `json:"EndPointRegion,omitnil,omitempty" name:"EndPointRegion"` + + // 终端节点ip数量 + IpNum *int64 `json:"IpNum,omitnil,omitempty" name:"IpNum"` +} + +func (r *CreateEndPointRequest) 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 *CreateEndPointRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "EndPointName") + delete(f, "EndPointServiceId") + delete(f, "EndPointRegion") + delete(f, "IpNum") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateEndPointRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateEndPointResponseParams struct { + // 终端节点id + EndPointId *string `json:"EndPointId,omitnil,omitempty" name:"EndPointId"` + + // 终端节点名称 + EndPointName *string `json:"EndPointName,omitnil,omitempty" name:"EndPointName"` + + // 终端节点服务ID + EndPointServiceId *string `json:"EndPointServiceId,omitnil,omitempty" name:"EndPointServiceId"` + + // 终端节点的IP列表 + EndPointVipSet []*string `json:"EndPointVipSet,omitnil,omitempty" name:"EndPointVipSet"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type CreateEndPointResponse struct { + *tchttp.BaseResponse + Response *CreateEndPointResponseParams `json:"Response"` +} + +func (r *CreateEndPointResponse) 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 *CreateEndPointResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateForwardRuleRequestParams struct { + // 转发规则名称 + RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"` + + // 转发规则类型:云上到云下DOWN,云下到云上UP + RuleType *string `json:"RuleType,omitnil,omitempty" name:"RuleType"` + + // 私有域ID,可在私有域列表页面查看 + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` + + // 终端节点ID + EndPointId *string `json:"EndPointId,omitnil,omitempty" name:"EndPointId"` +} + +type CreateForwardRuleRequest struct { + *tchttp.BaseRequest + + // 转发规则名称 + RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"` + + // 转发规则类型:云上到云下DOWN,云下到云上UP + RuleType *string `json:"RuleType,omitnil,omitempty" name:"RuleType"` + + // 私有域ID,可在私有域列表页面查看 + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` + + // 终端节点ID + EndPointId *string `json:"EndPointId,omitnil,omitempty" name:"EndPointId"` +} + +func (r *CreateForwardRuleRequest) 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 *CreateForwardRuleRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "RuleName") + delete(f, "RuleType") + delete(f, "ZoneId") + delete(f, "EndPointId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateForwardRuleRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type CreateForwardRuleResponseParams struct { + // 转发规则ID + RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"` + + // 转发规则名称 + RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"` + + // 转发规则类型 + RuleType *string `json:"RuleType,omitnil,omitempty" name:"RuleType"` + + // 私有域ID + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` + + // 终端节点ID + EndPointId *string `json:"EndPointId,omitnil,omitempty" name:"EndPointId"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type CreateForwardRuleResponse struct { + *tchttp.BaseResponse + Response *CreateForwardRuleResponseParams `json:"Response"` +} + +func (r *CreateForwardRuleResponse) 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 *CreateForwardRuleResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) } // Predefined struct for user type CreatePrivateDNSAccountRequestParams struct { // 私有域解析账号 - Account *PrivateDNSAccount `json:"Account,omitnil" name:"Account"` + Account *PrivateDNSAccount `json:"Account,omitnil,omitempty" name:"Account"` } type CreatePrivateDNSAccountRequest struct { *tchttp.BaseRequest // 私有域解析账号 - Account *PrivateDNSAccount `json:"Account,omitnil" name:"Account"` + Account *PrivateDNSAccount `json:"Account,omitnil,omitempty" name:"Account"` } func (r *CreatePrivateDNSAccountRequest) ToJsonString() string { @@ -209,8 +501,8 @@ func (r *CreatePrivateDNSAccountRequest) FromJsonString(s string) error { // Predefined struct for user type CreatePrivateDNSAccountResponseParams struct { - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type CreatePrivateDNSAccountResponse struct { @@ -232,50 +524,50 @@ func (r *CreatePrivateDNSAccountResponse) FromJsonString(s string) error { // Predefined struct for user type CreatePrivateZoneRecordRequestParams struct { // 私有域ID - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 记录类型,可选的记录类型为:"A", "AAAA", "CNAME", "MX", "TXT", "PTR" - RecordType *string `json:"RecordType,omitnil" name:"RecordType"` + RecordType *string `json:"RecordType,omitnil,omitempty" name:"RecordType"` // 子域名,例如 "www", "m", "@" - SubDomain *string `json:"SubDomain,omitnil" name:"SubDomain"` + SubDomain *string `json:"SubDomain,omitnil,omitempty" name:"SubDomain"` // 记录值,例如 IP:192.168.10.2,CNAME:cname.qcloud.com.,MX:mail.qcloud.com. - RecordValue *string `json:"RecordValue,omitnil" name:"RecordValue"` + RecordValue *string `json:"RecordValue,omitnil,omitempty" name:"RecordValue"` // 记录权重,值为1-100 - Weight *int64 `json:"Weight,omitnil" name:"Weight"` + Weight *int64 `json:"Weight,omitnil,omitempty" name:"Weight"` // MX优先级:记录类型为MX时必填。取值范围:5,10,15,20,30,40,50 - MX *int64 `json:"MX,omitnil" name:"MX"` + MX *int64 `json:"MX,omitnil,omitempty" name:"MX"` // 记录缓存时间,数值越小生效越快,取值1-86400s, 默认 600 - TTL *int64 `json:"TTL,omitnil" name:"TTL"` + TTL *int64 `json:"TTL,omitnil,omitempty" name:"TTL"` } type CreatePrivateZoneRecordRequest struct { *tchttp.BaseRequest // 私有域ID - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 记录类型,可选的记录类型为:"A", "AAAA", "CNAME", "MX", "TXT", "PTR" - RecordType *string `json:"RecordType,omitnil" name:"RecordType"` + RecordType *string `json:"RecordType,omitnil,omitempty" name:"RecordType"` // 子域名,例如 "www", "m", "@" - SubDomain *string `json:"SubDomain,omitnil" name:"SubDomain"` + SubDomain *string `json:"SubDomain,omitnil,omitempty" name:"SubDomain"` // 记录值,例如 IP:192.168.10.2,CNAME:cname.qcloud.com.,MX:mail.qcloud.com. - RecordValue *string `json:"RecordValue,omitnil" name:"RecordValue"` + RecordValue *string `json:"RecordValue,omitnil,omitempty" name:"RecordValue"` // 记录权重,值为1-100 - Weight *int64 `json:"Weight,omitnil" name:"Weight"` + Weight *int64 `json:"Weight,omitnil,omitempty" name:"Weight"` // MX优先级:记录类型为MX时必填。取值范围:5,10,15,20,30,40,50 - MX *int64 `json:"MX,omitnil" name:"MX"` + MX *int64 `json:"MX,omitnil,omitempty" name:"MX"` // 记录缓存时间,数值越小生效越快,取值1-86400s, 默认 600 - TTL *int64 `json:"TTL,omitnil" name:"TTL"` + TTL *int64 `json:"TTL,omitnil,omitempty" name:"TTL"` } func (r *CreatePrivateZoneRecordRequest) ToJsonString() string { @@ -306,10 +598,10 @@ func (r *CreatePrivateZoneRecordRequest) FromJsonString(s string) error { // Predefined struct for user type CreatePrivateZoneRecordResponseParams struct { // 记录Id - RecordId *string `json:"RecordId,omitnil" name:"RecordId"` + RecordId *string `json:"RecordId,omitnil,omitempty" name:"RecordId"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type CreatePrivateZoneRecordResponse struct { @@ -331,56 +623,56 @@ func (r *CreatePrivateZoneRecordResponse) FromJsonString(s string) error { // Predefined struct for user type CreatePrivateZoneRequestParams struct { // 域名,格式必须是标准的TLD - Domain *string `json:"Domain,omitnil" name:"Domain"` + Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` // 创建私有域的同时,为其打上标签 - TagSet []*TagInfo `json:"TagSet,omitnil" name:"TagSet"` + TagSet []*TagInfo `json:"TagSet,omitnil,omitempty" name:"TagSet"` // 创建私有域的同时,将其关联至VPC - VpcSet []*VpcInfo `json:"VpcSet,omitnil" name:"VpcSet"` + VpcSet []*VpcInfo `json:"VpcSet,omitnil,omitempty" name:"VpcSet"` // 备注 - Remark *string `json:"Remark,omitnil" name:"Remark"` + Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"` // 是否开启子域名递归, ENABLED, DISABLED。默认值为ENABLED - DnsForwardStatus *string `json:"DnsForwardStatus,omitnil" name:"DnsForwardStatus"` + DnsForwardStatus *string `json:"DnsForwardStatus,omitnil,omitempty" name:"DnsForwardStatus"` // 创建私有域的同时,将其关联至VPC - Vpcs []*VpcInfo `json:"Vpcs,omitnil" name:"Vpcs"` + Vpcs []*VpcInfo `json:"Vpcs,omitnil,omitempty" name:"Vpcs"` // 创建私有域同时绑定关联账号的VPC - AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil" name:"AccountVpcSet"` + AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil,omitempty" name:"AccountVpcSet"` // 是否CNAME加速:ENABLED,DISABLED,默认值为ENABLED - CnameSpeedupStatus *string `json:"CnameSpeedupStatus,omitnil" name:"CnameSpeedupStatus"` + CnameSpeedupStatus *string `json:"CnameSpeedupStatus,omitnil,omitempty" name:"CnameSpeedupStatus"` } type CreatePrivateZoneRequest struct { *tchttp.BaseRequest // 域名,格式必须是标准的TLD - Domain *string `json:"Domain,omitnil" name:"Domain"` + Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` // 创建私有域的同时,为其打上标签 - TagSet []*TagInfo `json:"TagSet,omitnil" name:"TagSet"` + TagSet []*TagInfo `json:"TagSet,omitnil,omitempty" name:"TagSet"` // 创建私有域的同时,将其关联至VPC - VpcSet []*VpcInfo `json:"VpcSet,omitnil" name:"VpcSet"` + VpcSet []*VpcInfo `json:"VpcSet,omitnil,omitempty" name:"VpcSet"` // 备注 - Remark *string `json:"Remark,omitnil" name:"Remark"` + Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"` // 是否开启子域名递归, ENABLED, DISABLED。默认值为ENABLED - DnsForwardStatus *string `json:"DnsForwardStatus,omitnil" name:"DnsForwardStatus"` + DnsForwardStatus *string `json:"DnsForwardStatus,omitnil,omitempty" name:"DnsForwardStatus"` // 创建私有域的同时,将其关联至VPC - Vpcs []*VpcInfo `json:"Vpcs,omitnil" name:"Vpcs"` + Vpcs []*VpcInfo `json:"Vpcs,omitnil,omitempty" name:"Vpcs"` // 创建私有域同时绑定关联账号的VPC - AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil" name:"AccountVpcSet"` + AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil,omitempty" name:"AccountVpcSet"` // 是否CNAME加速:ENABLED,DISABLED,默认值为ENABLED - CnameSpeedupStatus *string `json:"CnameSpeedupStatus,omitnil" name:"CnameSpeedupStatus"` + CnameSpeedupStatus *string `json:"CnameSpeedupStatus,omitnil,omitempty" name:"CnameSpeedupStatus"` } func (r *CreatePrivateZoneRequest) ToJsonString() string { @@ -412,13 +704,13 @@ func (r *CreatePrivateZoneRequest) FromJsonString(s string) error { // Predefined struct for user type CreatePrivateZoneResponseParams struct { // 私有域ID, zone-xxxxxx - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 私有域名 - Domain *string `json:"Domain,omitnil" name:"Domain"` + Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type CreatePrivateZoneResponse struct { @@ -439,23 +731,23 @@ func (r *CreatePrivateZoneResponse) FromJsonString(s string) error { type DatePoint struct { // 时间 - Date *string `json:"Date,omitnil" name:"Date"` + Date *string `json:"Date,omitnil,omitempty" name:"Date"` // 值 - Value *int64 `json:"Value,omitnil" name:"Value"` + Value *int64 `json:"Value,omitnil,omitempty" name:"Value"` } // Predefined struct for user type DeleteEndPointRequestParams struct { // 终端节点ID - EndPointId *string `json:"EndPointId,omitnil" name:"EndPointId"` + EndPointId *string `json:"EndPointId,omitnil,omitempty" name:"EndPointId"` } type DeleteEndPointRequest struct { *tchttp.BaseRequest // 终端节点ID - EndPointId *string `json:"EndPointId,omitnil" name:"EndPointId"` + EndPointId *string `json:"EndPointId,omitnil,omitempty" name:"EndPointId"` } func (r *DeleteEndPointRequest) ToJsonString() string { @@ -479,8 +771,8 @@ func (r *DeleteEndPointRequest) FromJsonString(s string) error { // Predefined struct for user type DeleteEndPointResponseParams struct { - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DeleteEndPointResponse struct { @@ -499,17 +791,71 @@ func (r *DeleteEndPointResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type DeleteForwardRuleRequestParams struct { + // 转发规则ID数组 + RuleIdSet []*string `json:"RuleIdSet,omitnil,omitempty" name:"RuleIdSet"` +} + +type DeleteForwardRuleRequest struct { + *tchttp.BaseRequest + + // 转发规则ID数组 + RuleIdSet []*string `json:"RuleIdSet,omitnil,omitempty" name:"RuleIdSet"` +} + +func (r *DeleteForwardRuleRequest) 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 *DeleteForwardRuleRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "RuleIdSet") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteForwardRuleRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DeleteForwardRuleResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DeleteForwardRuleResponse struct { + *tchttp.BaseResponse + Response *DeleteForwardRuleResponseParams `json:"Response"` +} + +func (r *DeleteForwardRuleResponse) 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 *DeleteForwardRuleResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type DeletePrivateDNSAccountRequestParams struct { // 私有域解析账号 - Account *PrivateDNSAccount `json:"Account,omitnil" name:"Account"` + Account *PrivateDNSAccount `json:"Account,omitnil,omitempty" name:"Account"` } type DeletePrivateDNSAccountRequest struct { *tchttp.BaseRequest // 私有域解析账号 - Account *PrivateDNSAccount `json:"Account,omitnil" name:"Account"` + Account *PrivateDNSAccount `json:"Account,omitnil,omitempty" name:"Account"` } func (r *DeletePrivateDNSAccountRequest) ToJsonString() string { @@ -533,8 +879,8 @@ func (r *DeletePrivateDNSAccountRequest) FromJsonString(s string) error { // Predefined struct for user type DeletePrivateDNSAccountResponseParams struct { - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DeletePrivateDNSAccountResponse struct { @@ -556,26 +902,26 @@ func (r *DeletePrivateDNSAccountResponse) FromJsonString(s string) error { // Predefined struct for user type DeletePrivateZoneRecordRequestParams struct { // 私有域ID - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 记录ID(调用DescribePrivateZoneRecordList可获取到RecordId) - RecordId *string `json:"RecordId,omitnil" name:"RecordId"` + RecordId *string `json:"RecordId,omitnil,omitempty" name:"RecordId"` // 记录ID数组,RecordId 优先 - RecordIdSet []*string `json:"RecordIdSet,omitnil" name:"RecordIdSet"` + RecordIdSet []*string `json:"RecordIdSet,omitnil,omitempty" name:"RecordIdSet"` } type DeletePrivateZoneRecordRequest struct { *tchttp.BaseRequest // 私有域ID - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 记录ID(调用DescribePrivateZoneRecordList可获取到RecordId) - RecordId *string `json:"RecordId,omitnil" name:"RecordId"` + RecordId *string `json:"RecordId,omitnil,omitempty" name:"RecordId"` // 记录ID数组,RecordId 优先 - RecordIdSet []*string `json:"RecordIdSet,omitnil" name:"RecordIdSet"` + RecordIdSet []*string `json:"RecordIdSet,omitnil,omitempty" name:"RecordIdSet"` } func (r *DeletePrivateZoneRecordRequest) ToJsonString() string { @@ -601,8 +947,8 @@ func (r *DeletePrivateZoneRecordRequest) FromJsonString(s string) error { // Predefined struct for user type DeletePrivateZoneRecordResponseParams struct { - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DeletePrivateZoneRecordResponse struct { @@ -624,20 +970,20 @@ func (r *DeletePrivateZoneRecordResponse) FromJsonString(s string) error { // Predefined struct for user type DeletePrivateZoneRequestParams struct { // 私有域ID - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 私有域ID数组,ZoneId 优先 - ZoneIdSet []*string `json:"ZoneIdSet,omitnil" name:"ZoneIdSet"` + ZoneIdSet []*string `json:"ZoneIdSet,omitnil,omitempty" name:"ZoneIdSet"` } type DeletePrivateZoneRequest struct { *tchttp.BaseRequest // 私有域ID - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 私有域ID数组,ZoneId 优先 - ZoneIdSet []*string `json:"ZoneIdSet,omitnil" name:"ZoneIdSet"` + ZoneIdSet []*string `json:"ZoneIdSet,omitnil,omitempty" name:"ZoneIdSet"` } func (r *DeletePrivateZoneRequest) ToJsonString() string { @@ -662,8 +1008,8 @@ func (r *DeletePrivateZoneRequest) FromJsonString(s string) error { // Predefined struct for user type DeletePrivateZoneResponseParams struct { - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DeletePrivateZoneResponse struct { @@ -685,32 +1031,32 @@ func (r *DeletePrivateZoneResponse) FromJsonString(s string) error { // Predefined struct for user type DeleteSpecifyPrivateZoneVpcRequestParams struct { // 私有域id - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 本次删除的VPC - VpcSet []*VpcInfo `json:"VpcSet,omitnil" name:"VpcSet"` + VpcSet []*VpcInfo `json:"VpcSet,omitnil,omitempty" name:"VpcSet"` // 本次删除的关联账户VPC - AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil" name:"AccountVpcSet"` + AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil,omitempty" name:"AccountVpcSet"` // 是否为同步操作 - Sync *bool `json:"Sync,omitnil" name:"Sync"` + Sync *bool `json:"Sync,omitnil,omitempty" name:"Sync"` } type DeleteSpecifyPrivateZoneVpcRequest struct { *tchttp.BaseRequest // 私有域id - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 本次删除的VPC - VpcSet []*VpcInfo `json:"VpcSet,omitnil" name:"VpcSet"` + VpcSet []*VpcInfo `json:"VpcSet,omitnil,omitempty" name:"VpcSet"` // 本次删除的关联账户VPC - AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil" name:"AccountVpcSet"` + AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil,omitempty" name:"AccountVpcSet"` // 是否为同步操作 - Sync *bool `json:"Sync,omitnil" name:"Sync"` + Sync *bool `json:"Sync,omitnil,omitempty" name:"Sync"` } func (r *DeleteSpecifyPrivateZoneVpcRequest) ToJsonString() string { @@ -738,20 +1084,20 @@ func (r *DeleteSpecifyPrivateZoneVpcRequest) FromJsonString(s string) error { // Predefined struct for user type DeleteSpecifyPrivateZoneVpcResponseParams struct { // 私有域id - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 本次删除的VPC - VpcSet []*VpcInfo `json:"VpcSet,omitnil" name:"VpcSet"` + VpcSet []*VpcInfo `json:"VpcSet,omitnil,omitempty" name:"VpcSet"` // 本次删除的关联账户的VPC - AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil" name:"AccountVpcSet"` + AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil,omitempty" name:"AccountVpcSet"` // 唯一id // 注意:此字段可能返回 null,表示取不到有效值。 - UniqId *string `json:"UniqId,omitnil" name:"UniqId"` + UniqId *string `json:"UniqId,omitnil,omitempty" name:"UniqId"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DeleteSpecifyPrivateZoneVpcResponse struct { @@ -773,32 +1119,32 @@ func (r *DeleteSpecifyPrivateZoneVpcResponse) FromJsonString(s string) error { // Predefined struct for user type DescribeAccountVpcListRequestParams struct { // 关联账号的uin - AccountUin *string `json:"AccountUin,omitnil" name:"AccountUin"` + AccountUin *string `json:"AccountUin,omitnil,omitempty" name:"AccountUin"` // 分页偏移量,从0开始 - Offset *int64 `json:"Offset,omitnil" name:"Offset"` + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` // 分页限制数目, 最大100,默认20 - Limit *int64 `json:"Limit,omitnil" name:"Limit"` + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` // 过滤参数 - Filters []*Filter `json:"Filters,omitnil" name:"Filters"` + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` } type DescribeAccountVpcListRequest struct { *tchttp.BaseRequest // 关联账号的uin - AccountUin *string `json:"AccountUin,omitnil" name:"AccountUin"` + AccountUin *string `json:"AccountUin,omitnil,omitempty" name:"AccountUin"` // 分页偏移量,从0开始 - Offset *int64 `json:"Offset,omitnil" name:"Offset"` + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` // 分页限制数目, 最大100,默认20 - Limit *int64 `json:"Limit,omitnil" name:"Limit"` + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` // 过滤参数 - Filters []*Filter `json:"Filters,omitnil" name:"Filters"` + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` } func (r *DescribeAccountVpcListRequest) ToJsonString() string { @@ -826,13 +1172,13 @@ func (r *DescribeAccountVpcListRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeAccountVpcListResponseParams struct { // VPC数量 - TotalCount *int64 `json:"TotalCount,omitnil" name:"TotalCount"` + TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` // VPC 列表 - VpcSet []*AccountVpcInfoOut `json:"VpcSet,omitnil" name:"VpcSet"` + VpcSet []*AccountVpcInfoOut `json:"VpcSet,omitnil,omitempty" name:"VpcSet"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DescribeAccountVpcListResponse struct { @@ -854,38 +1200,38 @@ func (r *DescribeAccountVpcListResponse) FromJsonString(s string) error { // Predefined struct for user type DescribeAuditLogRequestParams struct { // 请求量统计起始时间 - TimeRangeBegin *string `json:"TimeRangeBegin,omitnil" name:"TimeRangeBegin"` + TimeRangeBegin *string `json:"TimeRangeBegin,omitnil,omitempty" name:"TimeRangeBegin"` // 筛选参数:ZoneId:私有域ID;Domain:私有域;OperatorUin:操作者账号ID - Filters []*Filter `json:"Filters,omitnil" name:"Filters"` + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` // 请求量统计结束时间 - TimeRangeEnd *string `json:"TimeRangeEnd,omitnil" name:"TimeRangeEnd"` + TimeRangeEnd *string `json:"TimeRangeEnd,omitnil,omitempty" name:"TimeRangeEnd"` // 分页偏移量,从0开始 - Offset *int64 `json:"Offset,omitnil" name:"Offset"` + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` // 分页限制数目, 最大100,默认20 - Limit *int64 `json:"Limit,omitnil" name:"Limit"` + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` } type DescribeAuditLogRequest struct { *tchttp.BaseRequest // 请求量统计起始时间 - TimeRangeBegin *string `json:"TimeRangeBegin,omitnil" name:"TimeRangeBegin"` + TimeRangeBegin *string `json:"TimeRangeBegin,omitnil,omitempty" name:"TimeRangeBegin"` // 筛选参数:ZoneId:私有域ID;Domain:私有域;OperatorUin:操作者账号ID - Filters []*Filter `json:"Filters,omitnil" name:"Filters"` + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` // 请求量统计结束时间 - TimeRangeEnd *string `json:"TimeRangeEnd,omitnil" name:"TimeRangeEnd"` + TimeRangeEnd *string `json:"TimeRangeEnd,omitnil,omitempty" name:"TimeRangeEnd"` // 分页偏移量,从0开始 - Offset *int64 `json:"Offset,omitnil" name:"Offset"` + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` // 分页限制数目, 最大100,默认20 - Limit *int64 `json:"Limit,omitnil" name:"Limit"` + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` } func (r *DescribeAuditLogRequest) ToJsonString() string { @@ -914,10 +1260,10 @@ func (r *DescribeAuditLogRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeAuditLogResponseParams struct { // 操作日志列表 - Data []*AuditLog `json:"Data,omitnil" name:"Data"` + Data []*AuditLog `json:"Data,omitnil,omitempty" name:"Data"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DescribeAuditLogResponse struct { @@ -968,19 +1314,19 @@ func (r *DescribeDashboardRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeDashboardResponseParams struct { // 私有域解析总数 - ZoneTotal *int64 `json:"ZoneTotal,omitnil" name:"ZoneTotal"` + ZoneTotal *int64 `json:"ZoneTotal,omitnil,omitempty" name:"ZoneTotal"` // 私有域关联VPC数量 - ZoneVpcCount *int64 `json:"ZoneVpcCount,omitnil" name:"ZoneVpcCount"` + ZoneVpcCount *int64 `json:"ZoneVpcCount,omitnil,omitempty" name:"ZoneVpcCount"` // 历史请求量总数 - RequestTotalCount *int64 `json:"RequestTotalCount,omitnil" name:"RequestTotalCount"` + RequestTotalCount *int64 `json:"RequestTotalCount,omitnil,omitempty" name:"RequestTotalCount"` // 流量包用量 - FlowUsage []*FlowUsage `json:"FlowUsage,omitnil" name:"FlowUsage"` + FlowUsage []*FlowUsage `json:"FlowUsage,omitnil,omitempty" name:"FlowUsage"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DescribeDashboardResponse struct { @@ -999,29 +1345,289 @@ func (r *DescribeDashboardResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +// Predefined struct for user +type DescribeEndPointListRequestParams struct { + // 分页偏移量,从0开始 + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 分页限制数目, 最大100,默认20 + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` + + // 过滤参数,支持EndPointName,EndPointId,EndPointServiceId,EndPointVip + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` +} + +type DescribeEndPointListRequest struct { + *tchttp.BaseRequest + + // 分页偏移量,从0开始 + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 分页限制数目, 最大100,默认20 + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` + + // 过滤参数,支持EndPointName,EndPointId,EndPointServiceId,EndPointVip + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` +} + +func (r *DescribeEndPointListRequest) 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 *DescribeEndPointListRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Offset") + delete(f, "Limit") + delete(f, "Filters") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeEndPointListRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeEndPointListResponseParams struct { + // 终端节点总数 + TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` + + // 终端节点列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + EndPointSet []*EndPointInfo `json:"EndPointSet,omitnil,omitempty" name:"EndPointSet"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeEndPointListResponse struct { + *tchttp.BaseResponse + Response *DescribeEndPointListResponseParams `json:"Response"` +} + +func (r *DescribeEndPointListResponse) 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 *DescribeEndPointListResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeEndPointRegionRequestParams struct { + +} + +type DescribeEndPointRegionRequest struct { + *tchttp.BaseRequest + +} + +func (r *DescribeEndPointRegionRequest) 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 *DescribeEndPointRegionRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeEndPointRegionRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeEndPointRegionResponseParams struct { + // 地域数组 + RegionSet []*RegionInfo `json:"RegionSet,omitnil,omitempty" name:"RegionSet"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeEndPointRegionResponse struct { + *tchttp.BaseResponse + Response *DescribeEndPointRegionResponseParams `json:"Response"` +} + +func (r *DescribeEndPointRegionResponse) 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 *DescribeEndPointRegionResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeForwardRuleListRequestParams struct { + // 分页偏移量,从0开始 + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 分页限制数目, 最大100,默认20 + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` + + // 过滤参数 + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` +} + +type DescribeForwardRuleListRequest struct { + *tchttp.BaseRequest + + // 分页偏移量,从0开始 + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` + + // 分页限制数目, 最大100,默认20 + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` + + // 过滤参数 + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` +} + +func (r *DescribeForwardRuleListRequest) 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 *DescribeForwardRuleListRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Offset") + delete(f, "Limit") + delete(f, "Filters") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeForwardRuleListRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeForwardRuleListResponseParams struct { + // 私有域数量 + TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` + + // 私有域列表 + ForwardRuleSet []*ForwardRule `json:"ForwardRuleSet,omitnil,omitempty" name:"ForwardRuleSet"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeForwardRuleListResponse struct { + *tchttp.BaseResponse + Response *DescribeForwardRuleListResponseParams `json:"Response"` +} + +func (r *DescribeForwardRuleListResponse) 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 *DescribeForwardRuleListResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeForwardRuleRequestParams struct { + // 转发规则ID + RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"` +} + +type DescribeForwardRuleRequest struct { + *tchttp.BaseRequest + + // 转发规则ID + RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"` +} + +func (r *DescribeForwardRuleRequest) 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 *DescribeForwardRuleRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "RuleId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeForwardRuleRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type DescribeForwardRuleResponseParams struct { + // 转发规则详情 + ForwardRule *ForwardRule `json:"ForwardRule,omitnil,omitempty" name:"ForwardRule"` + + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type DescribeForwardRuleResponse struct { + *tchttp.BaseResponse + Response *DescribeForwardRuleResponseParams `json:"Response"` +} + +func (r *DescribeForwardRuleResponse) 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 *DescribeForwardRuleResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + // Predefined struct for user type DescribePrivateDNSAccountListRequestParams struct { // 分页偏移量,从0开始 - Offset *int64 `json:"Offset,omitnil" name:"Offset"` + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` // 分页限制数目, 最大100,默认20 - Limit *int64 `json:"Limit,omitnil" name:"Limit"` + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` // 过滤参数 - Filters []*Filter `json:"Filters,omitnil" name:"Filters"` + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` } type DescribePrivateDNSAccountListRequest struct { *tchttp.BaseRequest // 分页偏移量,从0开始 - Offset *int64 `json:"Offset,omitnil" name:"Offset"` + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` // 分页限制数目, 最大100,默认20 - Limit *int64 `json:"Limit,omitnil" name:"Limit"` + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` // 过滤参数 - Filters []*Filter `json:"Filters,omitnil" name:"Filters"` + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` } func (r *DescribePrivateDNSAccountListRequest) ToJsonString() string { @@ -1048,13 +1654,13 @@ func (r *DescribePrivateDNSAccountListRequest) FromJsonString(s string) error { // Predefined struct for user type DescribePrivateDNSAccountListResponseParams struct { // 私有域解析账号数量 - TotalCount *int64 `json:"TotalCount,omitnil" name:"TotalCount"` + TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` // 私有域解析账号列表 - AccountSet []*PrivateDNSAccount `json:"AccountSet,omitnil" name:"AccountSet"` + AccountSet []*PrivateDNSAccount `json:"AccountSet,omitnil,omitempty" name:"AccountSet"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DescribePrivateDNSAccountListResponse struct { @@ -1076,26 +1682,26 @@ func (r *DescribePrivateDNSAccountListResponse) FromJsonString(s string) error { // Predefined struct for user type DescribePrivateZoneListRequestParams struct { // 分页偏移量,从0开始 - Offset *int64 `json:"Offset,omitnil" name:"Offset"` + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` // 分页限制数目, 最大100,默认20 - Limit *int64 `json:"Limit,omitnil" name:"Limit"` + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` // 过滤参数 - Filters []*Filter `json:"Filters,omitnil" name:"Filters"` + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` } type DescribePrivateZoneListRequest struct { *tchttp.BaseRequest // 分页偏移量,从0开始 - Offset *int64 `json:"Offset,omitnil" name:"Offset"` + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` // 分页限制数目, 最大100,默认20 - Limit *int64 `json:"Limit,omitnil" name:"Limit"` + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` // 过滤参数 - Filters []*Filter `json:"Filters,omitnil" name:"Filters"` + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` } func (r *DescribePrivateZoneListRequest) ToJsonString() string { @@ -1122,13 +1728,13 @@ func (r *DescribePrivateZoneListRequest) FromJsonString(s string) error { // Predefined struct for user type DescribePrivateZoneListResponseParams struct { // 私有域数量 - TotalCount *int64 `json:"TotalCount,omitnil" name:"TotalCount"` + TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` // 私有域列表 - PrivateZoneSet []*PrivateZone `json:"PrivateZoneSet,omitnil" name:"PrivateZoneSet"` + PrivateZoneSet []*PrivateZone `json:"PrivateZoneSet,omitnil,omitempty" name:"PrivateZoneSet"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DescribePrivateZoneListResponse struct { @@ -1150,32 +1756,32 @@ func (r *DescribePrivateZoneListResponse) FromJsonString(s string) error { // Predefined struct for user type DescribePrivateZoneRecordListRequestParams struct { // 私有域ID: zone-xxxxxx - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 过滤参数(支持使用Value、RecordType过滤) - Filters []*Filter `json:"Filters,omitnil" name:"Filters"` + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` // 分页偏移量,从0开始 - Offset *int64 `json:"Offset,omitnil" name:"Offset"` + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` // 分页限制数目, 最大200,默认20 - Limit *int64 `json:"Limit,omitnil" name:"Limit"` + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` } type DescribePrivateZoneRecordListRequest struct { *tchttp.BaseRequest // 私有域ID: zone-xxxxxx - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 过滤参数(支持使用Value、RecordType过滤) - Filters []*Filter `json:"Filters,omitnil" name:"Filters"` + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` // 分页偏移量,从0开始 - Offset *int64 `json:"Offset,omitnil" name:"Offset"` + Offset *int64 `json:"Offset,omitnil,omitempty" name:"Offset"` // 分页限制数目, 最大200,默认20 - Limit *int64 `json:"Limit,omitnil" name:"Limit"` + Limit *int64 `json:"Limit,omitnil,omitempty" name:"Limit"` } func (r *DescribePrivateZoneRecordListRequest) ToJsonString() string { @@ -1203,13 +1809,13 @@ func (r *DescribePrivateZoneRecordListRequest) FromJsonString(s string) error { // Predefined struct for user type DescribePrivateZoneRecordListResponseParams struct { // 解析记录数量 - TotalCount *int64 `json:"TotalCount,omitnil" name:"TotalCount"` + TotalCount *int64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"` // 解析记录列表 - RecordSet []*PrivateZoneRecord `json:"RecordSet,omitnil" name:"RecordSet"` + RecordSet []*PrivateZoneRecord `json:"RecordSet,omitnil,omitempty" name:"RecordSet"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DescribePrivateZoneRecordListResponse struct { @@ -1231,14 +1837,14 @@ func (r *DescribePrivateZoneRecordListResponse) FromJsonString(s string) error { // Predefined struct for user type DescribePrivateZoneRequestParams struct { // 域名,格式必须是标准的TLD - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` } type DescribePrivateZoneRequest struct { *tchttp.BaseRequest // 域名,格式必须是标准的TLD - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` } func (r *DescribePrivateZoneRequest) ToJsonString() string { @@ -1263,10 +1869,10 @@ func (r *DescribePrivateZoneRequest) FromJsonString(s string) error { // Predefined struct for user type DescribePrivateZoneResponseParams struct { // 私有域详情 - PrivateZone *PrivateZone `json:"PrivateZone,omitnil" name:"PrivateZone"` + PrivateZone *PrivateZone `json:"PrivateZone,omitnil,omitempty" name:"PrivateZone"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DescribePrivateZoneResponse struct { @@ -1317,10 +1923,10 @@ func (r *DescribePrivateZoneServiceRequest) FromJsonString(s string) error { // Predefined struct for user type DescribePrivateZoneServiceResponseParams struct { // 私有域解析服务开通状态。ENABLED已开通,DISABLED未开通 - ServiceStatus *string `json:"ServiceStatus,omitnil" name:"ServiceStatus"` + ServiceStatus *string `json:"ServiceStatus,omitnil,omitempty" name:"ServiceStatus"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DescribePrivateZoneServiceResponse struct { @@ -1371,10 +1977,10 @@ func (r *DescribeQuotaUsageRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeQuotaUsageResponseParams struct { // Tld额度使用情况 - TldQuota *TldQuota `json:"TldQuota,omitnil" name:"TldQuota"` + TldQuota *TldQuota `json:"TldQuota,omitnil,omitempty" name:"TldQuota"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DescribeQuotaUsageResponse struct { @@ -1396,26 +2002,26 @@ func (r *DescribeQuotaUsageResponse) FromJsonString(s string) error { // Predefined struct for user type DescribeRequestDataRequestParams struct { // 请求量统计起始时间,格式:2020-11-22 00:00:00 - TimeRangeBegin *string `json:"TimeRangeBegin,omitnil" name:"TimeRangeBegin"` + TimeRangeBegin *string `json:"TimeRangeBegin,omitnil,omitempty" name:"TimeRangeBegin"` // 筛选参数: - Filters []*Filter `json:"Filters,omitnil" name:"Filters"` + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` // 请求量统计结束时间,格式:2020-11-22 23:59:59 - TimeRangeEnd *string `json:"TimeRangeEnd,omitnil" name:"TimeRangeEnd"` + TimeRangeEnd *string `json:"TimeRangeEnd,omitnil,omitempty" name:"TimeRangeEnd"` } type DescribeRequestDataRequest struct { *tchttp.BaseRequest // 请求量统计起始时间,格式:2020-11-22 00:00:00 - TimeRangeBegin *string `json:"TimeRangeBegin,omitnil" name:"TimeRangeBegin"` + TimeRangeBegin *string `json:"TimeRangeBegin,omitnil,omitempty" name:"TimeRangeBegin"` // 筛选参数: - Filters []*Filter `json:"Filters,omitnil" name:"Filters"` + Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"` // 请求量统计结束时间,格式:2020-11-22 23:59:59 - TimeRangeEnd *string `json:"TimeRangeEnd,omitnil" name:"TimeRangeEnd"` + TimeRangeEnd *string `json:"TimeRangeEnd,omitnil,omitempty" name:"TimeRangeEnd"` } func (r *DescribeRequestDataRequest) ToJsonString() string { @@ -1442,13 +2048,13 @@ func (r *DescribeRequestDataRequest) FromJsonString(s string) error { // Predefined struct for user type DescribeRequestDataResponseParams struct { // 请求量统计表 - Data []*MetricData `json:"Data,omitnil" name:"Data"` + Data []*MetricData `json:"Data,omitnil,omitempty" name:"Data"` // 请求量单位时间: Day:天,Hour:小时 - Interval *string `json:"Interval,omitnil" name:"Interval"` + Interval *string `json:"Interval,omitnil,omitempty" name:"Interval"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type DescribeRequestDataResponse struct { @@ -1467,93 +2073,223 @@ func (r *DescribeRequestDataResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type EndPointInfo struct { + // 终端节点ID + EndPointId *string `json:"EndPointId,omitnil,omitempty" name:"EndPointId"` + + // 终端节点名称 + EndPointName *string `json:"EndPointName,omitnil,omitempty" name:"EndPointName"` + + // 终端节点服务ID + EndPointServiceId *string `json:"EndPointServiceId,omitnil,omitempty" name:"EndPointServiceId"` + + // 终端节点VIP列表 + EndPointVipSet []*string `json:"EndPointVipSet,omitnil,omitempty" name:"EndPointVipSet"` + + // ap-guangzhou + // 注意:此字段可能返回 null,表示取不到有效值。 + RegionCode *string `json:"RegionCode,omitnil,omitempty" name:"RegionCode"` + + // 标签键值对集合 + // 注意:此字段可能返回 null,表示取不到有效值。 + Tags []*TagInfo `json:"Tags,omitnil,omitempty" name:"Tags"` +} + type Filter struct { // 参数名 - Name *string `json:"Name,omitnil" name:"Name"` + Name *string `json:"Name,omitnil,omitempty" name:"Name"` // 参数值数组 - Values []*string `json:"Values,omitnil" name:"Values"` + Values []*string `json:"Values,omitnil,omitempty" name:"Values"` } type FlowUsage struct { // 流量包类型:ZONE 私有域;TRAFFIC 解析流量包 - FlowType *string `json:"FlowType,omitnil" name:"FlowType"` + FlowType *string `json:"FlowType,omitnil,omitempty" name:"FlowType"` // 流量包总额度 - TotalQuantity *int64 `json:"TotalQuantity,omitnil" name:"TotalQuantity"` + TotalQuantity *int64 `json:"TotalQuantity,omitnil,omitempty" name:"TotalQuantity"` // 流量包可用额度 - AvailableQuantity *int64 `json:"AvailableQuantity,omitnil" name:"AvailableQuantity"` + AvailableQuantity *int64 `json:"AvailableQuantity,omitnil,omitempty" name:"AvailableQuantity"` +} + +type ForwardRule struct { + // 私有域名 + Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` + + // 转发规则名称 + RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"` + + // 规则id + RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"` + + // 转发规则类型:云上到云下DOWN、云下到云上DOWN + RuleType *string `json:"RuleType,omitnil,omitempty" name:"RuleType"` + + // 创建时间 + CreatedAt *string `json:"CreatedAt,omitnil,omitempty" name:"CreatedAt"` + + // 更新时间 + UpdatedAt *string `json:"UpdatedAt,omitnil,omitempty" name:"UpdatedAt"` + + // 终端节点名称 + EndPointName *string `json:"EndPointName,omitnil,omitempty" name:"EndPointName"` + + // 终端节点ID + EndPointId *string `json:"EndPointId,omitnil,omitempty" name:"EndPointId"` + + // 转发地址 + ForwardAddress []*string `json:"ForwardAddress,omitnil,omitempty" name:"ForwardAddress"` + + // 私有域绑定的vpc列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + VpcSet []*VpcInfo `json:"VpcSet,omitnil,omitempty" name:"VpcSet"` + + // 绑定的私有域ID + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` + + // 标签 + // 注意:此字段可能返回 null,表示取不到有效值。 + Tags []*TagInfo `json:"Tags,omitnil,omitempty" name:"Tags"` } type MetricData struct { // 资源描述 - Resource *string `json:"Resource,omitnil" name:"Resource"` + Resource *string `json:"Resource,omitnil,omitempty" name:"Resource"` // 表名 - Metric *string `json:"Metric,omitnil" name:"Metric"` + Metric *string `json:"Metric,omitnil,omitempty" name:"Metric"` // 表数据 - DataSet []*DatePoint `json:"DataSet,omitnil" name:"DataSet"` + DataSet []*DatePoint `json:"DataSet,omitnil,omitempty" name:"DataSet"` // 查询范围内的请求总量 // 注意:此字段可能返回 null,表示取不到有效值。 - MetricCount *int64 `json:"MetricCount,omitnil" name:"MetricCount"` + MetricCount *int64 `json:"MetricCount,omitnil,omitempty" name:"MetricCount"` +} + +// Predefined struct for user +type ModifyForwardRuleRequestParams struct { + // 转发规则ID + RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"` + + // 转发规则名称 + RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"` + + // 终端节点ID + EndPointId *string `json:"EndPointId,omitnil,omitempty" name:"EndPointId"` +} + +type ModifyForwardRuleRequest struct { + *tchttp.BaseRequest + + // 转发规则ID + RuleId *string `json:"RuleId,omitnil,omitempty" name:"RuleId"` + + // 转发规则名称 + RuleName *string `json:"RuleName,omitnil,omitempty" name:"RuleName"` + + // 终端节点ID + EndPointId *string `json:"EndPointId,omitnil,omitempty" name:"EndPointId"` +} + +func (r *ModifyForwardRuleRequest) 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 *ModifyForwardRuleRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "RuleId") + delete(f, "RuleName") + delete(f, "EndPointId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyForwardRuleRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +// Predefined struct for user +type ModifyForwardRuleResponseParams struct { + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` +} + +type ModifyForwardRuleResponse struct { + *tchttp.BaseResponse + Response *ModifyForwardRuleResponseParams `json:"Response"` +} + +func (r *ModifyForwardRuleResponse) 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 *ModifyForwardRuleResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) } // Predefined struct for user type ModifyPrivateZoneRecordRequestParams struct { // 私有域ID - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 记录ID - RecordId *string `json:"RecordId,omitnil" name:"RecordId"` + RecordId *string `json:"RecordId,omitnil,omitempty" name:"RecordId"` // 记录类型,可选的记录类型为:"A", "AAAA", "CNAME", "MX", "TXT", "PTR" - RecordType *string `json:"RecordType,omitnil" name:"RecordType"` + RecordType *string `json:"RecordType,omitnil,omitempty" name:"RecordType"` // 子域名,例如 "www", "m", "@" - SubDomain *string `json:"SubDomain,omitnil" name:"SubDomain"` + SubDomain *string `json:"SubDomain,omitnil,omitempty" name:"SubDomain"` // 记录值,例如 IP:192.168.10.2,CNAME:cname.qcloud.com.,MX:mail.qcloud.com. - RecordValue *string `json:"RecordValue,omitnil" name:"RecordValue"` + RecordValue *string `json:"RecordValue,omitnil,omitempty" name:"RecordValue"` // 记录权重,值为1-100 - Weight *int64 `json:"Weight,omitnil" name:"Weight"` + Weight *int64 `json:"Weight,omitnil,omitempty" name:"Weight"` // MX优先级:记录类型为MX时必填。取值范围:5,10,15,20,30,40,50 - MX *int64 `json:"MX,omitnil" name:"MX"` + MX *int64 `json:"MX,omitnil,omitempty" name:"MX"` // 记录缓存时间,数值越小生效越快,取值1-86400s, 默认 600 - TTL *int64 `json:"TTL,omitnil" name:"TTL"` + TTL *int64 `json:"TTL,omitnil,omitempty" name:"TTL"` } type ModifyPrivateZoneRecordRequest struct { *tchttp.BaseRequest // 私有域ID - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 记录ID - RecordId *string `json:"RecordId,omitnil" name:"RecordId"` + RecordId *string `json:"RecordId,omitnil,omitempty" name:"RecordId"` // 记录类型,可选的记录类型为:"A", "AAAA", "CNAME", "MX", "TXT", "PTR" - RecordType *string `json:"RecordType,omitnil" name:"RecordType"` + RecordType *string `json:"RecordType,omitnil,omitempty" name:"RecordType"` // 子域名,例如 "www", "m", "@" - SubDomain *string `json:"SubDomain,omitnil" name:"SubDomain"` + SubDomain *string `json:"SubDomain,omitnil,omitempty" name:"SubDomain"` // 记录值,例如 IP:192.168.10.2,CNAME:cname.qcloud.com.,MX:mail.qcloud.com. - RecordValue *string `json:"RecordValue,omitnil" name:"RecordValue"` + RecordValue *string `json:"RecordValue,omitnil,omitempty" name:"RecordValue"` // 记录权重,值为1-100 - Weight *int64 `json:"Weight,omitnil" name:"Weight"` + Weight *int64 `json:"Weight,omitnil,omitempty" name:"Weight"` // MX优先级:记录类型为MX时必填。取值范围:5,10,15,20,30,40,50 - MX *int64 `json:"MX,omitnil" name:"MX"` + MX *int64 `json:"MX,omitnil,omitempty" name:"MX"` // 记录缓存时间,数值越小生效越快,取值1-86400s, 默认 600 - TTL *int64 `json:"TTL,omitnil" name:"TTL"` + TTL *int64 `json:"TTL,omitnil,omitempty" name:"TTL"` } func (r *ModifyPrivateZoneRecordRequest) ToJsonString() string { @@ -1584,8 +2320,8 @@ func (r *ModifyPrivateZoneRecordRequest) FromJsonString(s string) error { // Predefined struct for user type ModifyPrivateZoneRecordResponseParams struct { - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type ModifyPrivateZoneRecordResponse struct { @@ -1607,32 +2343,32 @@ func (r *ModifyPrivateZoneRecordResponse) FromJsonString(s string) error { // Predefined struct for user type ModifyPrivateZoneRequestParams struct { // 私有域ID - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 备注 - Remark *string `json:"Remark,omitnil" name:"Remark"` + Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"` // 是否开启子域名递归, ENABLED, DISABLED - DnsForwardStatus *string `json:"DnsForwardStatus,omitnil" name:"DnsForwardStatus"` + DnsForwardStatus *string `json:"DnsForwardStatus,omitnil,omitempty" name:"DnsForwardStatus"` // 是否开启CNAME加速:ENABLED, DISABLED - CnameSpeedupStatus *string `json:"CnameSpeedupStatus,omitnil" name:"CnameSpeedupStatus"` + CnameSpeedupStatus *string `json:"CnameSpeedupStatus,omitnil,omitempty" name:"CnameSpeedupStatus"` } type ModifyPrivateZoneRequest struct { *tchttp.BaseRequest // 私有域ID - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 备注 - Remark *string `json:"Remark,omitnil" name:"Remark"` + Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"` // 是否开启子域名递归, ENABLED, DISABLED - DnsForwardStatus *string `json:"DnsForwardStatus,omitnil" name:"DnsForwardStatus"` + DnsForwardStatus *string `json:"DnsForwardStatus,omitnil,omitempty" name:"DnsForwardStatus"` // 是否开启CNAME加速:ENABLED, DISABLED - CnameSpeedupStatus *string `json:"CnameSpeedupStatus,omitnil" name:"CnameSpeedupStatus"` + CnameSpeedupStatus *string `json:"CnameSpeedupStatus,omitnil,omitempty" name:"CnameSpeedupStatus"` } func (r *ModifyPrivateZoneRequest) ToJsonString() string { @@ -1659,8 +2395,8 @@ func (r *ModifyPrivateZoneRequest) FromJsonString(s string) error { // Predefined struct for user type ModifyPrivateZoneResponseParams struct { - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type ModifyPrivateZoneResponse struct { @@ -1682,26 +2418,26 @@ func (r *ModifyPrivateZoneResponse) FromJsonString(s string) error { // Predefined struct for user type ModifyPrivateZoneVpcRequestParams struct { // 私有域ID - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 私有域关联的全部VPC列表 - VpcSet []*VpcInfo `json:"VpcSet,omitnil" name:"VpcSet"` + VpcSet []*VpcInfo `json:"VpcSet,omitnil,omitempty" name:"VpcSet"` // 私有域账号关联的全部VPC列表 - AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil" name:"AccountVpcSet"` + AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil,omitempty" name:"AccountVpcSet"` } type ModifyPrivateZoneVpcRequest struct { *tchttp.BaseRequest // 私有域ID - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 私有域关联的全部VPC列表 - VpcSet []*VpcInfo `json:"VpcSet,omitnil" name:"VpcSet"` + VpcSet []*VpcInfo `json:"VpcSet,omitnil,omitempty" name:"VpcSet"` // 私有域账号关联的全部VPC列表 - AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil" name:"AccountVpcSet"` + AccountVpcSet []*AccountVpcInfo `json:"AccountVpcSet,omitnil,omitempty" name:"AccountVpcSet"` } func (r *ModifyPrivateZoneVpcRequest) ToJsonString() string { @@ -1728,16 +2464,16 @@ func (r *ModifyPrivateZoneVpcRequest) FromJsonString(s string) error { // Predefined struct for user type ModifyPrivateZoneVpcResponseParams struct { // 私有域ID, zone-xxxxxx - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 解析域关联的VPC列表 - VpcSet []*VpcInfo `json:"VpcSet,omitnil" name:"VpcSet"` + VpcSet []*VpcInfo `json:"VpcSet,omitnil,omitempty" name:"VpcSet"` // 私有域账号关联的全部VPC列表 - AccountVpcSet []*AccountVpcInfoOutput `json:"AccountVpcSet,omitnil" name:"AccountVpcSet"` + AccountVpcSet []*AccountVpcInfoOutput `json:"AccountVpcSet,omitnil,omitempty" name:"AccountVpcSet"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type ModifyPrivateZoneVpcResponse struct { @@ -1759,26 +2495,26 @@ func (r *ModifyPrivateZoneVpcResponse) FromJsonString(s string) error { // Predefined struct for user type ModifyRecordsStatusRequestParams struct { // 私有域ID - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 解析记录ID列表 - RecordIds []*int64 `json:"RecordIds,omitnil" name:"RecordIds"` + RecordIds []*int64 `json:"RecordIds,omitnil,omitempty" name:"RecordIds"` // enabled:生效,disabled:失效 - Status *string `json:"Status,omitnil" name:"Status"` + Status *string `json:"Status,omitnil,omitempty" name:"Status"` } type ModifyRecordsStatusRequest struct { *tchttp.BaseRequest // 私有域ID - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 解析记录ID列表 - RecordIds []*int64 `json:"RecordIds,omitnil" name:"RecordIds"` + RecordIds []*int64 `json:"RecordIds,omitnil,omitempty" name:"RecordIds"` // enabled:生效,disabled:失效 - Status *string `json:"Status,omitnil" name:"Status"` + Status *string `json:"Status,omitnil,omitempty" name:"Status"` } func (r *ModifyRecordsStatusRequest) ToJsonString() string { @@ -1805,16 +2541,16 @@ func (r *ModifyRecordsStatusRequest) FromJsonString(s string) error { // Predefined struct for user type ModifyRecordsStatusResponseParams struct { // 私有域ID - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 解析记录ID列表 - RecordIds []*int64 `json:"RecordIds,omitnil" name:"RecordIds"` + RecordIds []*int64 `json:"RecordIds,omitnil,omitempty" name:"RecordIds"` // enabled:生效,disabled:失效 - Status *string `json:"Status,omitnil" name:"Status"` + Status *string `json:"Status,omitnil,omitempty" name:"Status"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type ModifyRecordsStatusResponse struct { @@ -1835,139 +2571,139 @@ func (r *ModifyRecordsStatusResponse) FromJsonString(s string) error { type PrivateDNSAccount struct { // 主账号Uin - Uin *string `json:"Uin,omitnil" name:"Uin"` + Uin *string `json:"Uin,omitnil,omitempty" name:"Uin"` // 主账号名称 - Account *string `json:"Account,omitnil" name:"Account"` + Account *string `json:"Account,omitnil,omitempty" name:"Account"` // 用户昵称 - Nickname *string `json:"Nickname,omitnil" name:"Nickname"` + Nickname *string `json:"Nickname,omitnil,omitempty" name:"Nickname"` } type PrivateZone struct { // 私有域id: zone-xxxxxxxx - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 域名所有者uin - OwnerUin *int64 `json:"OwnerUin,omitnil" name:"OwnerUin"` + OwnerUin *int64 `json:"OwnerUin,omitnil,omitempty" name:"OwnerUin"` // 私有域名 - Domain *string `json:"Domain,omitnil" name:"Domain"` + Domain *string `json:"Domain,omitnil,omitempty" name:"Domain"` // 创建时间 - CreatedOn *string `json:"CreatedOn,omitnil" name:"CreatedOn"` + CreatedOn *string `json:"CreatedOn,omitnil,omitempty" name:"CreatedOn"` // 修改时间 - UpdatedOn *string `json:"UpdatedOn,omitnil" name:"UpdatedOn"` + UpdatedOn *string `json:"UpdatedOn,omitnil,omitempty" name:"UpdatedOn"` // 记录数 - RecordCount *int64 `json:"RecordCount,omitnil" name:"RecordCount"` + RecordCount *int64 `json:"RecordCount,omitnil,omitempty" name:"RecordCount"` // 备注 // 注意:此字段可能返回 null,表示取不到有效值。 - Remark *string `json:"Remark,omitnil" name:"Remark"` + Remark *string `json:"Remark,omitnil,omitempty" name:"Remark"` // 绑定的Vpc列表 - VpcSet []*VpcInfo `json:"VpcSet,omitnil" name:"VpcSet"` + VpcSet []*VpcInfo `json:"VpcSet,omitnil,omitempty" name:"VpcSet"` // 私有域绑定VPC状态,未关联vpc:SUSPEND,已关联VPC:ENABLED // ,关联VPC失败:FAILED - Status *string `json:"Status,omitnil" name:"Status"` + Status *string `json:"Status,omitnil,omitempty" name:"Status"` // 域名递归解析状态:开通:ENABLED, 关闭,DISABLED - DnsForwardStatus *string `json:"DnsForwardStatus,omitnil" name:"DnsForwardStatus"` + DnsForwardStatus *string `json:"DnsForwardStatus,omitnil,omitempty" name:"DnsForwardStatus"` // 标签键值对集合 - Tags []*TagInfo `json:"Tags,omitnil" name:"Tags"` + Tags []*TagInfo `json:"Tags,omitnil,omitempty" name:"Tags"` // 绑定的关联账号的vpc列表 // 注意:此字段可能返回 null,表示取不到有效值。 - AccountVpcSet []*AccountVpcInfoOutput `json:"AccountVpcSet,omitnil" name:"AccountVpcSet"` + AccountVpcSet []*AccountVpcInfoOutput `json:"AccountVpcSet,omitnil,omitempty" name:"AccountVpcSet"` // 是否自定义TLD // 注意:此字段可能返回 null,表示取不到有效值。 - IsCustomTld *bool `json:"IsCustomTld,omitnil" name:"IsCustomTld"` + IsCustomTld *bool `json:"IsCustomTld,omitnil,omitempty" name:"IsCustomTld"` // CNAME加速状态:开通:ENABLED, 关闭,DISABLED - CnameSpeedupStatus *string `json:"CnameSpeedupStatus,omitnil" name:"CnameSpeedupStatus"` + CnameSpeedupStatus *string `json:"CnameSpeedupStatus,omitnil,omitempty" name:"CnameSpeedupStatus"` // 转发规则名称 // 注意:此字段可能返回 null,表示取不到有效值。 - ForwardRuleName *string `json:"ForwardRuleName,omitnil" name:"ForwardRuleName"` + ForwardRuleName *string `json:"ForwardRuleName,omitnil,omitempty" name:"ForwardRuleName"` // 转发规则类型:云上到云下,DOWN;云下到云上,UP,目前只支持DOWN // 注意:此字段可能返回 null,表示取不到有效值。 - ForwardRuleType *string `json:"ForwardRuleType,omitnil" name:"ForwardRuleType"` + ForwardRuleType *string `json:"ForwardRuleType,omitnil,omitempty" name:"ForwardRuleType"` // 转发的地址 // 注意:此字段可能返回 null,表示取不到有效值。 - ForwardAddress *string `json:"ForwardAddress,omitnil" name:"ForwardAddress"` + ForwardAddress *string `json:"ForwardAddress,omitnil,omitempty" name:"ForwardAddress"` // 终端节点名称 // 注意:此字段可能返回 null,表示取不到有效值。 - EndPointName *string `json:"EndPointName,omitnil" name:"EndPointName"` + EndPointName *string `json:"EndPointName,omitnil,omitempty" name:"EndPointName"` // 已删除的vpc // 注意:此字段可能返回 null,表示取不到有效值。 - DeletedVpcSet []*VpcInfo `json:"DeletedVpcSet,omitnil" name:"DeletedVpcSet"` + DeletedVpcSet []*VpcInfo `json:"DeletedVpcSet,omitnil,omitempty" name:"DeletedVpcSet"` } type PrivateZoneRecord struct { // 记录id - RecordId *string `json:"RecordId,omitnil" name:"RecordId"` + RecordId *string `json:"RecordId,omitnil,omitempty" name:"RecordId"` // 私有域id: zone-xxxxxxxx - ZoneId *string `json:"ZoneId,omitnil" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitnil,omitempty" name:"ZoneId"` // 子域名 - SubDomain *string `json:"SubDomain,omitnil" name:"SubDomain"` + SubDomain *string `json:"SubDomain,omitnil,omitempty" name:"SubDomain"` // 记录类型,可选的记录类型为:"A", "AAAA", "CNAME", "MX", "TXT", "PTR" - RecordType *string `json:"RecordType,omitnil" name:"RecordType"` + RecordType *string `json:"RecordType,omitnil,omitempty" name:"RecordType"` // 记录值 - RecordValue *string `json:"RecordValue,omitnil" name:"RecordValue"` + RecordValue *string `json:"RecordValue,omitnil,omitempty" name:"RecordValue"` // 记录缓存时间,数值越小生效越快,取值1-86400s, 默认 600 - TTL *int64 `json:"TTL,omitnil" name:"TTL"` + TTL *int64 `json:"TTL,omitnil,omitempty" name:"TTL"` // MX优先级:记录类型为MX时必填。取值范围:5,10,15,20,30,40,50 // 注意:此字段可能返回 null,表示取不到有效值。 - MX *int64 `json:"MX,omitnil" name:"MX"` + MX *int64 `json:"MX,omitnil,omitempty" name:"MX"` // 记录状态:ENABLED - Status *string `json:"Status,omitnil" name:"Status"` + Status *string `json:"Status,omitnil,omitempty" name:"Status"` // 记录权重,值为1-100 // 注意:此字段可能返回 null,表示取不到有效值。 - Weight *int64 `json:"Weight,omitnil" name:"Weight"` + Weight *int64 `json:"Weight,omitnil,omitempty" name:"Weight"` // 记录创建时间 - CreatedOn *string `json:"CreatedOn,omitnil" name:"CreatedOn"` + CreatedOn *string `json:"CreatedOn,omitnil,omitempty" name:"CreatedOn"` // 记录更新时间 - UpdatedOn *string `json:"UpdatedOn,omitnil" name:"UpdatedOn"` + UpdatedOn *string `json:"UpdatedOn,omitnil,omitempty" name:"UpdatedOn"` // 附加信息 // 注意:此字段可能返回 null,表示取不到有效值。 - Extra *string `json:"Extra,omitnil" name:"Extra"` + Extra *string `json:"Extra,omitnil,omitempty" name:"Extra"` // 0暂停,1启用 // 注意:此字段可能返回 null,表示取不到有效值。 - Enabled *uint64 `json:"Enabled,omitnil" name:"Enabled"` + Enabled *uint64 `json:"Enabled,omitnil,omitempty" name:"Enabled"` } // Predefined struct for user type QueryAsyncBindVpcStatusRequestParams struct { // 唯一ID - UniqId *string `json:"UniqId,omitnil" name:"UniqId"` + UniqId *string `json:"UniqId,omitnil,omitempty" name:"UniqId"` } type QueryAsyncBindVpcStatusRequest struct { *tchttp.BaseRequest // 唯一ID - UniqId *string `json:"UniqId,omitnil" name:"UniqId"` + UniqId *string `json:"UniqId,omitnil,omitempty" name:"UniqId"` } func (r *QueryAsyncBindVpcStatusRequest) ToJsonString() string { @@ -1993,14 +2729,14 @@ func (r *QueryAsyncBindVpcStatusRequest) FromJsonString(s string) error { type QueryAsyncBindVpcStatusResponseParams struct { // processing 处理中,success 执行成功, // failed 执行失败 - Status *string `json:"Status,omitnil" name:"Status"` + Status *string `json:"Status,omitnil,omitempty" name:"Status"` // 错误信息 // 注意:此字段可能返回 null,表示取不到有效值。 - ErrorMsg *string `json:"ErrorMsg,omitnil" name:"ErrorMsg"` + ErrorMsg *string `json:"ErrorMsg,omitnil,omitempty" name:"ErrorMsg"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type QueryAsyncBindVpcStatusResponse struct { @@ -2019,6 +2755,26 @@ func (r *QueryAsyncBindVpcStatusResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type RegionInfo struct { + // 地域编码 + RegionCode *string `json:"RegionCode,omitnil,omitempty" name:"RegionCode"` + + // 地域中文名 + // 注意:此字段可能返回 null,表示取不到有效值。 + CnName *string `json:"CnName,omitnil,omitempty" name:"CnName"` + + // 地域英文名 + EnName *string `json:"EnName,omitnil,omitempty" name:"EnName"` + + // 地域ID + // 注意:此字段可能返回 null,表示取不到有效值。 + RegionId *uint64 `json:"RegionId,omitnil,omitempty" name:"RegionId"` + + // 可用区数量 + // 注意:此字段可能返回 null,表示取不到有效值。 + AvailableZoneNum *uint64 `json:"AvailableZoneNum,omitnil,omitempty" name:"AvailableZoneNum"` +} + // Predefined struct for user type SubscribePrivateZoneServiceRequestParams struct { @@ -2051,10 +2807,10 @@ func (r *SubscribePrivateZoneServiceRequest) FromJsonString(s string) error { // Predefined struct for user type SubscribePrivateZoneServiceResponseParams struct { // 私有域解析服务开通状态 - ServiceStatus *string `json:"ServiceStatus,omitnil" name:"ServiceStatus"` + ServiceStatus *string `json:"ServiceStatus,omitnil,omitempty" name:"ServiceStatus"` - // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId,omitnil" name:"RequestId"` + // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"` } type SubscribePrivateZoneServiceResponse struct { @@ -2075,30 +2831,30 @@ func (r *SubscribePrivateZoneServiceResponse) FromJsonString(s string) error { type TagInfo struct { // 标签键 - TagKey *string `json:"TagKey,omitnil" name:"TagKey"` + TagKey *string `json:"TagKey,omitnil,omitempty" name:"TagKey"` // 标签值 - TagValue *string `json:"TagValue,omitnil" name:"TagValue"` + TagValue *string `json:"TagValue,omitnil,omitempty" name:"TagValue"` } type TldQuota struct { // 总共额度 - Total *int64 `json:"Total,omitnil" name:"Total"` + Total *int64 `json:"Total,omitnil,omitempty" name:"Total"` // 已使用额度 - Used *int64 `json:"Used,omitnil" name:"Used"` + Used *int64 `json:"Used,omitnil,omitempty" name:"Used"` // 库存 - Stock *int64 `json:"Stock,omitnil" name:"Stock"` + Stock *int64 `json:"Stock,omitnil,omitempty" name:"Stock"` // 用户限额 - Quota *int64 `json:"Quota,omitnil" name:"Quota"` + Quota *int64 `json:"Quota,omitnil,omitempty" name:"Quota"` } type VpcInfo struct { // VpcId: vpc-xadsafsdasd - UniqVpcId *string `json:"UniqVpcId,omitnil" name:"UniqVpcId"` + UniqVpcId *string `json:"UniqVpcId,omitnil,omitempty" name:"UniqVpcId"` // Vpc所属地区: ap-guangzhou, ap-shanghai - Region *string `json:"Region,omitnil" name:"Region"` + Region *string `json:"Region,omitnil,omitempty" name:"Region"` } \ No newline at end of file diff --git a/vendor/modules.txt b/vendor/modules.txt index a67aa7ae02..5c8b784b8c 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1163,7 +1163,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.970 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls/v20201016 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1034 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1038 ## explicit; go 1.11 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors @@ -1255,7 +1255,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/organization/v20210331 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres v1.0.1010 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/postgres/v20170312 -# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.859 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns v1.0.1038 ## explicit; go 1.14 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/privatedns/v20201028 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/pts v1.0.762 diff --git a/website/docs/d/private_dns_end_points.html.markdown b/website/docs/d/private_dns_end_points.html.markdown new file mode 100644 index 0000000000..78ecdc3ac6 --- /dev/null +++ b/website/docs/d/private_dns_end_points.html.markdown @@ -0,0 +1,69 @@ +--- +subcategory: "PrivateDNS" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_private_dns_end_points" +sidebar_current: "docs-tencentcloud-datasource-private_dns_end_points" +description: |- + Use this data source to query detailed information of private dns dns end points +--- + +# tencentcloud_private_dns_end_points + +Use this data source to query detailed information of private dns dns end points + +## Example Usage + +### Query all private dns end points + +```hcl +data "tencentcloud_private_dns_end_points" "example" {} +``` + +### Query all private dns end points by filters + +```hcl +data "tencentcloud_private_dns_end_points" "example" { + filters { + name = "EndPointName" + values = ["tf-example"] + } + + filters { + name = "EndPointId" + values = ["eid-72dc11b8f3"] + } + + filters { + name = "EndPointServiceId" + values = ["vpcsvc-61wcwmar"] + } + + filters { + name = "EndPointVip" + values = [ + "172.10.10.1" + ] + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `filters` - (Optional, List) Filter parameters. Valid values: EndPointName, EndPointId, EndPointServiceId, and EndPointVip. +* `result_output_file` - (Optional, String) Used to save results. + +The `filters` object supports the following: + +* `name` - (Required, String) Parameter name. +* `values` - (Required, Set) Array of parameter values. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `end_point_set` - Endpoint list. +Note: This field may return null, indicating that no valid values can be obtained. + + diff --git a/website/docs/d/private_dns_forward_rules.html.markdown b/website/docs/d/private_dns_forward_rules.html.markdown new file mode 100644 index 0000000000..2a057b932a --- /dev/null +++ b/website/docs/d/private_dns_forward_rules.html.markdown @@ -0,0 +1,81 @@ +--- +subcategory: "PrivateDNS" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_private_dns_forward_rules" +sidebar_current: "docs-tencentcloud-datasource-private_dns_forward_rules" +description: |- + Use this data source to query detailed information of private dns forward rules +--- + +# tencentcloud_private_dns_forward_rules + +Use this data source to query detailed information of private dns forward rules + +## Example Usage + +### Query all private dns forward rules + +```hcl +data "tencentcloud_private_dns_forward_rules" "example" {} +``` + +### Query all private dns forward rules by filters + +```hcl +data "tencentcloud_private_dns_forward_rules" "example" { + filters { + name = "RuleId" + values = ["eid-e9d5880672"] + } + + filters { + name = "RuleName" + values = ["tf-example"] + } + + filters { + name = "RuleName" + values = ["tf-example"] + } + + filters { + name = "RuleType" + values = ["DOWN"] + } + + filters { + name = "ZoneId" + values = ["zone-04jlawty"] + } + + filters { + name = "EndPointId" + values = ["eid-e9d5880672"] + } + + filters { + name = "EndPointName" + values = ["tf-example"] + } +} +``` + +## Argument Reference + +The following arguments are supported: + +* `filters` - (Optional, List) Filter parameters. +* `result_output_file` - (Optional, String) Used to save results. + +The `filters` object supports the following: + +* `name` - (Required, String) Parameter name. +* `values` - (Required, Set) Array of parameter values. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `forward_rule_set` - Private domain list. + + diff --git a/website/docs/r/private_dns_end_point.html.markdown b/website/docs/r/private_dns_end_point.html.markdown new file mode 100644 index 0000000000..b78ce30dc2 --- /dev/null +++ b/website/docs/r/private_dns_end_point.html.markdown @@ -0,0 +1,49 @@ +--- +subcategory: "PrivateDNS" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_private_dns_end_point" +sidebar_current: "docs-tencentcloud-resource-private_dns_end_point" +description: |- + Provides a resource to create a privatedns end point +--- + +# tencentcloud_private_dns_end_point + +Provides a resource to create a privatedns end point + +## Example Usage + +```hcl +resource "tencentcloud_private_dns_end_point" "example" { + end_point_name = "tf-example" + end_point_service_id = "vpcsvc-61wcwmar" + end_point_region = "ap-guangzhou" + ip_num = 1 +} +``` + +## Argument Reference + +The following arguments are supported: + +* `end_point_name` - (Required, String, ForceNew) Endpoint name. +* `end_point_region` - (Required, String, ForceNew) Endpoint region, which should be consistent with the region of the endpoint service. +* `end_point_service_id` - (Required, String, ForceNew) Endpoint service ID (namely, VPC endpoint service ID). +* `ip_num` - (Optional, Int, ForceNew) Number of endpoint IP addresses. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the resource. +* `end_point_vip_set` - Vip list of endpoint. + + +## Import + +private dns end point can be imported using the id, e.g. + +``` +terraform import tencentcloud_private_dns_end_point.example eid-77a246c867 +``` + diff --git a/website/docs/r/private_dns_forward_rule.html.markdown b/website/docs/r/private_dns_forward_rule.html.markdown new file mode 100644 index 0000000000..569d18c1f8 --- /dev/null +++ b/website/docs/r/private_dns_forward_rule.html.markdown @@ -0,0 +1,56 @@ +--- +subcategory: "PrivateDNS" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_private_dns_forward_rule" +sidebar_current: "docs-tencentcloud-resource-private_dns_forward_rule" +description: |- + Provides a resource to create a privatedns forward rule +--- + +# tencentcloud_private_dns_forward_rule + +Provides a resource to create a privatedns forward rule + +## Example Usage + +```hcl +resource "tencentcloud_private_dns_end_point" "example" { + end_point_name = "tf-example" + end_point_service_id = "vpcsvc-61wcwmar" + end_point_region = "ap-guangzhou" + ip_num = 1 +} + +resource "tencentcloud_private_dns_forward_rule" "example" { + rule_name = "tf-example" + rule_type = "DOWN" + zone_id = "zone-cmmbvaq8" + end_point_id = tencentcloud_private_dns_end_point.example.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `end_point_id` - (Required, String) Endpoint ID. +* `rule_name` - (Required, String) Forwarding rule name. +* `rule_type` - (Required, String) Forwarding rule type. DOWN: From cloud to off-cloud; UP: From off-cloud to cloud. +* `zone_id` - (Required, String) Private domain ID, which can be viewed on the private domain list page. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the resource. + + + +## Import + +private dns forward rule can be imported using the id, e.g. + +``` +terraform import tencentcloud_private_dns_forward_rule.example fid-dbc2c0a97c +``` + diff --git a/website/tencentcloud.erb b/website/tencentcloud.erb index 1ae717b967..4887dc82a3 100644 --- a/website/tencentcloud.erb +++ b/website/tencentcloud.erb @@ -3165,6 +3165,12 @@