bd79fbafb3
Updated the `Serve` function so these can be added back into Vault
69 lines
2 KiB
Go
69 lines
2 KiB
Go
package mongodbatlas
|
||
|
||
import (
|
||
"context"
|
||
"fmt"
|
||
"net/http"
|
||
)
|
||
|
||
const customAWSDNSPath = "groups/%s/awsCustomDNS"
|
||
|
||
// AWSCustomDNSService provides access to the custom AWS DNS related functions in the Atlas API.
|
||
//
|
||
// See more: https://docs.atlas.mongodb.com/reference/api/aws-custom-dns/
|
||
type AWSCustomDNSService interface {
|
||
Get(context.Context, string) (*AWSCustomDNSSetting, *Response, error)
|
||
Update(context.Context, string, *AWSCustomDNSSetting) (*AWSCustomDNSSetting, *Response, error)
|
||
}
|
||
|
||
// AWSCustomDNSServiceOp provides an implementation of the CustomAWSDNS interface.
|
||
type AWSCustomDNSServiceOp service
|
||
|
||
var _ AWSCustomDNSService = &AWSCustomDNSServiceOp{}
|
||
|
||
// AWSCustomDNSSetting represents the dns settings.
|
||
type AWSCustomDNSSetting struct {
|
||
Enabled bool `json:"enabled"`
|
||
}
|
||
|
||
// Get retrieves the custom DNS configuration of an Atlas project’s clusters deployed to AWS.
|
||
//
|
||
// See more: https://docs.atlas.mongodb.com/reference/api/aws-custom-dns-get/
|
||
func (s *AWSCustomDNSServiceOp) Get(ctx context.Context, groupID string) (*AWSCustomDNSSetting, *Response, error) {
|
||
if groupID == "" {
|
||
return nil, nil, NewArgError("groupID", "must be set")
|
||
}
|
||
path := fmt.Sprintf(customAWSDNSPath, groupID)
|
||
|
||
req, err := s.Client.NewRequest(ctx, http.MethodGet, path, nil)
|
||
if err != nil {
|
||
return nil, nil, err
|
||
}
|
||
|
||
var root *AWSCustomDNSSetting
|
||
resp, err := s.Client.Do(ctx, req, &root)
|
||
|
||
return root, resp, err
|
||
}
|
||
|
||
// Update updates the custom DNS configuration of an Atlas project’s clusters deployed to AWS.
|
||
//
|
||
// See more: https://docs.atlas.mongodb.com/reference/api/aws-custom-dns-update/
|
||
func (s *AWSCustomDNSServiceOp) Update(ctx context.Context, groupID string, r *AWSCustomDNSSetting) (*AWSCustomDNSSetting, *Response, error) {
|
||
if groupID == "" {
|
||
return nil, nil, NewArgError("groupID", "must be set")
|
||
}
|
||
|
||
path := fmt.Sprintf(customAWSDNSPath, groupID)
|
||
|
||
req, err := s.Client.NewRequest(ctx, http.MethodPatch, path, r)
|
||
if err != nil {
|
||
return nil, nil, err
|
||
}
|
||
|
||
var root *AWSCustomDNSSetting
|
||
resp, err := s.Client.Do(ctx, req, &root)
|
||
|
||
return root, resp, err
|
||
}
|