mirror of
https://github.com/usual2970/certimate.git
synced 2025-07-29 05:34:28 +00:00
feat: new acme dns-01 provider: ucloud udnr
This commit is contained in:
115
internal/pkg/sdk3rd/ucloud/udnr/apis.go
Normal file
115
internal/pkg/sdk3rd/ucloud/udnr/apis.go
Normal file
@@ -0,0 +1,115 @@
|
||||
package udnr
|
||||
|
||||
import (
|
||||
"github.com/ucloud/ucloud-sdk-go/ucloud/request"
|
||||
"github.com/ucloud/ucloud-sdk-go/ucloud/response"
|
||||
)
|
||||
|
||||
type QueryDomainDNSRequest struct {
|
||||
request.CommonBase
|
||||
|
||||
Dn *string `required:"true"`
|
||||
}
|
||||
|
||||
type QueryDomainDNSResponse struct {
|
||||
response.CommonBase
|
||||
|
||||
Data []DomainDNSRecord
|
||||
}
|
||||
|
||||
func (c *UDNRClient) NewQueryDomainDNSRequest() *QueryDomainDNSRequest {
|
||||
req := &QueryDomainDNSRequest{}
|
||||
|
||||
c.Client.SetupRequest(req)
|
||||
|
||||
req.SetRetryable(false)
|
||||
return req
|
||||
}
|
||||
|
||||
func (c *UDNRClient) QueryDomainDNS(req *QueryDomainDNSRequest) (*QueryDomainDNSResponse, error) {
|
||||
var err error
|
||||
var res QueryDomainDNSResponse
|
||||
|
||||
reqCopier := *req
|
||||
|
||||
err = c.Client.InvokeAction("UdnrDomainDNSQuery", &reqCopier, &res)
|
||||
if err != nil {
|
||||
return &res, err
|
||||
}
|
||||
|
||||
return &res, nil
|
||||
}
|
||||
|
||||
type AddDomainDNSRequest struct {
|
||||
request.CommonBase
|
||||
|
||||
Dn *string `required:"true"`
|
||||
DnsType *string `required:"true"`
|
||||
RecordName *string `required:"true"`
|
||||
Content *string `required:"true"`
|
||||
TTL *int `required:"true"`
|
||||
Prio *int `required:"false"`
|
||||
}
|
||||
|
||||
type AddDomainDNSResponse struct {
|
||||
response.CommonBase
|
||||
}
|
||||
|
||||
func (c *UDNRClient) NewAddDomainDNSRequest() *AddDomainDNSRequest {
|
||||
req := &AddDomainDNSRequest{}
|
||||
|
||||
c.Client.SetupRequest(req)
|
||||
|
||||
req.SetRetryable(false)
|
||||
return req
|
||||
}
|
||||
|
||||
func (c *UDNRClient) AddDomainDNS(req *AddDomainDNSRequest) (*AddDomainDNSResponse, error) {
|
||||
var err error
|
||||
var res AddDomainDNSResponse
|
||||
|
||||
reqCopier := *req
|
||||
|
||||
err = c.Client.InvokeAction("UdnrDomainDNSAdd", &reqCopier, &res)
|
||||
if err != nil {
|
||||
return &res, err
|
||||
}
|
||||
|
||||
return &res, nil
|
||||
}
|
||||
|
||||
type DeleteDomainDNSRequest struct {
|
||||
request.CommonBase
|
||||
|
||||
Dn *string `required:"true"`
|
||||
DnsType *string `required:"true"`
|
||||
RecordName *string `required:"true"`
|
||||
Content *string `required:"true"`
|
||||
}
|
||||
|
||||
type DeleteDomainDNSResponse struct {
|
||||
response.CommonBase
|
||||
}
|
||||
|
||||
func (c *UDNRClient) NewDeleteDomainDNSRequest() *DeleteDomainDNSRequest {
|
||||
req := &DeleteDomainDNSRequest{}
|
||||
|
||||
c.Client.SetupRequest(req)
|
||||
|
||||
req.SetRetryable(false)
|
||||
return req
|
||||
}
|
||||
|
||||
func (c *UDNRClient) DeleteDomainDNS(req *DeleteDomainDNSRequest) (*DeleteDomainDNSResponse, error) {
|
||||
var err error
|
||||
var res DeleteDomainDNSResponse
|
||||
|
||||
reqCopier := *req
|
||||
|
||||
err = c.Client.InvokeAction("UdnrDeleteDnsRecord", &reqCopier, &res)
|
||||
if err != nil {
|
||||
return &res, err
|
||||
}
|
||||
|
||||
return &res, nil
|
||||
}
|
18
internal/pkg/sdk3rd/ucloud/udnr/client.go
Normal file
18
internal/pkg/sdk3rd/ucloud/udnr/client.go
Normal file
@@ -0,0 +1,18 @@
|
||||
package udnr
|
||||
|
||||
import (
|
||||
"github.com/ucloud/ucloud-sdk-go/ucloud"
|
||||
"github.com/ucloud/ucloud-sdk-go/ucloud/auth"
|
||||
)
|
||||
|
||||
type UDNRClient struct {
|
||||
*ucloud.Client
|
||||
}
|
||||
|
||||
func NewClient(config *ucloud.Config, credential *auth.Credential) *UDNRClient {
|
||||
meta := ucloud.ClientMeta{Product: "UDNR"}
|
||||
client := ucloud.NewClientWithMeta(config, credential, meta)
|
||||
return &UDNRClient{
|
||||
client,
|
||||
}
|
||||
}
|
9
internal/pkg/sdk3rd/ucloud/udnr/models.go
Normal file
9
internal/pkg/sdk3rd/ucloud/udnr/models.go
Normal file
@@ -0,0 +1,9 @@
|
||||
package udnr
|
||||
|
||||
type DomainDNSRecord struct {
|
||||
DnsType string
|
||||
RecordName string
|
||||
Content string
|
||||
TTL int
|
||||
Prio int
|
||||
}
|
Reference in New Issue
Block a user