diff --git a/go.mod b/go.mod index 1901f42d1c..c5680b12f6 100644 --- a/go.mod +++ b/go.mod @@ -34,6 +34,7 @@ require ( github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc v1.0.199 + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.294 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms v1.0.199 diff --git a/go.sum b/go.sum index 0a2f741d7c..53aae4ddea 100644 --- a/go.sum +++ b/go.sum @@ -481,6 +481,10 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.199 h1:CzZEt6 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu v1.0.199/go.mod h1:pz4s3nOhoB9cY0+uWzifuwr7lfh/Gvi1rv0ADxpPzD4= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc v1.0.199 h1:7ShREKvI8ik2YNtLF42JR9x2YEeZS/gZvhIRfpsI8T0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc v1.0.199/go.mod h1:5WGSrlIZJOhwIqPjjafb6vzrPEZieSHPhPMjjGPXOSU= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.286 h1:daMss6AZ7UrzvfzRFtBp+0YdhSlZljlzRYE3XshU+MI= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.286/go.mod h1:CuOaLxOQr477GhMWAQPYQFUJrsZbW+ZqkAgP2uHDZXg= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.294 h1:VKP8TRlMSDUIJ32GuFKr4a0Fv/oi4LksRVOfJoK9CVc= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.294/go.mod h1:CuOaLxOQr477GhMWAQPYQFUJrsZbW+ZqkAgP2uHDZXg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es v1.0.199 h1:qMFzKYXp1z7awrl3hhQM+sPb3XEtrR/4pW+6FXQTYcQ= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es v1.0.199/go.mod h1:UegCt4vv9jAlzpgDu31ZJTuRP5T2BTV8w+jZBTsZIzg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.199 h1:tmjUPp0VBKuzjTqt0IQ5PT6iYt0yLmvM2DUzMFF7SGk= diff --git a/tencentcloud/connectivity/client.go b/tencentcloud/connectivity/client.go index fb98252414..0bfd7d71b7 100644 --- a/tencentcloud/connectivity/client.go +++ b/tencentcloud/connectivity/client.go @@ -31,6 +31,7 @@ import ( cynosdb "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb/v20190107" dayu "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu/v20180709" dc "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc/v20180410" + dnspod "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323" es "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es/v20180416" gaap "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap/v20180529" kms "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/kms/v20190118" @@ -98,6 +99,7 @@ type TencentCloudClient struct { ssmConn *ssm.Client apiConn *api.Client clsConn *cls.Client + dnsPodConn *dnspod.Client } // NewClientProfile returns a new ClientProfile @@ -635,3 +637,15 @@ func (me *TencentCloudClient) UseClsClient() *cls.Client { return me.clsConn } + +// UseDnsPodClient return DnsPod client for service +func (me *TencentCloudClient) UseDnsPodClient() *dnspod.Client { + if me.dnsPodConn != nil { + return me.dnsPodConn + } + cpf := me.NewClientProfile(300) + me.dnsPodConn, _ = dnspod.NewClient(me.Credential, me.Region, cpf) + me.dnsPodConn.WithHttpTransport(&LogRoundTripper{}) + + return me.dnsPodConn +} diff --git a/tencentcloud/extension_dnspod.go b/tencentcloud/extension_dnspod.go new file mode 100644 index 0000000000..33eff99e8e --- /dev/null +++ b/tencentcloud/extension_dnspod.go @@ -0,0 +1,21 @@ +package tencentcloud + +const ( + DNSPOD_DOMAIN_MARK_YES = "yes" + DNSPOD_DOMAIN_MARK_NO = "no" +) + +var DNSPOD_DOMAIN_MARK_TYPE = []string{ + DNSPOD_DOMAIN_MARK_YES, + DNSPOD_DOMAIN_MARK_NO, +} + +const ( + DNSPOD_DOMAIN_STATUS_ENABLE = "enable" + DNSPOD_DOMAIN_STATUS_DISABLE = "disable" +) + +var DNSPOD_DOMAIN_STATUS_TYPE = []string{ + DNSPOD_DOMAIN_STATUS_ENABLE, + DNSPOD_DOMAIN_STATUS_DISABLE, +} diff --git a/tencentcloud/provider.go b/tencentcloud/provider.go index de4d8943f7..4ada80a970 100644 --- a/tencentcloud/provider.go +++ b/tencentcloud/provider.go @@ -548,6 +548,10 @@ VPN tencentcloud_vpn_gateway tencentcloud_vpn_gateway_route tencentcloud_vpn_connection + +DNSPOD + Resource + tencentcloud_dnspod_domain_instance */ package tencentcloud @@ -995,6 +999,7 @@ func Provider() terraform.ResourceProvider { "tencentcloud_ssm_secret": resourceTencentCloudSsmSecret(), "tencentcloud_ssm_secret_version": resourceTencentCloudSsmSecretVersion(), "tencentcloud_cdh_instance": resourceTencentCloudCdhInstance(), + "tencentcloud_dnspod_domain_instance": resourceTencentCloudDnspodDomainInstance(), }, ConfigureFunc: providerConfigure, diff --git a/tencentcloud/resource_tc_dnspod_domain_instance.go b/tencentcloud/resource_tc_dnspod_domain_instance.go new file mode 100644 index 0000000000..598d662591 --- /dev/null +++ b/tencentcloud/resource_tc_dnspod_domain_instance.go @@ -0,0 +1,235 @@ +/* +Provide a resource to create a DnsPod Domain instance. + +Example Usage + +```hcl +resource "tencentcloud_dnspod_domain_instance" "foo" { + domain = "hello.com" + remark = "this is demo" +} +``` + +Import + +DnsPod Domain instance can be imported, e.g. + +``` +$ terraform import tencentcloud_dnspod_domain_instance.foo domain +``` +*/ +package tencentcloud + +import ( + "context" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" + "log" + + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/helper/schema" + dnspod "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323" +) + +func resourceTencentCloudDnspodDomainInstance() *schema.Resource { + return &schema.Resource{ + Create: resourceTencentCloudDnspodDomainInstanceCreate, + Read: resourceTencentCloudDnspodDomainInstanceRead, + Update: resourceTencentCloudDnspodDomainInstanceUpdate, + Delete: resourceTencentCloudDnspodDomainInstanceDelete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + + Schema: map[string]*schema.Schema{ + "domain": { + Type: schema.TypeString, + Required: true, + Description: "The Domain.", + }, + "group_id": { + Type: schema.TypeInt, + Optional: true, + ForceNew: true, + Description: "The Group Id of Domain.", + }, + "is_mark": { + Type: schema.TypeString, + Optional: true, + Computed: true, + ForceNew: true, + ValidateFunc: validateAllowedStringValue(DNSPOD_DOMAIN_MARK_TYPE), + Description: "Whether to Mark the Domain.", + }, + "status": { + Type: schema.TypeString, + Optional: true, + ValidateFunc: validateAllowedStringValue(DNSPOD_DOMAIN_STATUS_TYPE), + Description: "The status of Domain.", + }, + "remark": { + Type: schema.TypeString, + Optional: true, + Description: "The remark of Domain.", + }, + //computed + "create_time": { + Type: schema.TypeString, + Computed: true, + Description: "Create time of the domain.", + }, + }, + } +} + +func resourceTencentCloudDnspodDomainInstanceCreate(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_dnspod_domain.create")() + + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + request := dnspod.NewCreateDomainRequest() + var ( + domain string + groupId uint64 + isMark string + response *dnspod.CreateDomainResponse + ) + if v, ok := d.GetOk("domain"); ok { + domain = v.(string) + } + if v, ok := d.GetOk("group_id"); ok { + groupId = v.(uint64) + } + if v, ok := d.GetOk("is_mark"); ok { + isMark = v.(string) + } + + request.Domain = &domain + request.GroupId = &groupId + request.IsMark = &isMark + + result, err := meta.(*TencentCloudClient).apiV3Conn.UseDnsPodClient().CreateDomain(request) + response = result + + if err != nil { + log.Printf("[CRITAL]%s create DnsPod Domain failed, reason:%s\n", logId, err.Error()) + return err + } + d.SetId(*response.Response.DomainInfo.Domain) + + service := DnspodService{client: meta.(*TencentCloudClient).apiV3Conn} + + if v, ok := d.GetOk("status"); ok { + domainId := response.Response.DomainInfo.Domain + status := v.(string) + err := service.ModifyDnsPodDomainStatus(ctx, *domainId, status) + if err != nil { + log.Printf("[CRITAL]%s set DnsPod Domain status failed, reason:%s\n", logId, err.Error()) + return err + } + } + + if v, ok := d.GetOk("remark"); ok { + domainId := response.Response.DomainInfo.Domain + remark := v.(string) + err := service.ModifyDnsPodDomainRemark(ctx, *domainId, remark) + if err != nil { + log.Printf("[CRITAL]%s set DnsPod Domain remark failed, reason:%s\n", logId, err.Error()) + return err + } + } + return resourceTencentCloudDnspodDomainInstanceRead(d, meta) +} + +func resourceTencentCloudDnspodDomainInstanceRead(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_dnspod_domain.read")() + defer inconsistentCheck(d, meta)() + + logId := getLogId(contextNil) + + id := d.Id() + + request := dnspod.NewDescribeDomainRequest() + request.Domain = helper.String(id) + + var response *dnspod.DescribeDomainResponse + + err := resource.Retry(readRetryTimeout, func() *resource.RetryError { + result, e := meta.(*TencentCloudClient).apiV3Conn.UseDnsPodClient().DescribeDomain(request) + if e != nil { + return retryError(e) + } + + response = result + info := response.Response.DomainInfo + + d.SetId(*response.Response.DomainInfo.Domain) + + _ = d.Set("domain", info.Domain) + _ = d.Set("create_time", info.CreatedOn) + _ = d.Set("is_mark", info.IsMark) + + return nil + }) + if err != nil { + log.Printf("[CRITAL]%s read DnsPod Domain failed, reason:%s\n", logId, err.Error()) + return err + } + return nil +} + +func resourceTencentCloudDnspodDomainInstanceUpdate(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_dnspod_domain.update")() + + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + + id := d.Id() + service := DnspodService{client: meta.(*TencentCloudClient).apiV3Conn} + + if d.HasChange("status") { + status := d.Get("status").(string) + err := service.ModifyDnsPodDomainStatus(ctx, id, status) + if err != nil { + log.Printf("[CRITAL]%s modify DnsPod Domain status failed, reason:%s\n", logId, err.Error()) + return err + } + } + + if d.HasChange("remark") { + remark := d.Get("remark").(string) + err := service.ModifyDnsPodDomainRemark(ctx, id, remark) + if err != nil { + log.Printf("[CRITAL]%s modify DnsPod Domain remark failed, reason:%s\n", logId, err.Error()) + return err + } + } + + d.SetPartial("status") + d.SetPartial("remark") + + d.Partial(false) + return resourceTencentCloudDnspodDomainInstanceRead(d, meta) +} + +func resourceTencentCloudDnspodDomainInstanceDelete(d *schema.ResourceData, meta interface{}) error { + defer logElapsed("resource.tencentcloud_dnspod_domain.delete")() + + logId := getLogId(contextNil) + + request := dnspod.NewDeleteDomainRequest() + request.Domain = helper.String(d.Id()) + + err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { + _, e := meta.(*TencentCloudClient).apiV3Conn.UseDnsPodClient().DeleteDomain(request) + if e != nil { + return retryError(e) + } + return nil + }) + if err != nil { + log.Printf("[CRITAL]%s delete DnsPod Domain failed, reason:%s\n", logId, err.Error()) + return err + } + return nil +} diff --git a/tencentcloud/service_tencentcloud_dnspod.go b/tencentcloud/service_tencentcloud_dnspod.go new file mode 100644 index 0000000000..63c8ce5e9b --- /dev/null +++ b/tencentcloud/service_tencentcloud_dnspod.go @@ -0,0 +1,71 @@ +package tencentcloud + +import ( + "context" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper" + "log" + + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" + dnspod "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/connectivity" + "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/ratelimit" +) + +// basic information + +type DnspodService struct { + client *connectivity.TencentCloudClient +} + +// ////////api +func (me *DnspodService) ModifyDnsPodDomainStatus(ctx context.Context, domain string, status string) (errRet error) { + logId := getLogId(ctx) + request := dnspod.NewModifyDomainStatusRequest() + 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()) + } + }() + request.Domain = helper.String(domain) + request.Status = &status + + if err := resource.Retry(readRetryTimeout, func() *resource.RetryError { + ratelimit.Check(request.GetAction()) + _, err := me.client.UseDnsPodClient().ModifyDomainStatus(request) + if err != nil { + return retryError(err, InternalError) + } + return nil + }); err != nil { + log.Printf("[CRITAL]%s modify dnspod domain status failed, reason: %v", logId, err) + return err + } + return +} + +func (me *DnspodService) ModifyDnsPodDomainRemark(ctx context.Context, domain string, remark string) (errRet error) { + logId := getLogId(ctx) + request := dnspod.NewModifyDomainRemarkRequest() + 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()) + } + }() + request.Domain = helper.String(domain) + request.Remark = &remark + + if err := resource.Retry(readRetryTimeout, func() *resource.RetryError { + ratelimit.Check(request.GetAction()) + _, err := me.client.UseDnsPodClient().ModifyDomainRemark(request) + if err != nil { + return retryError(err, InternalError) + } + return nil + }); err != nil { + log.Printf("[CRITAL]%s modify dnspod domain remark failed, reason: %v", logId, err) + return err + } + return +} diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/LICENSE b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/LICENSE new file mode 100644 index 0000000000..efc75a2253 --- /dev/null +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2017-2018 Tencent Ltd. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323/client.go new file mode 100644 index 0000000000..246744fd2b --- /dev/null +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323/client.go @@ -0,0 +1,1626 @@ +// Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package v20210323 + +import ( + "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common" + tchttp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http" + "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile" +) + +const APIVersion = "2021-03-23" + +type Client struct { + common.Client +} + +// Deprecated +func NewClientWithSecretId(secretId, secretKey, region string) (client *Client, err error) { + cpf := profile.NewClientProfile() + client = &Client{} + client.Init(region).WithSecretId(secretId, secretKey).WithProfile(cpf) + return +} + +func NewClient(credential common.CredentialIface, region string, clientProfile *profile.ClientProfile) (client *Client, err error) { + client = &Client{} + client.Init(region). + WithCredential(credential). + WithProfile(clientProfile) + return +} + + +func NewCreateDomainRequest() (request *CreateDomainRequest) { + request = &CreateDomainRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "CreateDomain") + + return +} + +func NewCreateDomainResponse() (response *CreateDomainResponse) { + response = &CreateDomainResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// CreateDomain +// 添加域名 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINEXISTS = "FailedOperation.DomainExists" +// FAILEDOPERATION_DOMAINOWNEDBYOTHERUSER = "FailedOperation.DomainOwnedByOtherUser" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_DOMAINNOTREGED = "InvalidParameter.DomainNotReged" +// INVALIDPARAMETER_EMAILNOTVERIFIED = "InvalidParameter.EmailNotVerified" +// INVALIDPARAMETER_TOOLSDOMAININVALID = "InvalidParameter.ToolsDomainInvalid" +func (c *Client) CreateDomain(request *CreateDomainRequest) (response *CreateDomainResponse, err error) { + if request == nil { + request = NewCreateDomainRequest() + } + response = NewCreateDomainResponse() + err = c.Send(request, response) + return +} + +func NewCreateDomainAliasRequest() (request *CreateDomainAliasRequest) { + request = &CreateDomainAliasRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "CreateDomainAlias") + + return +} + +func NewCreateDomainAliasResponse() (response *CreateDomainAliasResponse) { + response = &CreateDomainAliasResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// CreateDomainAlias +// 创建域名别名 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_DOMAINEXISTS = "FailedOperation.DomainExists" +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// FAILEDOPERATION_DOMAINOWNEDBYOTHERUSER = "FailedOperation.DomainOwnedByOtherUser" +// FAILEDOPERATION_NOTREALNAMEDUSER = "FailedOperation.NotRealNamedUser" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_DOMAINALIASEXISTS = "InvalidParameter.DomainAliasExists" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININEFFECTORINVALIDATED = "InvalidParameter.DomainInEffectOrInvalidated" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// LIMITEXCEEDED_DOMAINALIASCOUNTEXCEEDED = "LimitExceeded.DomainAliasCountExceeded" +// LIMITEXCEEDED_DOMAINALIASNUMBERLIMIT = "LimitExceeded.DomainAliasNumberLimit" +// MISSINGPARAMETER = "MissingParameter" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +// OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) CreateDomainAlias(request *CreateDomainAliasRequest) (response *CreateDomainAliasResponse, err error) { + if request == nil { + request = NewCreateDomainAliasRequest() + } + response = NewCreateDomainAliasResponse() + err = c.Send(request, response) + return +} + +func NewCreateDomainBatchRequest() (request *CreateDomainBatchRequest) { + request = &CreateDomainBatchRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "CreateDomainBatch") + + return +} + +func NewCreateDomainBatchResponse() (response *CreateDomainBatchResponse) { + response = &CreateDomainBatchResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// CreateDomainBatch +// 批量添加域名 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// INVALIDPARAMETER_BATCHDOMAINCREATEACTIONERROR = "InvalidParameter.BatchDomainCreateActionError" +// INVALIDPARAMETER_BATCHTASKCOUNTLIMIT = "InvalidParameter.BatchTaskCountLimit" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_DOMAINSEMPTY = "InvalidParameter.DomainsEmpty" +// INVALIDPARAMETER_JOBGREATERTHANLIMIT = "InvalidParameter.JobGreaterThanLimit" +// INVALIDPARAMETER_RECORDVALUEINVALID = "InvalidParameter.RecordValueInvalid" +// INVALIDPARAMETER_RECORDVALUELENGTHINVALID = "InvalidParameter.RecordValueLengthInvalid" +// INVALIDPARAMETER_TOOMANYINVALIDDOMAINS = "InvalidParameter.TooManyInvalidDomains" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// OPERATIONDENIED_IPINBLACKLISTNOTALLOWED = "OperationDenied.IPInBlacklistNotAllowed" +// REQUESTLIMITEXCEEDED_BATCHTASKLIMIT = "RequestLimitExceeded.BatchTaskLimit" +// REQUESTLIMITEXCEEDED_CREATEDOMAINLIMIT = "RequestLimitExceeded.CreateDomainLimit" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +func (c *Client) CreateDomainBatch(request *CreateDomainBatchRequest) (response *CreateDomainBatchResponse, err error) { + if request == nil { + request = NewCreateDomainBatchRequest() + } + response = NewCreateDomainBatchResponse() + err = c.Send(request, response) + return +} + +func NewCreateDomainGroupRequest() (request *CreateDomainGroupRequest) { + request = &CreateDomainGroupRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "CreateDomainGroup") + + return +} + +func NewCreateDomainGroupResponse() (response *CreateDomainGroupResponse) { + response = &CreateDomainGroupResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// CreateDomainGroup +// 创建域名分组 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_NOTREALNAMEDUSER = "FailedOperation.NotRealNamedUser" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_GROUPNAMEEXISTS = "InvalidParameter.GroupNameExists" +// INVALIDPARAMETER_GROUPNAMEINVALID = "InvalidParameter.GroupNameInvalid" +// LIMITEXCEEDED_GROUPNUMBERLIMIT = "LimitExceeded.GroupNumberLimit" +// MISSINGPARAMETER = "MissingParameter" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) CreateDomainGroup(request *CreateDomainGroupRequest) (response *CreateDomainGroupResponse, err error) { + if request == nil { + request = NewCreateDomainGroupRequest() + } + response = NewCreateDomainGroupResponse() + err = c.Send(request, response) + return +} + +func NewCreateRecordRequest() (request *CreateRecordRequest) { + request = &CreateRecordRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "CreateRecord") + + return +} + +func NewCreateRecordResponse() (response *CreateRecordResponse) { + response = &CreateRecordResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// CreateRecord +// 添加记录 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// FAILEDOPERATION_LOGINAREANOTALLOWED = "FailedOperation.LoginAreaNotAllowed" +// FAILEDOPERATION_LOGINFAILED = "FailedOperation.LoginFailed" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INVALIDPARAMETER_ACCOUNTISBANNED = "InvalidParameter.AccountIsBanned" +// INVALIDPARAMETER_CUSTOMMESSAGE = "InvalidParameter.CustomMessage" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_DOMAINNOTALLOWEDMODIFYRECORDS = "InvalidParameter.DomainNotAllowedModifyRecords" +// INVALIDPARAMETER_DOMAINNOTBEIAN = "InvalidParameter.DomainNotBeian" +// INVALIDPARAMETER_DOMAINRECORDEXIST = "InvalidParameter.DomainRecordExist" +// INVALIDPARAMETER_EMAILNOTVERIFIED = "InvalidParameter.EmailNotVerified" +// INVALIDPARAMETER_INVALIDWEIGHT = "InvalidParameter.InvalidWeight" +// INVALIDPARAMETER_LOGINTOKENIDERROR = "InvalidParameter.LoginTokenIdError" +// INVALIDPARAMETER_LOGINTOKENNOTEXISTS = "InvalidParameter.LoginTokenNotExists" +// INVALIDPARAMETER_LOGINTOKENVALIDATEFAILED = "InvalidParameter.LoginTokenValidateFailed" +// INVALIDPARAMETER_MOBILENOTVERIFIED = "InvalidParameter.MobileNotVerified" +// INVALIDPARAMETER_MXINVALID = "InvalidParameter.MxInvalid" +// INVALIDPARAMETER_RECORDLINEINVALID = "InvalidParameter.RecordLineInvalid" +// INVALIDPARAMETER_RECORDTYPEINVALID = "InvalidParameter.RecordTypeInvalid" +// INVALIDPARAMETER_RECORDVALUEINVALID = "InvalidParameter.RecordValueInvalid" +// INVALIDPARAMETER_RECORDVALUELENGTHINVALID = "InvalidParameter.RecordValueLengthInvalid" +// INVALIDPARAMETER_REQUESTIPLIMITED = "InvalidParameter.RequestIpLimited" +// INVALIDPARAMETER_SUBDOMAININVALID = "InvalidParameter.SubdomainInvalid" +// INVALIDPARAMETER_UNREALNAMEUSER = "InvalidParameter.UnrealNameUser" +// INVALIDPARAMETER_URLVALUEILLEGAL = "InvalidParameter.UrlValueIllegal" +// INVALIDPARAMETER_USERNOTEXISTS = "InvalidParameter.UserNotExists" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// INVALIDPARAMETERVALUE_USERIDINVALID = "InvalidParameterValue.UserIdInvalid" +// LIMITEXCEEDED_AAAACOUNTLIMIT = "LimitExceeded.AAAACountLimit" +// LIMITEXCEEDED_ATNSRECORDLIMIT = "LimitExceeded.AtNsRecordLimit" +// LIMITEXCEEDED_FAILEDLOGINLIMITEXCEEDED = "LimitExceeded.FailedLoginLimitExceeded" +// LIMITEXCEEDED_HIDDENURLEXCEEDED = "LimitExceeded.HiddenUrlExceeded" +// LIMITEXCEEDED_NSCOUNTLIMIT = "LimitExceeded.NsCountLimit" +// LIMITEXCEEDED_RECORDTTLLIMIT = "LimitExceeded.RecordTtlLimit" +// LIMITEXCEEDED_SRVCOUNTLIMIT = "LimitExceeded.SrvCountLimit" +// LIMITEXCEEDED_SUBDOMAINLEVELLIMIT = "LimitExceeded.SubdomainLevelLimit" +// LIMITEXCEEDED_SUBDOMAINROLLLIMIT = "LimitExceeded.SubdomainRollLimit" +// LIMITEXCEEDED_SUBDOMAINWCARDLIMIT = "LimitExceeded.SubdomainWcardLimit" +// LIMITEXCEEDED_URLCOUNTLIMIT = "LimitExceeded.UrlCountLimit" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +// OPERATIONDENIED_IPINBLACKLISTNOTALLOWED = "OperationDenied.IPInBlacklistNotAllowed" +// OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" +// OPERATIONDENIED_NOTADMIN = "OperationDenied.NotAdmin" +// OPERATIONDENIED_NOTAGENT = "OperationDenied.NotAgent" +// OPERATIONDENIED_NOTMANAGEDUSER = "OperationDenied.NotManagedUser" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +func (c *Client) CreateRecord(request *CreateRecordRequest) (response *CreateRecordResponse, err error) { + if request == nil { + request = NewCreateRecordRequest() + } + response = NewCreateRecordResponse() + err = c.Send(request, response) + return +} + +func NewCreateRecordBatchRequest() (request *CreateRecordBatchRequest) { + request = &CreateRecordBatchRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "CreateRecordBatch") + + return +} + +func NewCreateRecordBatchResponse() (response *CreateRecordBatchResponse) { + response = &CreateRecordBatchResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// CreateRecordBatch +// 批量添加记录 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// INVALIDPARAMETER_BATCHRECORDCREATEACTIONERROR = "InvalidParameter.BatchRecordCreateActionError" +// INVALIDPARAMETER_BATCHTASKCOUNTLIMIT = "InvalidParameter.BatchTaskCountLimit" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_DOMAINSEMPTY = "InvalidParameter.DomainsEmpty" +// INVALIDPARAMETER_JOBGREATERTHANLIMIT = "InvalidParameter.JobGreaterThanLimit" +// INVALIDPARAMETER_PARAMSILLEGAL = "InvalidParameter.ParamsIllegal" +// INVALIDPARAMETER_RECORDVALUEINVALID = "InvalidParameter.RecordValueInvalid" +// INVALIDPARAMETER_RECORDVALUELENGTHINVALID = "InvalidParameter.RecordValueLengthInvalid" +// INVALIDPARAMETER_RECORDSEMPTY = "InvalidParameter.RecordsEmpty" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// OPERATIONDENIED_IPINBLACKLISTNOTALLOWED = "OperationDenied.IPInBlacklistNotAllowed" +// REQUESTLIMITEXCEEDED_BATCHTASKLIMIT = "RequestLimitExceeded.BatchTaskLimit" +// REQUESTLIMITEXCEEDED_CREATEDOMAINLIMIT = "RequestLimitExceeded.CreateDomainLimit" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +func (c *Client) CreateRecordBatch(request *CreateRecordBatchRequest) (response *CreateRecordBatchResponse, err error) { + if request == nil { + request = NewCreateRecordBatchRequest() + } + response = NewCreateRecordBatchResponse() + err = c.Send(request, response) + return +} + +func NewDeleteDomainRequest() (request *DeleteDomainRequest) { + request = &DeleteDomainRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "DeleteDomain") + + return +} + +func NewDeleteDomainResponse() (response *DeleteDomainResponse) { + response = &DeleteDomainResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DeleteDomain +// 删除域名 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISKEYDOMAIN = "FailedOperation.DomainIsKeyDomain" +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// FAILEDOPERATION_DOMAINISVIP = "FailedOperation.DomainIsVip" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININEFFECTORINVALIDATED = "InvalidParameter.DomainInEffectOrInvalidated" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +func (c *Client) DeleteDomain(request *DeleteDomainRequest) (response *DeleteDomainResponse, err error) { + if request == nil { + request = NewDeleteDomainRequest() + } + response = NewDeleteDomainResponse() + err = c.Send(request, response) + return +} + +func NewDeleteDomainAliasRequest() (request *DeleteDomainAliasRequest) { + request = &DeleteDomainAliasRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "DeleteDomainAlias") + + return +} + +func NewDeleteDomainAliasResponse() (response *DeleteDomainAliasResponse) { + response = &DeleteDomainAliasResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DeleteDomainAlias +// 删除域名别名 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// FAILEDOPERATION_NOTREALNAMEDUSER = "FailedOperation.NotRealNamedUser" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_DOMAINALIASIDINVALID = "InvalidParameter.DomainAliasIdInvalid" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININEFFECTORINVALIDATED = "InvalidParameter.DomainInEffectOrInvalidated" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// MISSINGPARAMETER = "MissingParameter" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +// OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) DeleteDomainAlias(request *DeleteDomainAliasRequest) (response *DeleteDomainAliasResponse, err error) { + if request == nil { + request = NewDeleteDomainAliasRequest() + } + response = NewDeleteDomainAliasResponse() + err = c.Send(request, response) + return +} + +func NewDeleteRecordRequest() (request *DeleteRecordRequest) { + request = &DeleteRecordRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "DeleteRecord") + + return +} + +func NewDeleteRecordResponse() (response *DeleteRecordResponse) { + response = &DeleteRecordResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DeleteRecord +// 删除记录 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// FAILEDOPERATION_LOGINAREANOTALLOWED = "FailedOperation.LoginAreaNotAllowed" +// FAILEDOPERATION_LOGINFAILED = "FailedOperation.LoginFailed" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_DOMAINNOTALLOWEDMODIFYRECORDS = "InvalidParameter.DomainNotAllowedModifyRecords" +// INVALIDPARAMETER_LOGINTOKENIDERROR = "InvalidParameter.LoginTokenIdError" +// INVALIDPARAMETER_LOGINTOKENNOTEXISTS = "InvalidParameter.LoginTokenNotExists" +// INVALIDPARAMETER_LOGINTOKENVALIDATEFAILED = "InvalidParameter.LoginTokenValidateFailed" +// INVALIDPARAMETER_RECORDIDINVALID = "InvalidParameter.RecordIdInvalid" +// INVALIDPARAMETER_REQUESTIPLIMITED = "InvalidParameter.RequestIpLimited" +// INVALIDPARAMETER_UNREALNAMEUSER = "InvalidParameter.UnrealNameUser" +// INVALIDPARAMETER_USERNOTEXISTS = "InvalidParameter.UserNotExists" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// INVALIDPARAMETERVALUE_USERIDINVALID = "InvalidParameterValue.UserIdInvalid" +// LIMITEXCEEDED_FAILEDLOGINLIMITEXCEEDED = "LimitExceeded.FailedLoginLimitExceeded" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +// OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" +// OPERATIONDENIED_NOTADMIN = "OperationDenied.NotAdmin" +// OPERATIONDENIED_NOTAGENT = "OperationDenied.NotAgent" +// OPERATIONDENIED_NOTMANAGEDUSER = "OperationDenied.NotManagedUser" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +func (c *Client) DeleteRecord(request *DeleteRecordRequest) (response *DeleteRecordResponse, err error) { + if request == nil { + request = NewDeleteRecordRequest() + } + response = NewDeleteRecordResponse() + err = c.Send(request, response) + return +} + +func NewDeleteShareDomainRequest() (request *DeleteShareDomainRequest) { + request = &DeleteShareDomainRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "DeleteShareDomain") + + return +} + +func NewDeleteShareDomainResponse() (response *DeleteShareDomainResponse) { + response = &DeleteShareDomainResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DeleteShareDomain +// 删除域名共享 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_EMAILINVALID = "InvalidParameter.EmailInvalid" +// INVALIDPARAMETER_EMAILORQQINVALID = "InvalidParameter.EmailOrQqInvalid" +// INVALIDPARAMETER_USERNOTEXISTS = "InvalidParameter.UserNotExists" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +func (c *Client) DeleteShareDomain(request *DeleteShareDomainRequest) (response *DeleteShareDomainResponse, err error) { + if request == nil { + request = NewDeleteShareDomainRequest() + } + response = NewDeleteShareDomainResponse() + err = c.Send(request, response) + return +} + +func NewDescribeBatchTaskRequest() (request *DescribeBatchTaskRequest) { + request = &DescribeBatchTaskRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "DescribeBatchTask") + + return +} + +func NewDescribeBatchTaskResponse() (response *DescribeBatchTaskResponse) { + response = &DescribeBatchTaskResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeBatchTask +// 获取任务详情 +// +// 可能返回的错误码: +// FAILEDOPERATION_NOTBATCHTASKOWNER = "FailedOperation.NotBatchTaskOwner" +// INVALIDPARAMETER_BATCHTASKNOTEXIST = "InvalidParameter.BatchTaskNotExist" +// INVALIDPARAMETER_PARAMSILLEGAL = "InvalidParameter.ParamsIllegal" +func (c *Client) DescribeBatchTask(request *DescribeBatchTaskRequest) (response *DescribeBatchTaskResponse, err error) { + if request == nil { + request = NewDescribeBatchTaskRequest() + } + response = NewDescribeBatchTaskResponse() + err = c.Send(request, response) + return +} + +func NewDescribeDomainRequest() (request *DescribeDomainRequest) { + request = &DescribeDomainRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "DescribeDomain") + + return +} + +func NewDescribeDomainResponse() (response *DescribeDomainResponse) { + response = &DescribeDomainResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeDomain +// 获取域名信息 +// +// 可能返回的错误码: +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +// OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" +func (c *Client) DescribeDomain(request *DescribeDomainRequest) (response *DescribeDomainResponse, err error) { + if request == nil { + request = NewDescribeDomainRequest() + } + response = NewDescribeDomainResponse() + err = c.Send(request, response) + return +} + +func NewDescribeDomainListRequest() (request *DescribeDomainListRequest) { + request = &DescribeDomainListRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "DescribeDomainList") + + return +} + +func NewDescribeDomainListResponse() (response *DescribeDomainListResponse) { + response = &DescribeDomainListResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeDomainList +// 获取域名列表 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_NOTREALNAMEDUSER = "FailedOperation.NotRealNamedUser" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_GROUPIDINVALID = "InvalidParameter.GroupIdInvalid" +// INVALIDPARAMETER_OFFSETINVALID = "InvalidParameter.OffsetInvalid" +// INVALIDPARAMETER_OPERATEFAILED = "InvalidParameter.OperateFailed" +// INVALIDPARAMETER_RESULTMORETHAN500 = "InvalidParameter.ResultMoreThan500" +// INVALIDPARAMETERVALUE_LIMITINVALID = "InvalidParameterValue.LimitInvalid" +// OPERATIONDENIED_ACCESSDENIED = "OperationDenied.AccessDenied" +// REQUESTLIMITEXCEEDED = "RequestLimitExceeded" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +func (c *Client) DescribeDomainList(request *DescribeDomainListRequest) (response *DescribeDomainListResponse, err error) { + if request == nil { + request = NewDescribeDomainListRequest() + } + response = NewDescribeDomainListResponse() + err = c.Send(request, response) + return +} + +func NewDescribeDomainLogListRequest() (request *DescribeDomainLogListRequest) { + request = &DescribeDomainLogListRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "DescribeDomainLogList") + + return +} + +func NewDescribeDomainLogListResponse() (response *DescribeDomainLogListResponse) { + response = &DescribeDomainLogListResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeDomainLogList +// 获取域名日志 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +// OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" +func (c *Client) DescribeDomainLogList(request *DescribeDomainLogListRequest) (response *DescribeDomainLogListResponse, err error) { + if request == nil { + request = NewDescribeDomainLogListRequest() + } + response = NewDescribeDomainLogListResponse() + err = c.Send(request, response) + return +} + +func NewDescribeDomainPurviewRequest() (request *DescribeDomainPurviewRequest) { + request = &DescribeDomainPurviewRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "DescribeDomainPurview") + + return +} + +func NewDescribeDomainPurviewResponse() (response *DescribeDomainPurviewResponse) { + response = &DescribeDomainPurviewResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeDomainPurview +// 获取域名权限 +// +// 可能返回的错误码: +// FAILEDOPERATION_LOGINAREANOTALLOWED = "FailedOperation.LoginAreaNotAllowed" +// FAILEDOPERATION_LOGINFAILED = "FailedOperation.LoginFailed" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_LOGINTOKENIDERROR = "InvalidParameter.LoginTokenIdError" +// INVALIDPARAMETER_LOGINTOKENNOTEXISTS = "InvalidParameter.LoginTokenNotExists" +// INVALIDPARAMETER_LOGINTOKENVALIDATEFAILED = "InvalidParameter.LoginTokenValidateFailed" +// INVALIDPARAMETER_REQUESTIPLIMITED = "InvalidParameter.RequestIpLimited" +// INVALIDPARAMETER_UNREALNAMEUSER = "InvalidParameter.UnrealNameUser" +// INVALIDPARAMETER_USERNOTEXISTS = "InvalidParameter.UserNotExists" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// INVALIDPARAMETERVALUE_USERIDINVALID = "InvalidParameterValue.UserIdInvalid" +// LIMITEXCEEDED_FAILEDLOGINLIMITEXCEEDED = "LimitExceeded.FailedLoginLimitExceeded" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +// OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" +// OPERATIONDENIED_NOTAGENT = "OperationDenied.NotAgent" +// OPERATIONDENIED_NOTMANAGEDUSER = "OperationDenied.NotManagedUser" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +func (c *Client) DescribeDomainPurview(request *DescribeDomainPurviewRequest) (response *DescribeDomainPurviewResponse, err error) { + if request == nil { + request = NewDescribeDomainPurviewRequest() + } + response = NewDescribeDomainPurviewResponse() + err = c.Send(request, response) + return +} + +func NewDescribeDomainShareInfoRequest() (request *DescribeDomainShareInfoRequest) { + request = &DescribeDomainShareInfoRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "DescribeDomainShareInfo") + + return +} + +func NewDescribeDomainShareInfoResponse() (response *DescribeDomainShareInfoResponse) { + response = &DescribeDomainShareInfoResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeDomainShareInfo +// 获取域名共享信息 +// +// 可能返回的错误码: +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +func (c *Client) DescribeDomainShareInfo(request *DescribeDomainShareInfoRequest) (response *DescribeDomainShareInfoResponse, err error) { + if request == nil { + request = NewDescribeDomainShareInfoRequest() + } + response = NewDescribeDomainShareInfoResponse() + err = c.Send(request, response) + return +} + +func NewDescribeRecordRequest() (request *DescribeRecordRequest) { + request = &DescribeRecordRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "DescribeRecord") + + return +} + +func NewDescribeRecordResponse() (response *DescribeRecordResponse) { + response = &DescribeRecordResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeRecord +// 获取记录信息 +// +// 可能返回的错误码: +// FAILEDOPERATION_LOGINAREANOTALLOWED = "FailedOperation.LoginAreaNotAllowed" +// FAILEDOPERATION_LOGINFAILED = "FailedOperation.LoginFailed" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_LOGINTOKENIDERROR = "InvalidParameter.LoginTokenIdError" +// INVALIDPARAMETER_LOGINTOKENNOTEXISTS = "InvalidParameter.LoginTokenNotExists" +// INVALIDPARAMETER_LOGINTOKENVALIDATEFAILED = "InvalidParameter.LoginTokenValidateFailed" +// INVALIDPARAMETER_RECORDIDINVALID = "InvalidParameter.RecordIdInvalid" +// INVALIDPARAMETER_REQUESTIPLIMITED = "InvalidParameter.RequestIpLimited" +// INVALIDPARAMETER_UNREALNAMEUSER = "InvalidParameter.UnrealNameUser" +// INVALIDPARAMETER_USERNOTEXISTS = "InvalidParameter.UserNotExists" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// INVALIDPARAMETERVALUE_USERIDINVALID = "InvalidParameterValue.UserIdInvalid" +// LIMITEXCEEDED_FAILEDLOGINLIMITEXCEEDED = "LimitExceeded.FailedLoginLimitExceeded" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +// OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" +// OPERATIONDENIED_NOTADMIN = "OperationDenied.NotAdmin" +// OPERATIONDENIED_NOTAGENT = "OperationDenied.NotAgent" +// OPERATIONDENIED_NOTMANAGEDUSER = "OperationDenied.NotManagedUser" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +func (c *Client) DescribeRecord(request *DescribeRecordRequest) (response *DescribeRecordResponse, err error) { + if request == nil { + request = NewDescribeRecordRequest() + } + response = NewDescribeRecordResponse() + err = c.Send(request, response) + return +} + +func NewDescribeRecordLineListRequest() (request *DescribeRecordLineListRequest) { + request = &DescribeRecordLineListRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "DescribeRecordLineList") + + return +} + +func NewDescribeRecordLineListResponse() (response *DescribeRecordLineListResponse) { + response = &DescribeRecordLineListResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeRecordLineList +// 获取等级允许的线路 +// +// 可能返回的错误码: +// FAILEDOPERATION_LOGINAREANOTALLOWED = "FailedOperation.LoginAreaNotAllowed" +// FAILEDOPERATION_LOGINFAILED = "FailedOperation.LoginFailed" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_LOGINTOKENIDERROR = "InvalidParameter.LoginTokenIdError" +// INVALIDPARAMETER_LOGINTOKENNOTEXISTS = "InvalidParameter.LoginTokenNotExists" +// INVALIDPARAMETER_LOGINTOKENVALIDATEFAILED = "InvalidParameter.LoginTokenValidateFailed" +// INVALIDPARAMETER_REQUESTIPLIMITED = "InvalidParameter.RequestIpLimited" +// INVALIDPARAMETER_UNREALNAMEUSER = "InvalidParameter.UnrealNameUser" +// INVALIDPARAMETER_USERNOTEXISTS = "InvalidParameter.UserNotExists" +// INVALIDPARAMETERVALUE_DOMAINGRADEINVALID = "InvalidParameterValue.DomainGradeInvalid" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// INVALIDPARAMETERVALUE_USERIDINVALID = "InvalidParameterValue.UserIdInvalid" +// LIMITEXCEEDED_FAILEDLOGINLIMITEXCEEDED = "LimitExceeded.FailedLoginLimitExceeded" +// OPERATIONDENIED_NOTAGENT = "OperationDenied.NotAgent" +// OPERATIONDENIED_NOTMANAGEDUSER = "OperationDenied.NotManagedUser" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +func (c *Client) DescribeRecordLineList(request *DescribeRecordLineListRequest) (response *DescribeRecordLineListResponse, err error) { + if request == nil { + request = NewDescribeRecordLineListRequest() + } + response = NewDescribeRecordLineListResponse() + err = c.Send(request, response) + return +} + +func NewDescribeRecordListRequest() (request *DescribeRecordListRequest) { + request = &DescribeRecordListRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "DescribeRecordList") + + return +} + +func NewDescribeRecordListResponse() (response *DescribeRecordListResponse) { + response = &DescribeRecordListResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeRecordList +// 获取某个域名下的解析记录 +// +// 可能返回的错误码: +// AUTHFAILURE = "AuthFailure" +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_NOTDOMAINOWNER = "FailedOperation.NotDomainOwner" +// FAILEDOPERATION_NOTREALNAMEDUSER = "FailedOperation.NotRealNamedUser" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_OPERATEFAILED = "InvalidParameter.OperateFailed" +// INVALIDPARAMETER_PARAMINVALID = "InvalidParameter.ParamInvalid" +// INVALIDPARAMETER_RECORDLINEINVALID = "InvalidParameter.RecordLineInvalid" +// INVALIDPARAMETER_RECORDTYPEINVALID = "InvalidParameter.RecordTypeInvalid" +// INVALIDPARAMETER_RESULTMORETHAN500 = "InvalidParameter.ResultMoreThan500" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// INVALIDPARAMETERVALUE_LIMITINVALID = "InvalidParameterValue.LimitInvalid" +// OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" +// REQUESTLIMITEXCEEDED = "RequestLimitExceeded" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +// RESOURCENOTFOUND_NODATAOFRECORD = "ResourceNotFound.NoDataOfRecord" +// UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +func (c *Client) DescribeRecordList(request *DescribeRecordListRequest) (response *DescribeRecordListResponse, err error) { + if request == nil { + request = NewDescribeRecordListRequest() + } + response = NewDescribeRecordListResponse() + err = c.Send(request, response) + return +} + +func NewDescribeRecordTypeRequest() (request *DescribeRecordTypeRequest) { + request = &DescribeRecordTypeRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "DescribeRecordType") + + return +} + +func NewDescribeRecordTypeResponse() (response *DescribeRecordTypeResponse) { + response = &DescribeRecordTypeResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeRecordType +// 获取等级允许的记录类型 +// +// 可能返回的错误码: +// FAILEDOPERATION_LOGINAREANOTALLOWED = "FailedOperation.LoginAreaNotAllowed" +// FAILEDOPERATION_LOGINFAILED = "FailedOperation.LoginFailed" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +// INVALIDPARAMETER_LOGINTOKENIDERROR = "InvalidParameter.LoginTokenIdError" +// INVALIDPARAMETER_LOGINTOKENNOTEXISTS = "InvalidParameter.LoginTokenNotExists" +// INVALIDPARAMETER_LOGINTOKENVALIDATEFAILED = "InvalidParameter.LoginTokenValidateFailed" +// INVALIDPARAMETER_REQUESTIPLIMITED = "InvalidParameter.RequestIpLimited" +// INVALIDPARAMETER_UNREALNAMEUSER = "InvalidParameter.UnrealNameUser" +// INVALIDPARAMETER_USERNOTEXISTS = "InvalidParameter.UserNotExists" +// INVALIDPARAMETERVALUE_DOMAINGRADEINVALID = "InvalidParameterValue.DomainGradeInvalid" +// INVALIDPARAMETERVALUE_USERIDINVALID = "InvalidParameterValue.UserIdInvalid" +// LIMITEXCEEDED_FAILEDLOGINLIMITEXCEEDED = "LimitExceeded.FailedLoginLimitExceeded" +// MISSINGPARAMETER = "MissingParameter" +// OPERATIONDENIED_NOTAGENT = "OperationDenied.NotAgent" +// OPERATIONDENIED_NOTMANAGEDUSER = "OperationDenied.NotManagedUser" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) DescribeRecordType(request *DescribeRecordTypeRequest) (response *DescribeRecordTypeResponse, err error) { + if request == nil { + request = NewDescribeRecordTypeRequest() + } + response = NewDescribeRecordTypeResponse() + err = c.Send(request, response) + return +} + +func NewDescribeUserDetailRequest() (request *DescribeUserDetailRequest) { + request = &DescribeUserDetailRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "DescribeUserDetail") + + return +} + +func NewDescribeUserDetailResponse() (response *DescribeUserDetailResponse) { + response = &DescribeUserDetailResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// DescribeUserDetail +// 获取帐户信息 +// +// 可能返回的错误码: +// FAILEDOPERATION = "FailedOperation" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INTERNALERROR = "InternalError" +// INVALIDPARAMETER = "InvalidParameter" +// MISSINGPARAMETER = "MissingParameter" +// REQUESTLIMITEXCEEDED = "RequestLimitExceeded" +// RESOURCENOTFOUND = "ResourceNotFound" +func (c *Client) DescribeUserDetail(request *DescribeUserDetailRequest) (response *DescribeUserDetailResponse, err error) { + if request == nil { + request = NewDescribeUserDetailRequest() + } + response = NewDescribeUserDetailResponse() + err = c.Send(request, response) + return +} + +func NewModifyDomainLockRequest() (request *ModifyDomainLockRequest) { + request = &ModifyDomainLockRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "ModifyDomainLock") + + return +} + +func NewModifyDomainLockResponse() (response *ModifyDomainLockResponse) { + response = &ModifyDomainLockResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// ModifyDomainLock +// 锁定域名 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// FAILEDOPERATION_LOGINAREANOTALLOWED = "FailedOperation.LoginAreaNotAllowed" +// FAILEDOPERATION_LOGINFAILED = "FailedOperation.LoginFailed" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_DOMAINNOTALLOWEDLOCK = "InvalidParameter.DomainNotAllowedLock" +// INVALIDPARAMETER_LOCKDAYSINVALID = "InvalidParameter.LockDaysInvalid" +// INVALIDPARAMETER_LOGINTOKENIDERROR = "InvalidParameter.LoginTokenIdError" +// INVALIDPARAMETER_LOGINTOKENNOTEXISTS = "InvalidParameter.LoginTokenNotExists" +// INVALIDPARAMETER_LOGINTOKENVALIDATEFAILED = "InvalidParameter.LoginTokenValidateFailed" +// INVALIDPARAMETER_REQUESTIPLIMITED = "InvalidParameter.RequestIpLimited" +// INVALIDPARAMETER_UNREALNAMEUSER = "InvalidParameter.UnrealNameUser" +// INVALIDPARAMETER_USERNOTEXISTS = "InvalidParameter.UserNotExists" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// INVALIDPARAMETERVALUE_USERIDINVALID = "InvalidParameterValue.UserIdInvalid" +// LIMITEXCEEDED_FAILEDLOGINLIMITEXCEEDED = "LimitExceeded.FailedLoginLimitExceeded" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +// OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" +// OPERATIONDENIED_NOTAGENT = "OperationDenied.NotAgent" +// OPERATIONDENIED_NOTMANAGEDUSER = "OperationDenied.NotManagedUser" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +func (c *Client) ModifyDomainLock(request *ModifyDomainLockRequest) (response *ModifyDomainLockResponse, err error) { + if request == nil { + request = NewModifyDomainLockRequest() + } + response = NewModifyDomainLockResponse() + err = c.Send(request, response) + return +} + +func NewModifyDomainOwnerRequest() (request *ModifyDomainOwnerRequest) { + request = &ModifyDomainOwnerRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "ModifyDomainOwner") + + return +} + +func NewModifyDomainOwnerResponse() (response *ModifyDomainOwnerResponse) { + response = &ModifyDomainOwnerResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// ModifyDomainOwner +// 域名过户 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// FAILEDOPERATION_DOMAINISVIP = "FailedOperation.DomainIsVip" +// FAILEDOPERATION_TRANSFERTOENTERPRISEDENIED = "FailedOperation.TransferToEnterpriseDenied" +// FAILEDOPERATION_TRANSFERTOPERSONDENIED = "FailedOperation.TransferToPersonDenied" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_EMAILINVALID = "InvalidParameter.EmailInvalid" +// INVALIDPARAMETER_EMAILORQQINVALID = "InvalidParameter.EmailOrQqInvalid" +// INVALIDPARAMETER_EMAILSAME = "InvalidParameter.EmailSame" +// INVALIDPARAMETER_OTHERACCOUNTUNREALNAME = "InvalidParameter.OtherAccountUnrealName" +// INVALIDPARAMETER_QCLOUDUININVALID = "InvalidParameter.QcloudUinInvalid" +// INVALIDPARAMETER_USERNOTEXISTS = "InvalidParameter.UserNotExists" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +func (c *Client) ModifyDomainOwner(request *ModifyDomainOwnerRequest) (response *ModifyDomainOwnerResponse, err error) { + if request == nil { + request = NewModifyDomainOwnerRequest() + } + response = NewModifyDomainOwnerResponse() + err = c.Send(request, response) + return +} + +func NewModifyDomainRemarkRequest() (request *ModifyDomainRemarkRequest) { + request = &ModifyDomainRemarkRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "ModifyDomainRemark") + + return +} + +func NewModifyDomainRemarkResponse() (response *ModifyDomainRemarkResponse) { + response = &ModifyDomainRemarkResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// ModifyDomainRemark +// 设置域名备注 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// FAILEDOPERATION_LOGINAREANOTALLOWED = "FailedOperation.LoginAreaNotAllowed" +// FAILEDOPERATION_LOGINFAILED = "FailedOperation.LoginFailed" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_LOGINTOKENIDERROR = "InvalidParameter.LoginTokenIdError" +// INVALIDPARAMETER_LOGINTOKENNOTEXISTS = "InvalidParameter.LoginTokenNotExists" +// INVALIDPARAMETER_LOGINTOKENVALIDATEFAILED = "InvalidParameter.LoginTokenValidateFailed" +// INVALIDPARAMETER_REMARKTOOLONG = "InvalidParameter.RemarkTooLong" +// INVALIDPARAMETER_REQUESTIPLIMITED = "InvalidParameter.RequestIpLimited" +// INVALIDPARAMETER_UNREALNAMEUSER = "InvalidParameter.UnrealNameUser" +// INVALIDPARAMETER_USERNOTEXISTS = "InvalidParameter.UserNotExists" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// INVALIDPARAMETERVALUE_USERIDINVALID = "InvalidParameterValue.UserIdInvalid" +// LIMITEXCEEDED_FAILEDLOGINLIMITEXCEEDED = "LimitExceeded.FailedLoginLimitExceeded" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +// OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" +// OPERATIONDENIED_NOTAGENT = "OperationDenied.NotAgent" +// OPERATIONDENIED_NOTMANAGEDUSER = "OperationDenied.NotManagedUser" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +func (c *Client) ModifyDomainRemark(request *ModifyDomainRemarkRequest) (response *ModifyDomainRemarkResponse, err error) { + if request == nil { + request = NewModifyDomainRemarkRequest() + } + response = NewModifyDomainRemarkResponse() + err = c.Send(request, response) + return +} + +func NewModifyDomainStatusRequest() (request *ModifyDomainStatusRequest) { + request = &ModifyDomainStatusRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "ModifyDomainStatus") + + return +} + +func NewModifyDomainStatusResponse() (response *ModifyDomainStatusResponse) { + response = &ModifyDomainStatusResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// ModifyDomainStatus +// 修改域名状态 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_TOOLSDOMAININVALID = "InvalidParameter.ToolsDomainInvalid" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +func (c *Client) ModifyDomainStatus(request *ModifyDomainStatusRequest) (response *ModifyDomainStatusResponse, err error) { + if request == nil { + request = NewModifyDomainStatusRequest() + } + response = NewModifyDomainStatusResponse() + err = c.Send(request, response) + return +} + +func NewModifyDomainUnlockRequest() (request *ModifyDomainUnlockRequest) { + request = &ModifyDomainUnlockRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "ModifyDomainUnlock") + + return +} + +func NewModifyDomainUnlockResponse() (response *ModifyDomainUnlockResponse) { + response = &ModifyDomainUnlockResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// ModifyDomainUnlock +// 域名锁定解锁 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// FAILEDOPERATION_LOGINAREANOTALLOWED = "FailedOperation.LoginAreaNotAllowed" +// FAILEDOPERATION_LOGINFAILED = "FailedOperation.LoginFailed" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_DOMAINISNOTLOCKED = "InvalidParameter.DomainIsNotlocked" +// INVALIDPARAMETER_LOGINTOKENIDERROR = "InvalidParameter.LoginTokenIdError" +// INVALIDPARAMETER_LOGINTOKENNOTEXISTS = "InvalidParameter.LoginTokenNotExists" +// INVALIDPARAMETER_LOGINTOKENVALIDATEFAILED = "InvalidParameter.LoginTokenValidateFailed" +// INVALIDPARAMETER_REQUESTIPLIMITED = "InvalidParameter.RequestIpLimited" +// INVALIDPARAMETER_UNLOCKCODEEXPIRED = "InvalidParameter.UnLockCodeExpired" +// INVALIDPARAMETER_UNLOCKCODEINVALID = "InvalidParameter.UnLockCodeInvalid" +// INVALIDPARAMETER_UNREALNAMEUSER = "InvalidParameter.UnrealNameUser" +// INVALIDPARAMETER_USERNOTEXISTS = "InvalidParameter.UserNotExists" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// INVALIDPARAMETERVALUE_USERIDINVALID = "InvalidParameterValue.UserIdInvalid" +// LIMITEXCEEDED_FAILEDLOGINLIMITEXCEEDED = "LimitExceeded.FailedLoginLimitExceeded" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +// OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" +// OPERATIONDENIED_NOTAGENT = "OperationDenied.NotAgent" +// OPERATIONDENIED_NOTMANAGEDUSER = "OperationDenied.NotManagedUser" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +func (c *Client) ModifyDomainUnlock(request *ModifyDomainUnlockRequest) (response *ModifyDomainUnlockResponse, err error) { + if request == nil { + request = NewModifyDomainUnlockRequest() + } + response = NewModifyDomainUnlockResponse() + err = c.Send(request, response) + return +} + +func NewModifyDynamicDNSRequest() (request *ModifyDynamicDNSRequest) { + request = &ModifyDynamicDNSRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "ModifyDynamicDNS") + + return +} + +func NewModifyDynamicDNSResponse() (response *ModifyDynamicDNSResponse) { + response = &ModifyDynamicDNSResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// ModifyDynamicDNS +// 更新动态 DNS 记录 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// FAILEDOPERATION_LOGINAREANOTALLOWED = "FailedOperation.LoginAreaNotAllowed" +// FAILEDOPERATION_LOGINFAILED = "FailedOperation.LoginFailed" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INVALIDPARAMETER_CUSTOMMESSAGE = "InvalidParameter.CustomMessage" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_DOMAINNOTALLOWEDMODIFYRECORDS = "InvalidParameter.DomainNotAllowedModifyRecords" +// INVALIDPARAMETER_DOMAINNOTBEIAN = "InvalidParameter.DomainNotBeian" +// INVALIDPARAMETER_DOMAINRECORDEXIST = "InvalidParameter.DomainRecordExist" +// INVALIDPARAMETER_EMAILNOTVERIFIED = "InvalidParameter.EmailNotVerified" +// INVALIDPARAMETER_LOGINTOKENIDERROR = "InvalidParameter.LoginTokenIdError" +// INVALIDPARAMETER_LOGINTOKENNOTEXISTS = "InvalidParameter.LoginTokenNotExists" +// INVALIDPARAMETER_LOGINTOKENVALIDATEFAILED = "InvalidParameter.LoginTokenValidateFailed" +// INVALIDPARAMETER_MOBILENOTVERIFIED = "InvalidParameter.MobileNotVerified" +// INVALIDPARAMETER_RECORDIDINVALID = "InvalidParameter.RecordIdInvalid" +// INVALIDPARAMETER_RECORDLINEINVALID = "InvalidParameter.RecordLineInvalid" +// INVALIDPARAMETER_RECORDVALUEINVALID = "InvalidParameter.RecordValueInvalid" +// INVALIDPARAMETER_RECORDVALUELENGTHINVALID = "InvalidParameter.RecordValueLengthInvalid" +// INVALIDPARAMETER_REQUESTIPLIMITED = "InvalidParameter.RequestIpLimited" +// INVALIDPARAMETER_SUBDOMAININVALID = "InvalidParameter.SubdomainInvalid" +// INVALIDPARAMETER_UNREALNAMEUSER = "InvalidParameter.UnrealNameUser" +// INVALIDPARAMETER_USERNOTEXISTS = "InvalidParameter.UserNotExists" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// INVALIDPARAMETERVALUE_USERIDINVALID = "InvalidParameterValue.UserIdInvalid" +// LIMITEXCEEDED_AAAACOUNTLIMIT = "LimitExceeded.AAAACountLimit" +// LIMITEXCEEDED_ATNSRECORDLIMIT = "LimitExceeded.AtNsRecordLimit" +// LIMITEXCEEDED_FAILEDLOGINLIMITEXCEEDED = "LimitExceeded.FailedLoginLimitExceeded" +// LIMITEXCEEDED_HIDDENURLEXCEEDED = "LimitExceeded.HiddenUrlExceeded" +// LIMITEXCEEDED_NSCOUNTLIMIT = "LimitExceeded.NsCountLimit" +// LIMITEXCEEDED_SRVCOUNTLIMIT = "LimitExceeded.SrvCountLimit" +// LIMITEXCEEDED_SUBDOMAINLEVELLIMIT = "LimitExceeded.SubdomainLevelLimit" +// LIMITEXCEEDED_SUBDOMAINROLLLIMIT = "LimitExceeded.SubdomainRollLimit" +// LIMITEXCEEDED_SUBDOMAINWCARDLIMIT = "LimitExceeded.SubdomainWcardLimit" +// LIMITEXCEEDED_URLCOUNTLIMIT = "LimitExceeded.UrlCountLimit" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +// OPERATIONDENIED_IPINBLACKLISTNOTALLOWED = "OperationDenied.IPInBlacklistNotAllowed" +// OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" +// OPERATIONDENIED_NOTADMIN = "OperationDenied.NotAdmin" +// OPERATIONDENIED_NOTAGENT = "OperationDenied.NotAgent" +// OPERATIONDENIED_NOTMANAGEDUSER = "OperationDenied.NotManagedUser" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +func (c *Client) ModifyDynamicDNS(request *ModifyDynamicDNSRequest) (response *ModifyDynamicDNSResponse, err error) { + if request == nil { + request = NewModifyDynamicDNSRequest() + } + response = NewModifyDynamicDNSResponse() + err = c.Send(request, response) + return +} + +func NewModifyRecordRequest() (request *ModifyRecordRequest) { + request = &ModifyRecordRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "ModifyRecord") + + return +} + +func NewModifyRecordResponse() (response *ModifyRecordResponse) { + response = &ModifyRecordResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// ModifyRecord +// 修改记录 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// FAILEDOPERATION_LOGINAREANOTALLOWED = "FailedOperation.LoginAreaNotAllowed" +// FAILEDOPERATION_LOGINFAILED = "FailedOperation.LoginFailed" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INVALIDPARAMETER_ACCOUNTISBANNED = "InvalidParameter.AccountIsBanned" +// INVALIDPARAMETER_CUSTOMMESSAGE = "InvalidParameter.CustomMessage" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_DOMAINNOTALLOWEDMODIFYRECORDS = "InvalidParameter.DomainNotAllowedModifyRecords" +// INVALIDPARAMETER_DOMAINNOTBEIAN = "InvalidParameter.DomainNotBeian" +// INVALIDPARAMETER_DOMAINRECORDEXIST = "InvalidParameter.DomainRecordExist" +// INVALIDPARAMETER_EMAILNOTVERIFIED = "InvalidParameter.EmailNotVerified" +// INVALIDPARAMETER_INVALIDWEIGHT = "InvalidParameter.InvalidWeight" +// INVALIDPARAMETER_LOGINTOKENIDERROR = "InvalidParameter.LoginTokenIdError" +// INVALIDPARAMETER_LOGINTOKENNOTEXISTS = "InvalidParameter.LoginTokenNotExists" +// INVALIDPARAMETER_LOGINTOKENVALIDATEFAILED = "InvalidParameter.LoginTokenValidateFailed" +// INVALIDPARAMETER_MOBILENOTVERIFIED = "InvalidParameter.MobileNotVerified" +// INVALIDPARAMETER_MXINVALID = "InvalidParameter.MxInvalid" +// INVALIDPARAMETER_RECORDIDINVALID = "InvalidParameter.RecordIdInvalid" +// INVALIDPARAMETER_RECORDLINEINVALID = "InvalidParameter.RecordLineInvalid" +// INVALIDPARAMETER_RECORDTYPEINVALID = "InvalidParameter.RecordTypeInvalid" +// INVALIDPARAMETER_RECORDVALUEINVALID = "InvalidParameter.RecordValueInvalid" +// INVALIDPARAMETER_RECORDVALUELENGTHINVALID = "InvalidParameter.RecordValueLengthInvalid" +// INVALIDPARAMETER_REQUESTIPLIMITED = "InvalidParameter.RequestIpLimited" +// INVALIDPARAMETER_SUBDOMAININVALID = "InvalidParameter.SubdomainInvalid" +// INVALIDPARAMETER_UNREALNAMEUSER = "InvalidParameter.UnrealNameUser" +// INVALIDPARAMETER_URLVALUEILLEGAL = "InvalidParameter.UrlValueIllegal" +// INVALIDPARAMETER_USERNOTEXISTS = "InvalidParameter.UserNotExists" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// INVALIDPARAMETERVALUE_USERIDINVALID = "InvalidParameterValue.UserIdInvalid" +// LIMITEXCEEDED_AAAACOUNTLIMIT = "LimitExceeded.AAAACountLimit" +// LIMITEXCEEDED_ATNSRECORDLIMIT = "LimitExceeded.AtNsRecordLimit" +// LIMITEXCEEDED_FAILEDLOGINLIMITEXCEEDED = "LimitExceeded.FailedLoginLimitExceeded" +// LIMITEXCEEDED_HIDDENURLEXCEEDED = "LimitExceeded.HiddenUrlExceeded" +// LIMITEXCEEDED_NSCOUNTLIMIT = "LimitExceeded.NsCountLimit" +// LIMITEXCEEDED_RECORDTTLLIMIT = "LimitExceeded.RecordTtlLimit" +// LIMITEXCEEDED_SRVCOUNTLIMIT = "LimitExceeded.SrvCountLimit" +// LIMITEXCEEDED_SUBDOMAINLEVELLIMIT = "LimitExceeded.SubdomainLevelLimit" +// LIMITEXCEEDED_SUBDOMAINROLLLIMIT = "LimitExceeded.SubdomainRollLimit" +// LIMITEXCEEDED_SUBDOMAINWCARDLIMIT = "LimitExceeded.SubdomainWcardLimit" +// LIMITEXCEEDED_URLCOUNTLIMIT = "LimitExceeded.UrlCountLimit" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +// OPERATIONDENIED_IPINBLACKLISTNOTALLOWED = "OperationDenied.IPInBlacklistNotAllowed" +// OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" +// OPERATIONDENIED_NOTADMIN = "OperationDenied.NotAdmin" +// OPERATIONDENIED_NOTAGENT = "OperationDenied.NotAgent" +// OPERATIONDENIED_NOTMANAGEDUSER = "OperationDenied.NotManagedUser" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +func (c *Client) ModifyRecord(request *ModifyRecordRequest) (response *ModifyRecordResponse, err error) { + if request == nil { + request = NewModifyRecordRequest() + } + response = NewModifyRecordResponse() + err = c.Send(request, response) + return +} + +func NewModifyRecordBatchRequest() (request *ModifyRecordBatchRequest) { + request = &ModifyRecordBatchRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "ModifyRecordBatch") + + return +} + +func NewModifyRecordBatchResponse() (response *ModifyRecordBatchResponse) { + response = &ModifyRecordBatchResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// ModifyRecordBatch +// 批量修改记录 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// INVALIDPARAMETER_BATCHRECORDMODIFYACTIONERROR = "InvalidParameter.BatchRecordModifyActionError" +// INVALIDPARAMETER_BATCHRECORDMODIFYACTIONINVALIDVALUE = "InvalidParameter.BatchRecordModifyActionInvalidValue" +// INVALIDPARAMETER_BATCHRECORDREPLACEACTIONERROR = "InvalidParameter.BatchRecordReplaceActionError" +// INVALIDPARAMETER_BATCHTASKCOUNTLIMIT = "InvalidParameter.BatchTaskCountLimit" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_DOMAINSEMPTY = "InvalidParameter.DomainsEmpty" +// INVALIDPARAMETER_JOBGREATERTHANLIMIT = "InvalidParameter.JobGreaterThanLimit" +// INVALIDPARAMETER_MXINVALID = "InvalidParameter.MxInvalid" +// INVALIDPARAMETER_PARAMSILLEGAL = "InvalidParameter.ParamsIllegal" +// INVALIDPARAMETER_PARAMSMISSING = "InvalidParameter.ParamsMissing" +// INVALIDPARAMETER_RECORDTYPEINVALID = "InvalidParameter.RecordTypeInvalid" +// INVALIDPARAMETER_RECORDVALUEINVALID = "InvalidParameter.RecordValueInvalid" +// INVALIDPARAMETER_RECORDVALUELENGTHINVALID = "InvalidParameter.RecordValueLengthInvalid" +// INVALIDPARAMETER_RECORDSEMPTY = "InvalidParameter.RecordsEmpty" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// OPERATIONDENIED_IPINBLACKLISTNOTALLOWED = "OperationDenied.IPInBlacklistNotAllowed" +// REQUESTLIMITEXCEEDED_BATCHTASKLIMIT = "RequestLimitExceeded.BatchTaskLimit" +// REQUESTLIMITEXCEEDED_CREATEDOMAINLIMIT = "RequestLimitExceeded.CreateDomainLimit" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +func (c *Client) ModifyRecordBatch(request *ModifyRecordBatchRequest) (response *ModifyRecordBatchResponse, err error) { + if request == nil { + request = NewModifyRecordBatchRequest() + } + response = NewModifyRecordBatchResponse() + err = c.Send(request, response) + return +} + +func NewModifyRecordRemarkRequest() (request *ModifyRecordRemarkRequest) { + request = &ModifyRecordRemarkRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "ModifyRecordRemark") + + return +} + +func NewModifyRecordRemarkResponse() (response *ModifyRecordRemarkResponse) { + response = &ModifyRecordRemarkResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// ModifyRecordRemark +// 设置记录备注 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// FAILEDOPERATION_LOGINAREANOTALLOWED = "FailedOperation.LoginAreaNotAllowed" +// FAILEDOPERATION_LOGINFAILED = "FailedOperation.LoginFailed" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_DOMAINNOTALLOWEDMODIFYRECORDS = "InvalidParameter.DomainNotAllowedModifyRecords" +// INVALIDPARAMETER_LOGINTOKENIDERROR = "InvalidParameter.LoginTokenIdError" +// INVALIDPARAMETER_LOGINTOKENNOTEXISTS = "InvalidParameter.LoginTokenNotExists" +// INVALIDPARAMETER_LOGINTOKENVALIDATEFAILED = "InvalidParameter.LoginTokenValidateFailed" +// INVALIDPARAMETER_RECORDIDINVALID = "InvalidParameter.RecordIdInvalid" +// INVALIDPARAMETER_REMARKLENGTHEXCEEDED = "InvalidParameter.RemarkLengthExceeded" +// INVALIDPARAMETER_REQUESTIPLIMITED = "InvalidParameter.RequestIpLimited" +// INVALIDPARAMETER_UNREALNAMEUSER = "InvalidParameter.UnrealNameUser" +// INVALIDPARAMETER_USERNOTEXISTS = "InvalidParameter.UserNotExists" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// INVALIDPARAMETERVALUE_USERIDINVALID = "InvalidParameterValue.UserIdInvalid" +// LIMITEXCEEDED_FAILEDLOGINLIMITEXCEEDED = "LimitExceeded.FailedLoginLimitExceeded" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +// OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" +// OPERATIONDENIED_NOTADMIN = "OperationDenied.NotAdmin" +// OPERATIONDENIED_NOTAGENT = "OperationDenied.NotAgent" +// OPERATIONDENIED_NOTMANAGEDUSER = "OperationDenied.NotManagedUser" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +func (c *Client) ModifyRecordRemark(request *ModifyRecordRemarkRequest) (response *ModifyRecordRemarkResponse, err error) { + if request == nil { + request = NewModifyRecordRemarkRequest() + } + response = NewModifyRecordRemarkResponse() + err = c.Send(request, response) + return +} + +func NewModifyRecordStatusRequest() (request *ModifyRecordStatusRequest) { + request = &ModifyRecordStatusRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "ModifyRecordStatus") + + return +} + +func NewModifyRecordStatusResponse() (response *ModifyRecordStatusResponse) { + response = &ModifyRecordStatusResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// ModifyRecordStatus +// 修改解析记录的状态 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// FAILEDOPERATION_LOGINAREANOTALLOWED = "FailedOperation.LoginAreaNotAllowed" +// FAILEDOPERATION_LOGINFAILED = "FailedOperation.LoginFailed" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INVALIDPARAMETER_CUSTOMMESSAGE = "InvalidParameter.CustomMessage" +// INVALIDPARAMETER_DNSSECADDCNAMEERROR = "InvalidParameter.DnssecAddCnameError" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_DOMAINNOTALLOWEDMODIFYRECORDS = "InvalidParameter.DomainNotAllowedModifyRecords" +// INVALIDPARAMETER_DOMAINNOTBEIAN = "InvalidParameter.DomainNotBeian" +// INVALIDPARAMETER_DOMAINRECORDEXIST = "InvalidParameter.DomainRecordExist" +// INVALIDPARAMETER_EMAILNOTVERIFIED = "InvalidParameter.EmailNotVerified" +// INVALIDPARAMETER_LOGINTOKENIDERROR = "InvalidParameter.LoginTokenIdError" +// INVALIDPARAMETER_LOGINTOKENNOTEXISTS = "InvalidParameter.LoginTokenNotExists" +// INVALIDPARAMETER_LOGINTOKENVALIDATEFAILED = "InvalidParameter.LoginTokenValidateFailed" +// INVALIDPARAMETER_MOBILENOTVERIFIED = "InvalidParameter.MobileNotVerified" +// INVALIDPARAMETER_RECORDIDINVALID = "InvalidParameter.RecordIdInvalid" +// INVALIDPARAMETER_RECORDVALUEINVALID = "InvalidParameter.RecordValueInvalid" +// INVALIDPARAMETER_REQUESTIPLIMITED = "InvalidParameter.RequestIpLimited" +// INVALIDPARAMETER_SUBDOMAININVALID = "InvalidParameter.SubdomainInvalid" +// INVALIDPARAMETER_UNREALNAMEUSER = "InvalidParameter.UnrealNameUser" +// INVALIDPARAMETER_URLVALUEILLEGAL = "InvalidParameter.UrlValueIllegal" +// INVALIDPARAMETER_USERNOTEXISTS = "InvalidParameter.UserNotExists" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// INVALIDPARAMETERVALUE_USERIDINVALID = "InvalidParameterValue.UserIdInvalid" +// LIMITEXCEEDED_AAAACOUNTLIMIT = "LimitExceeded.AAAACountLimit" +// LIMITEXCEEDED_ATNSRECORDLIMIT = "LimitExceeded.AtNsRecordLimit" +// LIMITEXCEEDED_FAILEDLOGINLIMITEXCEEDED = "LimitExceeded.FailedLoginLimitExceeded" +// LIMITEXCEEDED_HIDDENURLEXCEEDED = "LimitExceeded.HiddenUrlExceeded" +// LIMITEXCEEDED_NSCOUNTLIMIT = "LimitExceeded.NsCountLimit" +// LIMITEXCEEDED_SRVCOUNTLIMIT = "LimitExceeded.SrvCountLimit" +// LIMITEXCEEDED_SUBDOMAINLEVELLIMIT = "LimitExceeded.SubdomainLevelLimit" +// LIMITEXCEEDED_SUBDOMAINROLLLIMIT = "LimitExceeded.SubdomainRollLimit" +// LIMITEXCEEDED_SUBDOMAINWCARDLIMIT = "LimitExceeded.SubdomainWcardLimit" +// LIMITEXCEEDED_URLCOUNTLIMIT = "LimitExceeded.UrlCountLimit" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +// OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" +// OPERATIONDENIED_NOTADMIN = "OperationDenied.NotAdmin" +// OPERATIONDENIED_NOTAGENT = "OperationDenied.NotAgent" +// OPERATIONDENIED_NOTMANAGEDUSER = "OperationDenied.NotManagedUser" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +func (c *Client) ModifyRecordStatus(request *ModifyRecordStatusRequest) (response *ModifyRecordStatusResponse, err error) { + if request == nil { + request = NewModifyRecordStatusRequest() + } + response = NewModifyRecordStatusResponse() + err = c.Send(request, response) + return +} + +func NewModifySubdomainStatusRequest() (request *ModifySubdomainStatusRequest) { + request = &ModifySubdomainStatusRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("dnspod", APIVersion, "ModifySubdomainStatus") + + return +} + +func NewModifySubdomainStatusResponse() (response *ModifySubdomainStatusResponse) { + response = &ModifySubdomainStatusResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// ModifySubdomainStatus +// 暂停子域名的解析记录 +// +// 可能返回的错误码: +// FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" +// FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" +// FAILEDOPERATION_LOGINAREANOTALLOWED = "FailedOperation.LoginAreaNotAllowed" +// FAILEDOPERATION_LOGINFAILED = "FailedOperation.LoginFailed" +// FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" +// INVALIDPARAMETER_CUSTOMMESSAGE = "InvalidParameter.CustomMessage" +// INVALIDPARAMETER_DNSSECADDCNAMEERROR = "InvalidParameter.DnssecAddCnameError" +// INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" +// INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" +// INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" +// INVALIDPARAMETER_DOMAINNOTALLOWEDMODIFYRECORDS = "InvalidParameter.DomainNotAllowedModifyRecords" +// INVALIDPARAMETER_DOMAINNOTBEIAN = "InvalidParameter.DomainNotBeian" +// INVALIDPARAMETER_DOMAINSELFNOCOPY = "InvalidParameter.DomainSelfNoCopy" +// INVALIDPARAMETER_EMAILNOTVERIFIED = "InvalidParameter.EmailNotVerified" +// INVALIDPARAMETER_LOGINTOKENIDERROR = "InvalidParameter.LoginTokenIdError" +// INVALIDPARAMETER_LOGINTOKENNOTEXISTS = "InvalidParameter.LoginTokenNotExists" +// INVALIDPARAMETER_LOGINTOKENVALIDATEFAILED = "InvalidParameter.LoginTokenValidateFailed" +// INVALIDPARAMETER_MOBILENOTVERIFIED = "InvalidParameter.MobileNotVerified" +// INVALIDPARAMETER_RECORDIDINVALID = "InvalidParameter.RecordIdInvalid" +// INVALIDPARAMETER_RECORDVALUEINVALID = "InvalidParameter.RecordValueInvalid" +// INVALIDPARAMETER_REQUESTIPLIMITED = "InvalidParameter.RequestIpLimited" +// INVALIDPARAMETER_STATUSCODEINVALID = "InvalidParameter.StatusCodeInvalid" +// INVALIDPARAMETER_SUBDOMAININVALID = "InvalidParameter.SubdomainInvalid" +// INVALIDPARAMETER_UNREALNAMEUSER = "InvalidParameter.UnrealNameUser" +// INVALIDPARAMETER_URLVALUEILLEGAL = "InvalidParameter.UrlValueIllegal" +// INVALIDPARAMETER_USERNOTEXISTS = "InvalidParameter.UserNotExists" +// INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" +// INVALIDPARAMETERVALUE_USERIDINVALID = "InvalidParameterValue.UserIdInvalid" +// LIMITEXCEEDED_AAAACOUNTLIMIT = "LimitExceeded.AAAACountLimit" +// LIMITEXCEEDED_ATNSRECORDLIMIT = "LimitExceeded.AtNsRecordLimit" +// LIMITEXCEEDED_FAILEDLOGINLIMITEXCEEDED = "LimitExceeded.FailedLoginLimitExceeded" +// LIMITEXCEEDED_HIDDENURLEXCEEDED = "LimitExceeded.HiddenUrlExceeded" +// LIMITEXCEEDED_NSCOUNTLIMIT = "LimitExceeded.NsCountLimit" +// LIMITEXCEEDED_SRVCOUNTLIMIT = "LimitExceeded.SrvCountLimit" +// LIMITEXCEEDED_SUBDOMAINLEVELLIMIT = "LimitExceeded.SubdomainLevelLimit" +// LIMITEXCEEDED_SUBDOMAINROLLLIMIT = "LimitExceeded.SubdomainRollLimit" +// LIMITEXCEEDED_SUBDOMAINWCARDLIMIT = "LimitExceeded.SubdomainWcardLimit" +// LIMITEXCEEDED_URLCOUNTLIMIT = "LimitExceeded.UrlCountLimit" +// OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" +// OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" +// OPERATIONDENIED_NOTADMIN = "OperationDenied.NotAdmin" +// OPERATIONDENIED_NOTAGENT = "OperationDenied.NotAgent" +// OPERATIONDENIED_NOTMANAGEDUSER = "OperationDenied.NotManagedUser" +// REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" +func (c *Client) ModifySubdomainStatus(request *ModifySubdomainStatusRequest) (response *ModifySubdomainStatusResponse, err error) { + if request == nil { + request = NewModifySubdomainStatusRequest() + } + response = NewModifySubdomainStatusResponse() + err = c.Send(request, response) + return +} diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323/errors.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323/errors.go new file mode 100644 index 0000000000..81b00af43b --- /dev/null +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323/errors.go @@ -0,0 +1,367 @@ +// Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package v20210323 + +const ( + // 此产品的特有错误码 + + // CAM签名/鉴权错误。 + AUTHFAILURE = "AuthFailure" + + // 操作失败。 + FAILEDOPERATION = "FailedOperation" + + // 该域名已在您的列表中,无需重复添加。 + FAILEDOPERATION_DOMAINEXISTS = "FailedOperation.DomainExists" + + // 该域名为腾讯云 DNSPod 重点保护资源,为了避免误操作造成的业务影响,域名禁止自行操作删除。如果您确认需要删除域名,请先联系您的客户经理,我们将竭诚为您提供技术支持。 + FAILEDOPERATION_DOMAINISKEYDOMAIN = "FailedOperation.DomainIsKeyDomain" + + // 锁定域名不能进行此操作。 + FAILEDOPERATION_DOMAINISLOCKED = "FailedOperation.DomainIsLocked" + + // 封禁域名不能进行此操作。 + FAILEDOPERATION_DOMAINISSPAM = "FailedOperation.DomainIsSpam" + + // VIP域名不能进行此操作。 + FAILEDOPERATION_DOMAINISVIP = "FailedOperation.DomainIsVip" + + // 该域名已被其他账号添加,可在域名列表中添加取回。 + FAILEDOPERATION_DOMAINOWNEDBYOTHERUSER = "FailedOperation.DomainOwnedByOtherUser" + + // 帐号异地登录,请求被拒绝。 + FAILEDOPERATION_LOGINAREANOTALLOWED = "FailedOperation.LoginAreaNotAllowed" + + // 登录失败,请检查账号和密码是否正确。 + FAILEDOPERATION_LOGINFAILED = "FailedOperation.LoginFailed" + + // 权限错误,您无法查看该任务的详情。 + FAILEDOPERATION_NOTBATCHTASKOWNER = "FailedOperation.NotBatchTaskOwner" + + // 域名不在您的名下。 + FAILEDOPERATION_NOTDOMAINOWNER = "FailedOperation.NotDomainOwner" + + // 未实名认证用户,请先完成实名认证再操作。 + FAILEDOPERATION_NOTREALNAMEDUSER = "FailedOperation.NotRealNamedUser" + + // 不能转移到企业账号。 + FAILEDOPERATION_TRANSFERTOENTERPRISEDENIED = "FailedOperation.TransferToEnterpriseDenied" + + // 不能转移到个人账号。 + FAILEDOPERATION_TRANSFERTOPERSONDENIED = "FailedOperation.TransferToPersonDenied" + + // 操作未响应,请稍后重试。 + FAILEDOPERATION_UNKNOWERROR = "FailedOperation.UnknowError" + + // 内部错误。 + INTERNALERROR = "InternalError" + + // 参数错误。 + INVALIDPARAMETER = "InvalidParameter" + + // 您的账号已被系统封禁,如果您有任何疑问请与我们联系。 + INVALIDPARAMETER_ACCOUNTISBANNED = "InvalidParameter.AccountIsBanned" + + // 创建批量域名任务失败,原因:内部错误。 + INVALIDPARAMETER_BATCHDOMAINCREATEACTIONERROR = "InvalidParameter.BatchDomainCreateActionError" + + // 创建批量记录任务失败,原因:内部错误。 + INVALIDPARAMETER_BATCHRECORDCREATEACTIONERROR = "InvalidParameter.BatchRecordCreateActionError" + + // 批量修改记录任务失败,原因:内部错误。 + INVALIDPARAMETER_BATCHRECORDMODIFYACTIONERROR = "InvalidParameter.BatchRecordModifyActionError" + + // 记录值无效。 + INVALIDPARAMETER_BATCHRECORDMODIFYACTIONINVALIDVALUE = "InvalidParameter.BatchRecordModifyActionInvalidValue" + + // 批量替换记录任务失败,原因:内部错误。 + INVALIDPARAMETER_BATCHRECORDREPLACEACTIONERROR = "InvalidParameter.BatchRecordReplaceActionError" + + // 超过批量任务数上限。 + INVALIDPARAMETER_BATCHTASKCOUNTLIMIT = "InvalidParameter.BatchTaskCountLimit" + + // 任务不存在,无法获取任务详情。 + INVALIDPARAMETER_BATCHTASKNOTEXIST = "InvalidParameter.BatchTaskNotExist" + + // 自定义错误信息。 + INVALIDPARAMETER_CUSTOMMESSAGE = "InvalidParameter.CustomMessage" + + // 该域名开启了 DNSSEC,不允许添加 @ 子域名 CNAME、显性 URL 或者隐性 URL 记录。 + INVALIDPARAMETER_DNSSECADDCNAMEERROR = "InvalidParameter.DnssecAddCnameError" + + // 别名已经存在。 + INVALIDPARAMETER_DOMAINALIASEXISTS = "InvalidParameter.DomainAliasExists" + + // 别名编号错误。 + INVALIDPARAMETER_DOMAINALIASIDINVALID = "InvalidParameter.DomainAliasIdInvalid" + + // 域名编号不正确。 + INVALIDPARAMETER_DOMAINIDINVALID = "InvalidParameter.DomainIdInvalid" + + // 不允许操作生效中或失效中的域名。 + INVALIDPARAMETER_DOMAININEFFECTORINVALIDATED = "InvalidParameter.DomainInEffectOrInvalidated" + + // 域名不正确,请输入主域名,如 dnspod.cn。 + INVALIDPARAMETER_DOMAININVALID = "InvalidParameter.DomainInvalid" + + // 此域名是其它域名的别名。 + INVALIDPARAMETER_DOMAINISALIASER = "InvalidParameter.DomainIsAliaser" + + // 域名没有锁定。 + INVALIDPARAMETER_DOMAINISNOTLOCKED = "InvalidParameter.DomainIsNotlocked" + + // 暂停域名不支持锁定。 + INVALIDPARAMETER_DOMAINNOTALLOWEDLOCK = "InvalidParameter.DomainNotAllowedLock" + + // 处于生效中/失效中的域名,不允许变更解析记录。 + INVALIDPARAMETER_DOMAINNOTALLOWEDMODIFYRECORDS = "InvalidParameter.DomainNotAllowedModifyRecords" + + // 该域名未备案,无法添加 URL 记录。 + INVALIDPARAMETER_DOMAINNOTBEIAN = "InvalidParameter.DomainNotBeian" + + // 域名还没有注册,无法添加。 + INVALIDPARAMETER_DOMAINNOTREGED = "InvalidParameter.DomainNotReged" + + // 记录已经存在,无需再次添加。 + INVALIDPARAMETER_DOMAINRECORDEXIST = "InvalidParameter.DomainRecordExist" + + // 域名自己无需进行复制。 + INVALIDPARAMETER_DOMAINSELFNOCOPY = "InvalidParameter.DomainSelfNoCopy" + + // 没有提交任何域名。 + INVALIDPARAMETER_DOMAINSEMPTY = "InvalidParameter.DomainsEmpty" + + // 邮箱地址不正确。 + INVALIDPARAMETER_EMAILINVALID = "InvalidParameter.EmailInvalid" + + // 抱歉,您的账户还没有通过邮箱验证。 + INVALIDPARAMETER_EMAILNOTVERIFIED = "InvalidParameter.EmailNotVerified" + + // 请输入合法的邮箱或者uin。 + INVALIDPARAMETER_EMAILORQQINVALID = "InvalidParameter.EmailOrQqInvalid" + + // 域名已经在该账号下。 + INVALIDPARAMETER_EMAILSAME = "InvalidParameter.EmailSame" + + // 分组编号不正确。 + INVALIDPARAMETER_GROUPIDINVALID = "InvalidParameter.GroupIdInvalid" + + // 同名分组已经存在。 + INVALIDPARAMETER_GROUPNAMEEXISTS = "InvalidParameter.GroupNameExists" + + // 分组名为1-17个字符。 + INVALIDPARAMETER_GROUPNAMEINVALID = "InvalidParameter.GroupNameInvalid" + + // 权重不合法。请输入0~100的整数。 + INVALIDPARAMETER_INVALIDWEIGHT = "InvalidParameter.InvalidWeight" + + // 单次任务数量超过上限。 + INVALIDPARAMETER_JOBGREATERTHANLIMIT = "InvalidParameter.JobGreaterThanLimit" + + // 锁定天数不正确。 + INVALIDPARAMETER_LOCKDAYSINVALID = "InvalidParameter.LockDaysInvalid" + + // Token 的 ID 不正确。 + INVALIDPARAMETER_LOGINTOKENIDERROR = "InvalidParameter.LoginTokenIdError" + + // 传入的 Token 不存在。 + INVALIDPARAMETER_LOGINTOKENNOTEXISTS = "InvalidParameter.LoginTokenNotExists" + + // Token 验证失败。 + INVALIDPARAMETER_LOGINTOKENVALIDATEFAILED = "InvalidParameter.LoginTokenValidateFailed" + + // 抱歉,您的账户还没有通过手机验证。 + INVALIDPARAMETER_MOBILENOTVERIFIED = "InvalidParameter.MobileNotVerified" + + // MX优先级不正确。 + INVALIDPARAMETER_MXINVALID = "InvalidParameter.MxInvalid" + + // 分页起始数量错误。 + INVALIDPARAMETER_OFFSETINVALID = "InvalidParameter.OffsetInvalid" + + // 操作失败,请稍候再试。 + INVALIDPARAMETER_OPERATEFAILED = "InvalidParameter.OperateFailed" + + // 对方账号未实名认证,请先完成实名认证再操作。 + INVALIDPARAMETER_OTHERACCOUNTUNREALNAME = "InvalidParameter.OtherAccountUnrealName" + + // param 格式错误。 + INVALIDPARAMETER_PARAMINVALID = "InvalidParameter.ParamInvalid" + + // 参数不合法,请求被拒绝。 + INVALIDPARAMETER_PARAMSILLEGAL = "InvalidParameter.ParamsIllegal" + + // 参数错误。 + INVALIDPARAMETER_PARAMSMISSING = "InvalidParameter.ParamsMissing" + + // 用户UIN无效。 + INVALIDPARAMETER_QCLOUDUININVALID = "InvalidParameter.QcloudUinInvalid" + + // 记录编号错误。 + INVALIDPARAMETER_RECORDIDINVALID = "InvalidParameter.RecordIdInvalid" + + // 记录线路不正确。 + INVALIDPARAMETER_RECORDLINEINVALID = "InvalidParameter.RecordLineInvalid" + + // 记录类型不正确。 + INVALIDPARAMETER_RECORDTYPEINVALID = "InvalidParameter.RecordTypeInvalid" + + // 记录的值不正确。 + INVALIDPARAMETER_RECORDVALUEINVALID = "InvalidParameter.RecordValueInvalid" + + // 解析记录值过长。 + INVALIDPARAMETER_RECORDVALUELENGTHINVALID = "InvalidParameter.RecordValueLengthInvalid" + + // 没有提交任何记录。 + INVALIDPARAMETER_RECORDSEMPTY = "InvalidParameter.RecordsEmpty" + + // 备注信息超出字符限制。 + INVALIDPARAMETER_REMARKLENGTHEXCEEDED = "InvalidParameter.RemarkLengthExceeded" + + // 备注过长(不能超过200个字)。 + INVALIDPARAMETER_REMARKTOOLONG = "InvalidParameter.RemarkTooLong" + + // 您的IP非法,请求被拒绝。 + INVALIDPARAMETER_REQUESTIPLIMITED = "InvalidParameter.RequestIpLimited" + + // 搜索结果大于500条,请增加关键字。 + INVALIDPARAMETER_RESULTMORETHAN500 = "InvalidParameter.ResultMoreThan500" + + // 状态代码不正确。 + INVALIDPARAMETER_STATUSCODEINVALID = "InvalidParameter.StatusCodeInvalid" + + // 子域名不正确。 + INVALIDPARAMETER_SUBDOMAININVALID = "InvalidParameter.SubdomainInvalid" + + // 当前帐号下的无效域名过多,暂时无法使用该功能。请将已有域名的 DNS 服务器正确指向 DNSPod 之后,再尝试添加。 + INVALIDPARAMETER_TOOMANYINVALIDDOMAINS = "InvalidParameter.TooManyInvalidDomains" + + // 域名无效。 + INVALIDPARAMETER_TOOLSDOMAININVALID = "InvalidParameter.ToolsDomainInvalid" + + // 解锁代码已失效。 + INVALIDPARAMETER_UNLOCKCODEEXPIRED = "InvalidParameter.UnLockCodeExpired" + + // 解锁代码不正确。 + INVALIDPARAMETER_UNLOCKCODEINVALID = "InvalidParameter.UnLockCodeInvalid" + + // 未实名认证用户,请先完成实名认证再操作。 + INVALIDPARAMETER_UNREALNAMEUSER = "InvalidParameter.UnrealNameUser" + + // 很抱歉,您要添加的URL的内容不符合DNSPod解析服务条款,URL添加/启用失败,如需帮助请联系技术支持。 + INVALIDPARAMETER_URLVALUEILLEGAL = "InvalidParameter.UrlValueIllegal" + + // 用户不存在。 + INVALIDPARAMETER_USERNOTEXISTS = "InvalidParameter.UserNotExists" + + // 域名等级不正确。 + INVALIDPARAMETERVALUE_DOMAINGRADEINVALID = "InvalidParameterValue.DomainGradeInvalid" + + // 当前域名有误,请返回重新操作。 + INVALIDPARAMETERVALUE_DOMAINNOTEXISTS = "InvalidParameterValue.DomainNotExists" + + // 分页长度数量错误。 + INVALIDPARAMETERVALUE_LIMITINVALID = "InvalidParameterValue.LimitInvalid" + + // 用户编号不正确。 + INVALIDPARAMETERVALUE_USERIDINVALID = "InvalidParameterValue.UserIdInvalid" + + // AAAA记录数量超出限制。 + LIMITEXCEEDED_AAAACOUNTLIMIT = "LimitExceeded.AAAACountLimit" + + // @的NS记录只能设置为默认线路。 + LIMITEXCEEDED_ATNSRECORDLIMIT = "LimitExceeded.AtNsRecordLimit" + + // 别名数量已经达到限制。 + LIMITEXCEEDED_DOMAINALIASCOUNTEXCEEDED = "LimitExceeded.DomainAliasCountExceeded" + + // 当前绑定别名数量已达到限制。 + LIMITEXCEEDED_DOMAINALIASNUMBERLIMIT = "LimitExceeded.DomainAliasNumberLimit" + + // 登录失败次数过多已被系统封禁。 + LIMITEXCEEDED_FAILEDLOGINLIMITEXCEEDED = "LimitExceeded.FailedLoginLimitExceeded" + + // 已经达到最大分组数量限制。 + LIMITEXCEEDED_GROUPNUMBERLIMIT = "LimitExceeded.GroupNumberLimit" + + // 该域名使用的套餐不支持隐性URL转发或数量已达上限,如需要使用,请去商城购买。 + LIMITEXCEEDED_HIDDENURLEXCEEDED = "LimitExceeded.HiddenUrlExceeded" + + // NS记录数量超出限制。 + LIMITEXCEEDED_NSCOUNTLIMIT = "LimitExceeded.NsCountLimit" + + // 记录的TTL值超出了限制。 + LIMITEXCEEDED_RECORDTTLLIMIT = "LimitExceeded.RecordTtlLimit" + + // SRV记录数量超出限制。 + LIMITEXCEEDED_SRVCOUNTLIMIT = "LimitExceeded.SrvCountLimit" + + // 子域名级数超出限制。 + LIMITEXCEEDED_SUBDOMAINLEVELLIMIT = "LimitExceeded.SubdomainLevelLimit" + + // 子域名负载均衡数量超出限制。 + LIMITEXCEEDED_SUBDOMAINROLLLIMIT = "LimitExceeded.SubdomainRollLimit" + + // 泛解析级数超出限制。 + LIMITEXCEEDED_SUBDOMAINWCARDLIMIT = "LimitExceeded.SubdomainWcardLimit" + + // 该域名的显性URL转发数量已达上限,如需继续使用,请去商城购买。 + LIMITEXCEEDED_URLCOUNTLIMIT = "LimitExceeded.UrlCountLimit" + + // 缺少参数错误。 + MISSINGPARAMETER = "MissingParameter" + + // 您没有权限执行此操作。 + OPERATIONDENIED_ACCESSDENIED = "OperationDenied.AccessDenied" + + // 仅域名所有者可进行此操作。 + OPERATIONDENIED_DOMAINOWNERALLOWEDONLY = "OperationDenied.DomainOwnerAllowedOnly" + + // 抱歉,不允许添加黑名单中的IP。 + OPERATIONDENIED_IPINBLACKLISTNOTALLOWED = "OperationDenied.IPInBlacklistNotAllowed" + + // 当前域名无权限,请返回域名列表。 + OPERATIONDENIED_NOPERMISSIONTOOPERATEDOMAIN = "OperationDenied.NoPermissionToOperateDomain" + + // 您不是管理用户。 + OPERATIONDENIED_NOTADMIN = "OperationDenied.NotAdmin" + + // 您不是代理用户。 + OPERATIONDENIED_NOTAGENT = "OperationDenied.NotAgent" + + // 不是您名下用户。 + OPERATIONDENIED_NOTMANAGEDUSER = "OperationDenied.NotManagedUser" + + // 请求的次数超过了频率限制。 + REQUESTLIMITEXCEEDED = "RequestLimitExceeded" + + // 您的IP添加了过多任务,请稍后重试。 + REQUESTLIMITEXCEEDED_BATCHTASKLIMIT = "RequestLimitExceeded.BatchTaskLimit" + + // 您的帐号在短时间内添加了大量的域名,请控制添加频率。 + REQUESTLIMITEXCEEDED_CREATEDOMAINLIMIT = "RequestLimitExceeded.CreateDomainLimit" + + // API请求次数超出限制。 + REQUESTLIMITEXCEEDED_REQUESTLIMITEXCEEDED = "RequestLimitExceeded.RequestLimitExceeded" + + // 资源不存在。 + RESOURCENOTFOUND = "ResourceNotFound" + + // 记录列表为空。 + RESOURCENOTFOUND_NODATAOFRECORD = "ResourceNotFound.NoDataOfRecord" + + // 未授权操作。 + UNAUTHORIZEDOPERATION = "UnauthorizedOperation" +) diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323/models.go new file mode 100644 index 0000000000..2126d2d1fd --- /dev/null +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323/models.go @@ -0,0 +1,2652 @@ +// Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package v20210323 + +import ( + "encoding/json" + tcerr "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors" + tchttp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http" +) + +type AddRecordBatch struct { + + // 记录类型, 详见 DescribeRecordType 接口。 + RecordType *string `json:"RecordType,omitempty" name:"RecordType"` + + // 记录值。 + Value *string `json:"Value,omitempty" name:"Value"` + + // 子域名(主机记录)。 + SubDomain *string `json:"SubDomain,omitempty" name:"SubDomain"` + + // 解析记录的线路,详见 DescribeRecordLineList 接口。 + RecordLine *string `json:"RecordLine,omitempty" name:"RecordLine"` + + // 解析记录的线路 ID,RecordLine和RecordLineId都有时,系统优先取 RecordLineId + RecordLineId *string `json:"RecordLineId,omitempty" name:"RecordLineId"` + + // 记录权重值。 + // 注意:此字段可能返回 null,表示取不到有效值。 + Weight *uint64 `json:"Weight,omitempty" name:"Weight"` + + // 记录的 MX 记录值,非 MX 记录类型,默认为 0,MX记录则必选 + MX *uint64 `json:"MX,omitempty" name:"MX"` + + // 记录的 TTL 值,默认600 + TTL *uint64 `json:"TTL,omitempty" name:"TTL"` + + // 记录状态。0表示禁用,1表示启用,默认启用 + Enabled *uint64 `json:"Enabled,omitempty" name:"Enabled"` + + // 记录别名 + Remark *string `json:"Remark,omitempty" name:"Remark"` +} + +type BatchRecordInfo struct { + + // 记录 ID + // 注意:此字段可能返回 null,表示取不到有效值。 + RecordId *uint64 `json:"RecordId,omitempty" name:"RecordId"` + + // 子域名(主机记录)。 + // 注意:此字段可能返回 null,表示取不到有效值。 + SubDomain *string `json:"SubDomain,omitempty" name:"SubDomain"` + + // 记录类型, 详见 DescribeRecordType 接口 + // 注意:此字段可能返回 null,表示取不到有效值。 + RecordType *string `json:"RecordType,omitempty" name:"RecordType"` + + // 解析记录的线路,详见 DescribeRecordLineList 接口 + // 注意:此字段可能返回 null,表示取不到有效值。 + RecordLine *string `json:"RecordLine,omitempty" name:"RecordLine"` + + // 记录值 + // 注意:此字段可能返回 null,表示取不到有效值。 + Value *string `json:"Value,omitempty" name:"Value"` + + // 记录的 TTL 值 + // 注意:此字段可能返回 null,表示取不到有效值。 + TTL *uint64 `json:"TTL,omitempty" name:"TTL"` + + // 记录添加状态 + // 注意:此字段可能返回 null,表示取不到有效值。 + Status *string `json:"Status,omitempty" name:"Status"` + + // 操作类型 + // 注意:此字段可能返回 null,表示取不到有效值。 + Operation *string `json:"Operation,omitempty" name:"Operation"` + + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrMsg *string `json:"ErrMsg,omitempty" name:"ErrMsg"` + + // 此条记录在列表中的ID + Id *uint64 `json:"Id,omitempty" name:"Id"` + + // 记录生效状态 + // 注意:此字段可能返回 null,表示取不到有效值。 + Enabled *uint64 `json:"Enabled,omitempty" name:"Enabled"` + + // 记录的MX权重 + // 注意:此字段可能返回 null,表示取不到有效值。 + MX *uint64 `json:"MX,omitempty" name:"MX"` +} + +type CreateDomainAliasRequest struct { + *tchttp.BaseRequest + + // 域名别名 + DomainAlias *string `json:"DomainAlias,omitempty" name:"DomainAlias"` + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名ID,参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain + DomainId *int64 `json:"DomainId,omitempty" name:"DomainId"` +} + +func (r *CreateDomainAliasRequest) 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 *CreateDomainAliasRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "DomainAlias") + delete(f, "Domain") + delete(f, "DomainId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateDomainAliasRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type CreateDomainAliasResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 域名别名ID + DomainAliasId *int64 `json:"DomainAliasId,omitempty" name:"DomainAliasId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *CreateDomainAliasResponse) 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 *CreateDomainAliasResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateDomainBatchDetail struct { + + // 见RecordInfoBatch + // 注意:此字段可能返回 null,表示取不到有效值。 + RecordList []*CreateDomainBatchRecord `json:"RecordList,omitempty" name:"RecordList"` + + // 任务编号 + Id *uint64 `json:"Id,omitempty" name:"Id"` + + // 域名 + // 注意:此字段可能返回 null,表示取不到有效值。 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名等级 + // 注意:此字段可能返回 null,表示取不到有效值。 + DomainGrade *string `json:"DomainGrade,omitempty" name:"DomainGrade"` + + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrMsg *string `json:"ErrMsg,omitempty" name:"ErrMsg"` + + // 该条任务运行状态 + // 注意:此字段可能返回 null,表示取不到有效值。 + Status *string `json:"Status,omitempty" name:"Status"` + + // 操作类型 + // 注意:此字段可能返回 null,表示取不到有效值。 + Operation *string `json:"Operation,omitempty" name:"Operation"` +} + +type CreateDomainBatchRecord struct { + + // 子域名(主机记录)。 + // 注意:此字段可能返回 null,表示取不到有效值。 + SubDomain *string `json:"SubDomain,omitempty" name:"SubDomain"` + + // 记录类型, 详见 DescribeRecordType 接口 + // 注意:此字段可能返回 null,表示取不到有效值。 + RecordType *string `json:"RecordType,omitempty" name:"RecordType"` + + // 解析记录的线路,详见 DescribeRecordLineList 接口 + // 注意:此字段可能返回 null,表示取不到有效值。 + RecordLine *string `json:"RecordLine,omitempty" name:"RecordLine"` + + // 记录值 + // 注意:此字段可能返回 null,表示取不到有效值。 + Value *string `json:"Value,omitempty" name:"Value"` + + // 记录的 TTL 值 + // 注意:此字段可能返回 null,表示取不到有效值。 + TTL *uint64 `json:"TTL,omitempty" name:"TTL"` + + // 记录添加状态 + // 注意:此字段可能返回 null,表示取不到有效值。 + Status *string `json:"Status,omitempty" name:"Status"` + + // 操作类型 + // 注意:此字段可能返回 null,表示取不到有效值。 + Operation *string `json:"Operation,omitempty" name:"Operation"` + + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrMsg *string `json:"ErrMsg,omitempty" name:"ErrMsg"` + + // 此条记录在列表中的ID + Id *uint64 `json:"Id,omitempty" name:"Id"` +} + +type CreateDomainBatchRequest struct { + *tchttp.BaseRequest + + // 域名数组 + DomainList []*string `json:"DomainList,omitempty" name:"DomainList"` + + // 每个域名添加 @ 和 www 的 A 记录值,记录值为IP,如果不传此参数或者传空,将只添加域名,不添加记录。 + RecordValue *string `json:"RecordValue,omitempty" name:"RecordValue"` +} + +func (r *CreateDomainBatchRequest) 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 *CreateDomainBatchRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "DomainList") + delete(f, "RecordValue") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateDomainBatchRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type CreateDomainBatchResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 批量添加域名信息 + DetailList []*CreateDomainBatchDetail `json:"DetailList,omitempty" name:"DetailList"` + + // 批量任务的ID + JobId *uint64 `json:"JobId,omitempty" name:"JobId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *CreateDomainBatchResponse) 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 *CreateDomainBatchResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateDomainGroupRequest struct { + *tchttp.BaseRequest + + // 域名分组 + GroupName *string `json:"GroupName,omitempty" name:"GroupName"` +} + +func (r *CreateDomainGroupRequest) 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 *CreateDomainGroupRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "GroupName") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateDomainGroupRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type CreateDomainGroupResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 域名分组ID + GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *CreateDomainGroupResponse) 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 *CreateDomainGroupResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateDomainRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名分组ID + GroupId *uint64 `json:"GroupId,omitempty" name:"GroupId"` + + // 是否星标域名,”yes”、”no” 分别代表是和否。 + IsMark *string `json:"IsMark,omitempty" name:"IsMark"` +} + +func (r *CreateDomainRequest) 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 *CreateDomainRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "GroupId") + delete(f, "IsMark") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateDomainRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type CreateDomainResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 域名信息 + DomainInfo *DomainCreateInfo `json:"DomainInfo,omitempty" name:"DomainInfo"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *CreateDomainResponse) 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 *CreateDomainResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateRecordBatchDetail struct { + + // 见RecordInfoBatch + // 注意:此字段可能返回 null,表示取不到有效值。 + RecordList []*CreateRecordBatchRecord `json:"RecordList,omitempty" name:"RecordList"` + + // 任务编号 + Id *uint64 `json:"Id,omitempty" name:"Id"` + + // 域名 + // 注意:此字段可能返回 null,表示取不到有效值。 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名等级 + // 注意:此字段可能返回 null,表示取不到有效值。 + DomainGrade *string `json:"DomainGrade,omitempty" name:"DomainGrade"` + + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrMsg *string `json:"ErrMsg,omitempty" name:"ErrMsg"` + + // 该条任务运行状态 + // 注意:此字段可能返回 null,表示取不到有效值。 + Status *string `json:"Status,omitempty" name:"Status"` + + // 操作类型 + // 注意:此字段可能返回 null,表示取不到有效值。 + Operation *string `json:"Operation,omitempty" name:"Operation"` + + // 域名ID + // 注意:此字段可能返回 null,表示取不到有效值。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` +} + +type CreateRecordBatchRecord struct { + + // 子域名(主机记录)。 + // 注意:此字段可能返回 null,表示取不到有效值。 + SubDomain *string `json:"SubDomain,omitempty" name:"SubDomain"` + + // 记录类型, 详见 DescribeRecordType 接口 + // 注意:此字段可能返回 null,表示取不到有效值。 + RecordType *string `json:"RecordType,omitempty" name:"RecordType"` + + // 解析记录的线路,详见 DescribeRecordLineList 接口 + // 注意:此字段可能返回 null,表示取不到有效值。 + RecordLine *string `json:"RecordLine,omitempty" name:"RecordLine"` + + // 记录值 + // 注意:此字段可能返回 null,表示取不到有效值。 + Value *string `json:"Value,omitempty" name:"Value"` + + // 记录的 TTL 值 + // 注意:此字段可能返回 null,表示取不到有效值。 + TTL *uint64 `json:"TTL,omitempty" name:"TTL"` + + // 记录添加状态 + // 注意:此字段可能返回 null,表示取不到有效值。 + Status *string `json:"Status,omitempty" name:"Status"` + + // 操作类型 + // 注意:此字段可能返回 null,表示取不到有效值。 + Operation *string `json:"Operation,omitempty" name:"Operation"` + + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrMsg *string `json:"ErrMsg,omitempty" name:"ErrMsg"` + + // 此条记录在列表中的ID + Id *uint64 `json:"Id,omitempty" name:"Id"` + + // 记录的MX权重 + // 注意:此字段可能返回 null,表示取不到有效值。 + MX *uint64 `json:"MX,omitempty" name:"MX"` +} + +type CreateRecordBatchRequest struct { + *tchttp.BaseRequest + + // 域名ID,多个 domain_id 用英文逗号进行分割。 + DomainIdList []*string `json:"DomainIdList,omitempty" name:"DomainIdList"` + + // 记录数组 + RecordList []*AddRecordBatch `json:"RecordList,omitempty" name:"RecordList"` +} + +func (r *CreateRecordBatchRequest) 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 *CreateRecordBatchRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "DomainIdList") + delete(f, "RecordList") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateRecordBatchRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type CreateRecordBatchResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 批量添加域名信息 + DetailList []*CreateRecordBatchDetail `json:"DetailList,omitempty" name:"DetailList"` + + // 批量任务的ID + JobId *uint64 `json:"JobId,omitempty" name:"JobId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *CreateRecordBatchResponse) 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 *CreateRecordBatchResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateRecordRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 记录类型,通过 API 记录类型获得,大写英文,比如:A 。 + RecordType *string `json:"RecordType,omitempty" name:"RecordType"` + + // 记录线路,通过 API 记录线路获得,中文,比如:默认。 + RecordLine *string `json:"RecordLine,omitempty" name:"RecordLine"` + + // 记录值,如 IP : 200.200.200.200, CNAME : cname.dnspod.com., MX : mail.dnspod.com.。 + Value *string `json:"Value,omitempty" name:"Value"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` + + // 主机记录,如 www,如果不传,默认为 @。 + SubDomain *string `json:"SubDomain,omitempty" name:"SubDomain"` + + // 线路的 ID,通过 API 记录线路获得,英文字符串,比如:10=1。参数RecordLineId优先级高于RecordLine,如果同时传递二者,优先使用RecordLineId参数。 + RecordLineId *string `json:"RecordLineId,omitempty" name:"RecordLineId"` + + // MX 优先级,当记录类型是 MX 时有效,范围1-20,MX 记录时必选。 + MX *uint64 `json:"MX,omitempty" name:"MX"` + + // TTL,范围1-604800,不同等级域名最小值不同。 + TTL *uint64 `json:"TTL,omitempty" name:"TTL"` + + // 权重信息,0到100的整数。仅企业 VIP 域名可用,0 表示关闭,不传该参数,表示不设置权重信息。 + Weight *uint64 `json:"Weight,omitempty" name:"Weight"` + + // 记录初始状态,取值范围为 ENABLE 和 DISABLE 。默认为 ENABLE ,如果传入 DISABLE,解析不会生效,也不会验证负载均衡的限制。 + Status *string `json:"Status,omitempty" name:"Status"` +} + +func (r *CreateRecordRequest) 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 *CreateRecordRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "RecordType") + delete(f, "RecordLine") + delete(f, "Value") + delete(f, "DomainId") + delete(f, "SubDomain") + delete(f, "RecordLineId") + delete(f, "MX") + delete(f, "TTL") + delete(f, "Weight") + delete(f, "Status") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateRecordRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type CreateRecordResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 记录ID + RecordId *uint64 `json:"RecordId,omitempty" name:"RecordId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *CreateRecordResponse) 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 *CreateRecordResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DeleteDomainAliasRequest struct { + *tchttp.BaseRequest + + // 域名别名ID + DomainAliasId *int64 `json:"DomainAliasId,omitempty" name:"DomainAliasId"` + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名ID,参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain + DomainId *int64 `json:"DomainId,omitempty" name:"DomainId"` +} + +func (r *DeleteDomainAliasRequest) 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 *DeleteDomainAliasRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "DomainAliasId") + delete(f, "Domain") + delete(f, "DomainId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteDomainAliasRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type DeleteDomainAliasResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DeleteDomainAliasResponse) 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 *DeleteDomainAliasResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DeleteDomainRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` +} + +func (r *DeleteDomainRequest) 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 *DeleteDomainRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "DomainId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteDomainRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type DeleteDomainResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DeleteDomainResponse) 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 *DeleteDomainResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DeleteRecordRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 记录 ID 。 + RecordId *uint64 `json:"RecordId,omitempty" name:"RecordId"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` +} + +func (r *DeleteRecordRequest) 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 *DeleteRecordRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "RecordId") + delete(f, "DomainId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteRecordRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type DeleteRecordResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DeleteRecordResponse) 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 *DeleteRecordResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DeleteShareDomainRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名共享的账号 + Account *string `json:"Account,omitempty" name:"Account"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` +} + +func (r *DeleteShareDomainRequest) 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 *DeleteShareDomainRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "Account") + delete(f, "DomainId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteShareDomainRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type DeleteShareDomainResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DeleteShareDomainResponse) 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 *DeleteShareDomainResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeBatchTaskDetail struct { + + // 见BatchRecordInfo + // 注意:此字段可能返回 null,表示取不到有效值。 + RecordList []*BatchRecordInfo `json:"RecordList,omitempty" name:"RecordList"` + + // 任务编号 + Id *uint64 `json:"Id,omitempty" name:"Id"` + + // 域名 + // 注意:此字段可能返回 null,表示取不到有效值。 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名等级 + // 注意:此字段可能返回 null,表示取不到有效值。 + DomainGrade *string `json:"DomainGrade,omitempty" name:"DomainGrade"` + + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrMsg *string `json:"ErrMsg,omitempty" name:"ErrMsg"` + + // 该条任务运行状态 + // 注意:此字段可能返回 null,表示取不到有效值。 + Status *string `json:"Status,omitempty" name:"Status"` + + // 操作类型 + // 注意:此字段可能返回 null,表示取不到有效值。 + Operation *string `json:"Operation,omitempty" name:"Operation"` + + // 域名ID + // 注意:此字段可能返回 null,表示取不到有效值。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` +} + +type DescribeBatchTaskRequest struct { + *tchttp.BaseRequest + + // 任务ID + JobId *uint64 `json:"JobId,omitempty" name:"JobId"` +} + +func (r *DescribeBatchTaskRequest) 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 *DescribeBatchTaskRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "JobId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeBatchTaskRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type DescribeBatchTaskResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 批量任务详情 + DetailList []*DescribeBatchTaskDetail `json:"DetailList,omitempty" name:"DetailList"` + + // 总任务条数 + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 成功条数 + SuccessCount *uint64 `json:"SuccessCount,omitempty" name:"SuccessCount"` + + // 失败条数 + FailCount *uint64 `json:"FailCount,omitempty" name:"FailCount"` + + // 批量任务类型 + JobType *string `json:"JobType,omitempty" name:"JobType"` + + // 任务创建时间 + CreatedAt *string `json:"CreatedAt,omitempty" name:"CreatedAt"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeBatchTaskResponse) 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 *DescribeBatchTaskResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeDomainListRequest struct { + *tchttp.BaseRequest + + // 域名分组类型,默认为ALL。可取值为ALL,MINE,SHARE,ISMARK,PAUSE,VIP,RECENT,SHARE_OUT。 + Type *string `json:"Type,omitempty" name:"Type"` + + // 记录开始的偏移, 第一条记录为 0, 依次类推。默认值为0。 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` + + // 要获取的域名数量, 比如获取20个, 则为20。默认值为3000。 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` + + // 分组ID, 获取指定分组的域名 + GroupId *int64 `json:"GroupId,omitempty" name:"GroupId"` + + // 根据关键字搜索域名 + Keyword *string `json:"Keyword,omitempty" name:"Keyword"` +} + +func (r *DescribeDomainListRequest) 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 *DescribeDomainListRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Type") + delete(f, "Offset") + delete(f, "Limit") + delete(f, "GroupId") + delete(f, "Keyword") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDomainListRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type DescribeDomainListResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 列表页统计信息 + DomainCountInfo *DomainCountInfo `json:"DomainCountInfo,omitempty" name:"DomainCountInfo"` + + // 域名列表 + DomainList []*DomainListItem `json:"DomainList,omitempty" name:"DomainList"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeDomainListResponse) 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 *DescribeDomainListResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeDomainLogListRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` + + // 记录开始的偏移,第一条记录为 0,依次类推,默认为0 + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` + + // 共要获取的日志条数,比如获取20条,则为20,默认为500条,单次最多获取500条。 + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` +} + +func (r *DescribeDomainLogListRequest) 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 *DescribeDomainLogListRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "DomainId") + delete(f, "Offset") + delete(f, "Limit") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDomainLogListRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type DescribeDomainLogListResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 域名信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + LogList []*string `json:"LogList,omitempty" name:"LogList"` + + // 分页大小 + PageSize *uint64 `json:"PageSize,omitempty" name:"PageSize"` + + // 日志总条数 + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeDomainLogListResponse) 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 *DescribeDomainLogListResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeDomainPurviewRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` +} + +func (r *DescribeDomainPurviewRequest) 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 *DescribeDomainPurviewRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "DomainId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDomainPurviewRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type DescribeDomainPurviewResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 域名权限列表 + PurviewList []*PurviewInfo `json:"PurviewList,omitempty" name:"PurviewList"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeDomainPurviewResponse) 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 *DescribeDomainPurviewResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeDomainRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` +} + +func (r *DescribeDomainRequest) 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 *DescribeDomainRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "DomainId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDomainRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type DescribeDomainResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 域名信息 + DomainInfo *DomainInfo `json:"DomainInfo,omitempty" name:"DomainInfo"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeDomainResponse) 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 *DescribeDomainResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeDomainShareInfoRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` +} + +func (r *DescribeDomainShareInfoRequest) 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 *DescribeDomainShareInfoRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "DomainId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDomainShareInfoRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type DescribeDomainShareInfoResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 域名共享信息 + ShareList []*DomainShareInfo `json:"ShareList,omitempty" name:"ShareList"` + + // 域名拥有者账号 + Owner *string `json:"Owner,omitempty" name:"Owner"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeDomainShareInfoResponse) 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 *DescribeDomainShareInfoResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeRecordLineListRequest struct { + *tchttp.BaseRequest + + // 域名。 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名等级。 + // + 旧套餐:D_FREE、D_PLUS、D_EXTRA、D_EXPERT、D_ULTRA 分别对应免费套餐、个人豪华、企业1、企业2、企业3。 + // + 新套餐:DP_FREE、DP_PLUS、DP_EXTRA、DP_EXPERT、DP_ULTRA 分别对应新免费、个人专业版、企业创业版、企业标准版、企业旗舰版。 + DomainGrade *string `json:"DomainGrade,omitempty" name:"DomainGrade"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` +} + +func (r *DescribeRecordLineListRequest) 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 *DescribeRecordLineListRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "DomainGrade") + delete(f, "DomainId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRecordLineListRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type DescribeRecordLineListResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 线路列表。 + LineList []*LineInfo `json:"LineList,omitempty" name:"LineList"` + + // 线路分组列表。 + LineGroupList []*LineGroupInfo `json:"LineGroupList,omitempty" name:"LineGroupList"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeRecordLineListResponse) 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 *DescribeRecordLineListResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeRecordListRequest struct { + *tchttp.BaseRequest + + // 要获取的解析记录所属的域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 要获取的解析记录所属的域名Id,如果传了DomainId,系统将会忽略Domain参数 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` + + // 解析记录的主机头,如果传了此参数,则只会返回此主机头对应的解析记录 + Subdomain *string `json:"Subdomain,omitempty" name:"Subdomain"` + + // 获取某种类型的解析记录,如 A,CNAME,NS,AAAA,显性URL,隐性URL,CAA,SPF等 + RecordType *string `json:"RecordType,omitempty" name:"RecordType"` + + // 获取某条线路名称的解析记录 + RecordLine *string `json:"RecordLine,omitempty" name:"RecordLine"` + + // 获取某个线路Id对应的解析记录,如果传RecordLineId,系统会忽略RecordLine参数 + RecordLineId *string `json:"RecordLineId,omitempty" name:"RecordLineId"` + + // 获取某个分组下的解析记录时,传这个分组Id + GroupId *uint64 `json:"GroupId,omitempty" name:"GroupId"` + + // 通过关键字搜索解析记录,当前支持搜索主机头和记录值 + Keyword *string `json:"Keyword,omitempty" name:"Keyword"` + + // 排序字段,支持 name,line,type,value,weight,mx,ttl,updated_on 几个字段。 + SortField *string `json:"SortField,omitempty" name:"SortField"` + + // 排序方式,正序:ASC,逆序:DESC。默认值为ASC。 + SortType *string `json:"SortType,omitempty" name:"SortType"` + + // 偏移量,默认值为0。 + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` + + // 限制数量,当前Limit最大支持3000。默认值为100。 + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` +} + +func (r *DescribeRecordListRequest) 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 *DescribeRecordListRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "DomainId") + delete(f, "Subdomain") + delete(f, "RecordType") + delete(f, "RecordLine") + delete(f, "RecordLineId") + delete(f, "GroupId") + delete(f, "Keyword") + delete(f, "SortField") + delete(f, "SortType") + delete(f, "Offset") + delete(f, "Limit") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRecordListRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type DescribeRecordListResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 记录的数量统计信息 + RecordCountInfo *RecordCountInfo `json:"RecordCountInfo,omitempty" name:"RecordCountInfo"` + + // 获取的记录列表 + RecordList []*RecordListItem `json:"RecordList,omitempty" name:"RecordList"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeRecordListResponse) 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 *DescribeRecordListResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeRecordRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 记录 ID 。 + RecordId *uint64 `json:"RecordId,omitempty" name:"RecordId"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` +} + +func (r *DescribeRecordRequest) 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 *DescribeRecordRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "RecordId") + delete(f, "DomainId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRecordRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type DescribeRecordResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 记录信息 + RecordInfo *RecordInfo `json:"RecordInfo,omitempty" name:"RecordInfo"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeRecordResponse) 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 *DescribeRecordResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeRecordTypeRequest struct { + *tchttp.BaseRequest + + // 域名等级。 + // + 旧套餐:D_FREE、D_PLUS、D_EXTRA、D_EXPERT、D_ULTRA 分别对应免费套餐、个人豪华、企业1、企业2、企业3。 + // + 新套餐:DP_FREE、DP_PLUS、DP_EXTRA、DP_EXPERT、DP_ULTRA 分别对应新免费、个人专业版、企业创业版、企业标准版、企业旗舰版。 + DomainGrade *string `json:"DomainGrade,omitempty" name:"DomainGrade"` +} + +func (r *DescribeRecordTypeRequest) 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 *DescribeRecordTypeRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "DomainGrade") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeRecordTypeRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type DescribeRecordTypeResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 记录类型列表 + TypeList []*string `json:"TypeList,omitempty" name:"TypeList"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeRecordTypeResponse) 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 *DescribeRecordTypeResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeUserDetailRequest struct { + *tchttp.BaseRequest +} + +func (r *DescribeUserDetailRequest) 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 *DescribeUserDetailRequest) 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", "DescribeUserDetailRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type DescribeUserDetailResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 帐户信息 + UserInfo *UserInfo `json:"UserInfo,omitempty" name:"UserInfo"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeUserDetailResponse) 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 *DescribeUserDetailResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DomainCountInfo struct { + + // 符合条件的域名数量 + DomainTotal *uint64 `json:"DomainTotal,omitempty" name:"DomainTotal"` + + // 用户可以查看的所有域名数量 + AllTotal *uint64 `json:"AllTotal,omitempty" name:"AllTotal"` + + // 用户账号添加的域名数量 + MineTotal *uint64 `json:"MineTotal,omitempty" name:"MineTotal"` + + // 共享给用户的域名数量 + ShareTotal *uint64 `json:"ShareTotal,omitempty" name:"ShareTotal"` + + // 付费域名数量 + VipTotal *uint64 `json:"VipTotal,omitempty" name:"VipTotal"` + + // 暂停的域名数量 + PauseTotal *uint64 `json:"PauseTotal,omitempty" name:"PauseTotal"` + + // dns设置错误的域名数量 + ErrorTotal *uint64 `json:"ErrorTotal,omitempty" name:"ErrorTotal"` + + // 锁定的域名数量 + LockTotal *uint64 `json:"LockTotal,omitempty" name:"LockTotal"` + + // 封禁的域名数量 + SpamTotal *uint64 `json:"SpamTotal,omitempty" name:"SpamTotal"` + + // 30天内即将到期的域名数量 + VipExpire *uint64 `json:"VipExpire,omitempty" name:"VipExpire"` + + // 分享给其它人的域名数量 + ShareOutTotal *uint64 `json:"ShareOutTotal,omitempty" name:"ShareOutTotal"` + + // 指定分组内的域名数量 + GroupTotal *uint64 `json:"GroupTotal,omitempty" name:"GroupTotal"` +} + +type DomainCreateInfo struct { + + // 域名ID + Id *uint64 `json:"Id,omitempty" name:"Id"` + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名的punycode + Punycode *string `json:"Punycode,omitempty" name:"Punycode"` + + // 域名的NS列表 + GradeNsList []*string `json:"GradeNsList,omitempty" name:"GradeNsList"` +} + +type DomainInfo struct { + + // 域名ID + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` + + // 域名状态 + Status *string `json:"Status,omitempty" name:"Status"` + + // 域名套餐等级 + Grade *string `json:"Grade,omitempty" name:"Grade"` + + // 域名分组ID + GroupId *uint64 `json:"GroupId,omitempty" name:"GroupId"` + + // 是否星标域名 + IsMark *string `json:"IsMark,omitempty" name:"IsMark"` + + // TTL(DNS记录缓存时间) + TTL *uint64 `json:"TTL,omitempty" name:"TTL"` + + // cname加速启用状态 + CnameSpeedup *string `json:"CnameSpeedup,omitempty" name:"CnameSpeedup"` + + // 域名备注 + // 注意:此字段可能返回 null,表示取不到有效值。 + Remark *string `json:"Remark,omitempty" name:"Remark"` + + // 域名Punycode + Punycode *string `json:"Punycode,omitempty" name:"Punycode"` + + // 域名DNS状态 + DnsStatus *string `json:"DnsStatus,omitempty" name:"DnsStatus"` + + // 域名的NS列表 + DnspodNsList []*string `json:"DnspodNsList,omitempty" name:"DnspodNsList"` + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名等级代号 + GradeLevel *uint64 `json:"GradeLevel,omitempty" name:"GradeLevel"` + + // 域名所属的用户ID + UserId *uint64 `json:"UserId,omitempty" name:"UserId"` + + // 是否为付费域名 + IsVip *string `json:"IsVip,omitempty" name:"IsVip"` + + // 域名所有者的账号 + Owner *string `json:"Owner,omitempty" name:"Owner"` + + // 域名等级的描述 + GradeTitle *string `json:"GradeTitle,omitempty" name:"GradeTitle"` + + // 域名创建时间 + CreatedOn *string `json:"CreatedOn,omitempty" name:"CreatedOn"` + + // 最后操作时间 + UpdatedOn *string `json:"UpdatedOn,omitempty" name:"UpdatedOn"` + + // 腾讯云账户Uin + Uin *string `json:"Uin,omitempty" name:"Uin"` + + // 域名实际使用的NS列表 + // 注意:此字段可能返回 null,表示取不到有效值。 + ActualNsList []*string `json:"ActualNsList,omitempty" name:"ActualNsList"` + + // 域名的记录数量 + RecordCount *uint64 `json:"RecordCount,omitempty" name:"RecordCount"` + + // 域名所有者的账户昵称 + // 注意:此字段可能返回 null,表示取不到有效值。 + OwnerNick *string `json:"OwnerNick,omitempty" name:"OwnerNick"` +} + +type DomainListItem struct { + + // 系统分配给域名的唯一标识 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` + + // 域名的原始格式 + Name *string `json:"Name,omitempty" name:"Name"` + + // 域名的状态,正常:ENABLE,暂停:PAUSE,封禁:SPAM + Status *string `json:"Status,omitempty" name:"Status"` + + // 域名默认的解析记录默认TTL值 + TTL *uint64 `json:"TTL,omitempty" name:"TTL"` + + // 是否开启CNAME加速,开启:ENABLE,未开启:DISABLE + CNAMESpeedup *string `json:"CNAMESpeedup,omitempty" name:"CNAMESpeedup"` + + // DNS 设置状态,错误:DNSERROR,正常:空字符串 + DNSStatus *string `json:"DNSStatus,omitempty" name:"DNSStatus"` + + // 域名的套餐等级代码 + Grade *string `json:"Grade,omitempty" name:"Grade"` + + // 域名所属的分组Id + GroupId *uint64 `json:"GroupId,omitempty" name:"GroupId"` + + // 是否开启搜索引擎推送优化,是:YES,否:NO + SearchEnginePush *string `json:"SearchEnginePush,omitempty" name:"SearchEnginePush"` + + // 域名备注说明 + Remark *string `json:"Remark,omitempty" name:"Remark"` + + // 经过punycode编码后的域名格式 + Punycode *string `json:"Punycode,omitempty" name:"Punycode"` + + // 系统为域名分配的有效DNS + EffectiveDNS []*string `json:"EffectiveDNS,omitempty" name:"EffectiveDNS"` + + // 域名套餐等级对应的序号 + GradeLevel *uint64 `json:"GradeLevel,omitempty" name:"GradeLevel"` + + // 套餐名称 + GradeTitle *string `json:"GradeTitle,omitempty" name:"GradeTitle"` + + // 是否是付费套餐 + IsVip *string `json:"IsVip,omitempty" name:"IsVip"` + + // 付费套餐开通时间 + VipStartAt *string `json:"VipStartAt,omitempty" name:"VipStartAt"` + + // 付费套餐到期时间 + VipEndAt *string `json:"VipEndAt,omitempty" name:"VipEndAt"` + + // 域名是否开通VIP自动续费,是:YES,否:NO,默认:DEFAULT + VipAutoRenew *string `json:"VipAutoRenew,omitempty" name:"VipAutoRenew"` + + // 域名下的记录数量 + RecordCount *uint64 `json:"RecordCount,omitempty" name:"RecordCount"` + + // 域名添加时间 + CreatedOn *string `json:"CreatedOn,omitempty" name:"CreatedOn"` + + // 域名更新时间 + UpdatedOn *string `json:"UpdatedOn,omitempty" name:"UpdatedOn"` + + // 域名所属账号 + Owner *string `json:"Owner,omitempty" name:"Owner"` +} + +type DomainShareInfo struct { + + // 域名共享对象的账号 + ShareTo *string `json:"ShareTo,omitempty" name:"ShareTo"` + + // 共享模式,“rw”:可读写。 “r”::只读 + Mode *string `json:"Mode,omitempty" name:"Mode"` + + // 共享状态“enabled”:共享成功。“pending”:共享到的账号不存在, 等待注册 + Status *string `json:"Status,omitempty" name:"Status"` +} + +type LineGroupInfo struct { + + // 线路分组ID + LineId *string `json:"LineId,omitempty" name:"LineId"` + + // 线路分组名称 + Name *string `json:"Name,omitempty" name:"Name"` + + // 分组类型 + Type *string `json:"Type,omitempty" name:"Type"` + + // 线路分组包含的线路列表 + LineList []*string `json:"LineList,omitempty" name:"LineList"` +} + +type LineInfo struct { + + // 线路名称 + Name *string `json:"Name,omitempty" name:"Name"` + + // 线路ID + LineId *string `json:"LineId,omitempty" name:"LineId"` +} + +type LockInfo struct { + + // 域名 ID + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` + + // 域名解锁码 + LockCode *string `json:"LockCode,omitempty" name:"LockCode"` + + // 域名自动解锁日期 + LockEnd *string `json:"LockEnd,omitempty" name:"LockEnd"` +} + +type ModifyDomainLockRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名要锁定的天数,最多可锁定的天数可以通过获取域名权限接口获取。 + LockDays *uint64 `json:"LockDays,omitempty" name:"LockDays"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` +} + +func (r *ModifyDomainLockRequest) 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 *ModifyDomainLockRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "LockDays") + delete(f, "DomainId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyDomainLockRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDomainLockResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 域名锁定信息 + LockInfo *LockInfo `json:"LockInfo,omitempty" name:"LockInfo"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyDomainLockResponse) 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 *ModifyDomainLockResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDomainOwnerRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名需要转入的账号,支持Uin或者邮箱格式 + Account *string `json:"Account,omitempty" name:"Account"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` +} + +func (r *ModifyDomainOwnerRequest) 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 *ModifyDomainOwnerRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "Account") + delete(f, "DomainId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyDomainOwnerRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDomainOwnerResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyDomainOwnerResponse) 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 *ModifyDomainOwnerResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDomainRemarkRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` + + // 域名备注,删除备注请提交空内容。 + Remark *string `json:"Remark,omitempty" name:"Remark"` +} + +func (r *ModifyDomainRemarkRequest) 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 *ModifyDomainRemarkRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "DomainId") + delete(f, "Remark") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyDomainRemarkRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDomainRemarkResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyDomainRemarkResponse) 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 *ModifyDomainRemarkResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDomainStatusRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名状态,”enable” 、”disable” 分别代表启用和暂停 + Status *string `json:"Status,omitempty" name:"Status"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` +} + +func (r *ModifyDomainStatusRequest) 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 *ModifyDomainStatusRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "Status") + delete(f, "DomainId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyDomainStatusRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDomainStatusResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyDomainStatusResponse) 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 *ModifyDomainStatusResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDomainUnlockRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名解锁码,锁定的时候会返回。 + LockCode *string `json:"LockCode,omitempty" name:"LockCode"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` +} + +func (r *ModifyDomainUnlockRequest) 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 *ModifyDomainUnlockRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "LockCode") + delete(f, "DomainId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyDomainUnlockRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDomainUnlockResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyDomainUnlockResponse) 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 *ModifyDomainUnlockResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDynamicDNSRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 记录ID。 + RecordId *uint64 `json:"RecordId,omitempty" name:"RecordId"` + + // 记录线路,通过 API 记录线路获得,中文,比如:默认。 + RecordLine *string `json:"RecordLine,omitempty" name:"RecordLine"` + + // 记录值,如 IP : 200.200.200.200, CNAME : cname.dnspod.com., MX : mail.dnspod.com.。 + Value *string `json:"Value,omitempty" name:"Value"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` + + // 主机记录,如 www,如果不传,默认为 @。 + SubDomain *string `json:"SubDomain,omitempty" name:"SubDomain"` + + // 线路的 ID,通过 API 记录线路获得,英文字符串,比如:10=1。参数RecordLineId优先级高于RecordLine,如果同时传递二者,优先使用RecordLineId参数。 + RecordLineId *string `json:"RecordLineId,omitempty" name:"RecordLineId"` +} + +func (r *ModifyDynamicDNSRequest) 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 *ModifyDynamicDNSRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "RecordId") + delete(f, "RecordLine") + delete(f, "Value") + delete(f, "DomainId") + delete(f, "SubDomain") + delete(f, "RecordLineId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyDynamicDNSRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDynamicDNSResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 记录ID + RecordId *uint64 `json:"RecordId,omitempty" name:"RecordId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyDynamicDNSResponse) 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 *ModifyDynamicDNSResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyRecordBatchDetail struct { + + // 见RecordInfoBatchModify + // 注意:此字段可能返回 null,表示取不到有效值。 + RecordList []*BatchRecordInfo `json:"RecordList,omitempty" name:"RecordList"` + + // 任务编号 + Id *uint64 `json:"Id,omitempty" name:"Id"` + + // 域名 + // 注意:此字段可能返回 null,表示取不到有效值。 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 域名等级 + // 注意:此字段可能返回 null,表示取不到有效值。 + DomainGrade *string `json:"DomainGrade,omitempty" name:"DomainGrade"` + + // 错误信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + ErrMsg *string `json:"ErrMsg,omitempty" name:"ErrMsg"` + + // 该条任务运行状态 + // 注意:此字段可能返回 null,表示取不到有效值。 + Status *string `json:"Status,omitempty" name:"Status"` + + // 操作类型 + // 注意:此字段可能返回 null,表示取不到有效值。 + Operation *string `json:"Operation,omitempty" name:"Operation"` + + // 域名ID + // 注意:此字段可能返回 null,表示取不到有效值。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` +} + +type ModifyRecordBatchRequest struct { + *tchttp.BaseRequest + + // 记录ID数组 + RecordIdList []*uint64 `json:"RecordIdList,omitempty" name:"RecordIdList"` + + // 要修改的字段,可选值为 [“sub_domain”、”record_type”、”area”、”value”、”mx”、”ttl”、”status”] 中的某一个。 + Change *string `json:"Change,omitempty" name:"Change"` + + // 修改为,具体依赖 change 字段,必填参数。 + ChangeTo *string `json:"ChangeTo,omitempty" name:"ChangeTo"` + + // 要修改到的记录值,仅当 change 字段为 “record_type” 时为必填参数。 + Value *string `json:"Value,omitempty" name:"Value"` + + // MX记录优先级,仅当修改为 MX 记录时为必填参数。 + MX *string `json:"MX,omitempty" name:"MX"` +} + +func (r *ModifyRecordBatchRequest) 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 *ModifyRecordBatchRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "RecordIdList") + delete(f, "Change") + delete(f, "ChangeTo") + delete(f, "Value") + delete(f, "MX") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyRecordBatchRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type ModifyRecordBatchResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 批量任务ID + JobId *uint64 `json:"JobId,omitempty" name:"JobId"` + + // 见modifyRecordBatchDetail + DetailList []*ModifyRecordBatchDetail `json:"DetailList,omitempty" name:"DetailList"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyRecordBatchResponse) 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 *ModifyRecordBatchResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyRecordRemarkRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 记录 ID 。 + RecordId *uint64 `json:"RecordId,omitempty" name:"RecordId"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` + + // 解析记录备注,删除备注请提交空内容。 + Remark *string `json:"Remark,omitempty" name:"Remark"` +} + +func (r *ModifyRecordRemarkRequest) 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 *ModifyRecordRemarkRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "RecordId") + delete(f, "DomainId") + delete(f, "Remark") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyRecordRemarkRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type ModifyRecordRemarkResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyRecordRemarkResponse) 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 *ModifyRecordRemarkResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyRecordRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 记录类型,通过 API 记录类型获得,大写英文,比如:A 。 + RecordType *string `json:"RecordType,omitempty" name:"RecordType"` + + // 记录线路,通过 API 记录线路获得,中文,比如:默认。 + RecordLine *string `json:"RecordLine,omitempty" name:"RecordLine"` + + // 记录值,如 IP : 200.200.200.200, CNAME : cname.dnspod.com., MX : mail.dnspod.com.。 + Value *string `json:"Value,omitempty" name:"Value"` + + // 记录 ID 。 + RecordId *uint64 `json:"RecordId,omitempty" name:"RecordId"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` + + // 主机记录,如 www,如果不传,默认为 @。 + SubDomain *string `json:"SubDomain,omitempty" name:"SubDomain"` + + // 线路的 ID,通过 API 记录线路获得,英文字符串,比如:10=1。参数RecordLineId优先级高于RecordLine,如果同时传递二者,优先使用RecordLineId参数。 + RecordLineId *string `json:"RecordLineId,omitempty" name:"RecordLineId"` + + // MX 优先级,当记录类型是 MX 时有效,范围1-20,MX 记录时必选。 + MX *uint64 `json:"MX,omitempty" name:"MX"` + + // TTL,范围1-604800,不同等级域名最小值不同。 + TTL *uint64 `json:"TTL,omitempty" name:"TTL"` + + // 权重信息,0到100的整数。仅企业 VIP 域名可用,0 表示关闭,不传该参数,表示不设置权重信息。 + Weight *uint64 `json:"Weight,omitempty" name:"Weight"` + + // 记录初始状态,取值范围为 ENABLE 和 DISABLE 。默认为 ENABLE ,如果传入 DISABLE,解析不会生效,也不会验证负载均衡的限制。 + Status *string `json:"Status,omitempty" name:"Status"` +} + +func (r *ModifyRecordRequest) 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 *ModifyRecordRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "RecordType") + delete(f, "RecordLine") + delete(f, "Value") + delete(f, "RecordId") + delete(f, "DomainId") + delete(f, "SubDomain") + delete(f, "RecordLineId") + delete(f, "MX") + delete(f, "TTL") + delete(f, "Weight") + delete(f, "Status") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyRecordRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type ModifyRecordResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 记录ID + RecordId *uint64 `json:"RecordId,omitempty" name:"RecordId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyRecordResponse) 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 *ModifyRecordResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyRecordStatusRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 记录 ID 。 + RecordId *uint64 `json:"RecordId,omitempty" name:"RecordId"` + + // 记录的状态。取值范围为 ENABLE 和 DISABLE。如果传入 DISABLE,解析不会生效,也不会验证负载均衡的限制。 + Status *string `json:"Status,omitempty" name:"Status"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` +} + +func (r *ModifyRecordStatusRequest) 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 *ModifyRecordStatusRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "RecordId") + delete(f, "Status") + delete(f, "DomainId") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyRecordStatusRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type ModifyRecordStatusResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 记录ID。 + RecordId *uint64 `json:"RecordId,omitempty" name:"RecordId"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyRecordStatusResponse) 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 *ModifyRecordStatusResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifySubdomainStatusRequest struct { + *tchttp.BaseRequest + + // 域名 + Domain *string `json:"Domain,omitempty" name:"Domain"` + + // 记录类型。允许的值为A、CNAME、MX、TXT、NS、AAAA、SPF、SRV、CAA、URL、URL1。若要传多个,用英文逗号分隔,例如A,TXT,CNAME。 + RecordType *string `json:"RecordType,omitempty" name:"RecordType"` + + // 记录状态。允许的值为disable。 + Status *string `json:"Status,omitempty" name:"Status"` + + // 域名 ID 。参数 DomainId 优先级比参数 Domain 高,如果传递参数 DomainId 将忽略参数 Domain 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` + + // 主机记录,如 www,如果不传,默认为 @。 + SubDomain *string `json:"SubDomain,omitempty" name:"SubDomain"` +} + +func (r *ModifySubdomainStatusRequest) 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 *ModifySubdomainStatusRequest) FromJsonString(s string) error { + f := make(map[string]interface{}) + if err := json.Unmarshal([]byte(s), &f); err != nil { + return err + } + delete(f, "Domain") + delete(f, "RecordType") + delete(f, "Status") + delete(f, "DomainId") + delete(f, "SubDomain") + if len(f) > 0 { + return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifySubdomainStatusRequest has unknown keys!", "") + } + return json.Unmarshal([]byte(s), &r) +} + +type ModifySubdomainStatusResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifySubdomainStatusResponse) 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 *ModifySubdomainStatusResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type PurviewInfo struct { + + // 权限名称 + Name *string `json:"Name,omitempty" name:"Name"` + + // 权限值 + Value *string `json:"Value,omitempty" name:"Value"` +} + +type RecordCountInfo struct { + + // 子域名数量 + SubdomainCount *uint64 `json:"SubdomainCount,omitempty" name:"SubdomainCount"` + + // 列表返回的记录数 + ListCount *uint64 `json:"ListCount,omitempty" name:"ListCount"` + + // 总的记录数 + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` +} + +type RecordInfo struct { + + // 记录 ID 。 + Id *uint64 `json:"Id,omitempty" name:"Id"` + + // 子域名(主机记录)。 + SubDomain *string `json:"SubDomain,omitempty" name:"SubDomain"` + + // 记录类型, 详见 DescribeRecordType 接口。 + RecordType *string `json:"RecordType,omitempty" name:"RecordType"` + + // 解析记录的线路,详见 DescribeRecordLineList 接口。 + RecordLine *string `json:"RecordLine,omitempty" name:"RecordLine"` + + // 解析记录的线路 ID ,详见 DescribeRecordLineList 接口。 + RecordLineId *string `json:"RecordLineId,omitempty" name:"RecordLineId"` + + // 记录值。 + Value *string `json:"Value,omitempty" name:"Value"` + + // 记录权重值。 + // 注意:此字段可能返回 null,表示取不到有效值。 + Weight *uint64 `json:"Weight,omitempty" name:"Weight"` + + // 记录的 MX 记录值,非 MX 记录类型,默认为 0。 + MX *uint64 `json:"MX,omitempty" name:"MX"` + + // 记录的 TTL 值。 + TTL *uint64 `json:"TTL,omitempty" name:"TTL"` + + // 记录状态。0表示禁用,1表示启用。 + Enabled *uint64 `json:"Enabled,omitempty" name:"Enabled"` + + // 该记录的 D 监控状态。 + // "Ok" : 服务器正常。 + // "Warn" : 该记录有报警, 服务器返回 4XX。 + // "Down" : 服务器宕机。 + // "" : 该记录未开启 D 监控。 + MonitorStatus *string `json:"MonitorStatus,omitempty" name:"MonitorStatus"` + + // 记录的备注。 + // 注意:此字段可能返回 null,表示取不到有效值。 + Remark *string `json:"Remark,omitempty" name:"Remark"` + + // 记录最后更新时间。 + UpdatedOn *string `json:"UpdatedOn,omitempty" name:"UpdatedOn"` + + // 域名 ID 。 + DomainId *uint64 `json:"DomainId,omitempty" name:"DomainId"` +} + +type RecordListItem struct { + + // 记录Id + RecordId *uint64 `json:"RecordId,omitempty" name:"RecordId"` + + // 记录值 + Value *string `json:"Value,omitempty" name:"Value"` + + // 记录状态,启用:ENABLE,暂停:DISABLE + Status *string `json:"Status,omitempty" name:"Status"` + + // 更新时间 + UpdatedOn *string `json:"UpdatedOn,omitempty" name:"UpdatedOn"` + + // 主机名 + Name *string `json:"Name,omitempty" name:"Name"` + + // 记录线路 + Line *string `json:"Line,omitempty" name:"Line"` + + // 线路Id + LineId *string `json:"LineId,omitempty" name:"LineId"` + + // 记录类型 + Type *string `json:"Type,omitempty" name:"Type"` + + // 记录权重,用于负载均衡记录 + // 注意:此字段可能返回 null,表示取不到有效值。 + Weight *uint64 `json:"Weight,omitempty" name:"Weight"` + + // 记录监控状态,正常:OK,告警:WARN,宕机:DOWN,未设置监控或监控暂停则为空 + MonitorStatus *string `json:"MonitorStatus,omitempty" name:"MonitorStatus"` + + // 记录备注说明 + Remark *string `json:"Remark,omitempty" name:"Remark"` + + // 记录缓存时间 + TTL *uint64 `json:"TTL,omitempty" name:"TTL"` + + // MX值,只有MX记录有 + // 注意:此字段可能返回 null,表示取不到有效值。 + MX *uint64 `json:"MX,omitempty" name:"MX"` +} + +type UserInfo struct { + + // 用户昵称 + Nick *string `json:"Nick,omitempty" name:"Nick"` + + // 用户ID + Id *int64 `json:"Id,omitempty" name:"Id"` + + // 用户账号, 邮箱格式 + Email *string `json:"Email,omitempty" name:"Email"` + + // 账号状态:”enabled”: 正常;”disabled”: 被封禁 + Status *string `json:"Status,omitempty" name:"Status"` + + // 电话号码 + Telephone *string `json:"Telephone,omitempty" name:"Telephone"` + + // 邮箱是否通过验证:”yes”: 通过;”no”: 未通过 + EmailVerified *string `json:"EmailVerified,omitempty" name:"EmailVerified"` + + // 手机是否通过验证:”yes”: 通过;”no”: 未通过 + TelephoneVerified *string `json:"TelephoneVerified,omitempty" name:"TelephoneVerified"` + + // 账号等级, 按照用户账号下域名等级排序, 选取一个最高等级为账号等级, 具体对应情况参见域名等级。 + UserGrade *string `json:"UserGrade,omitempty" name:"UserGrade"` + + // 用户名称, 企业用户对应为公司名称 + RealName *string `json:"RealName,omitempty" name:"RealName"` + + // 是否绑定微信:”yes”: 通过;”no”: 未通过 + WechatBinded *string `json:"WechatBinded,omitempty" name:"WechatBinded"` + + // 用户UIN + Uin *int64 `json:"Uin,omitempty" name:"Uin"` +} diff --git a/vendor/modules.txt b/vendor/modules.txt index 7b02510f42..149d36ea14 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -567,6 +567,8 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb/v20190107 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dayu/v20180709 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dc/v20180410 +# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.294 +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod/v20210323 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es v1.0.199 github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/es/v20180416 # github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/gaap v1.0.199 diff --git a/website/docs/r/dnspod_domain_instance.html.markdown b/website/docs/r/dnspod_domain_instance.html.markdown new file mode 100644 index 0000000000..dc0130d2de --- /dev/null +++ b/website/docs/r/dnspod_domain_instance.html.markdown @@ -0,0 +1,48 @@ +--- +subcategory: "DNSPOD" +layout: "tencentcloud" +page_title: "TencentCloud: tencentcloud_dnspod_domain_instance" +sidebar_current: "docs-tencentcloud-resource-dnspod_domain_instance" +description: |- + Provide a resource to create a DnsPod Domain instance. +--- + +# tencentcloud_dnspod_domain_instance + +Provide a resource to create a DnsPod Domain instance. + +## Example Usage + +```hcl +resource "tencentcloud_dnspod_domain_instance" "foo" { + domain = "hello.com" + remark = "this is demo" +} +``` + +## Argument Reference + +The following arguments are supported: + +* `domain` - (Required) The Domain. +* `group_id` - (Optional, ForceNew) The Group Id of Domain. +* `is_mark` - (Optional, ForceNew) Whether to Mark the Domain. +* `remark` - (Optional) The remark of Domain. +* `status` - (Optional) The status of Domain. + +## Attributes Reference + +In addition to all arguments above, the following attributes are exported: + +* `id` - ID of the resource. +* `create_time` - Create time of the domain. + + +## Import + +DnsPod Domain instance can be imported, e.g. + +``` +$ terraform import tencentcloud_dnspod_domain_instance.foo domain +``` + diff --git a/website/tencentcloud.erb b/website/tencentcloud.erb index 2cbb5ce4f2..941e0aca95 100644 --- a/website/tencentcloud.erb +++ b/website/tencentcloud.erb @@ -690,6 +690,20 @@ +