src

Go monorepo.
git clone git://code.dwrz.net/src
Log | Files | Refs

api_op_CreateTrafficPolicy.go (3270B)


      1 // Code generated by smithy-go-codegen DO NOT EDIT.
      2 
      3 package route53
      4 
      5 import (
      6 	"context"
      7 
      8 	"github.com/aws/aws-sdk-go-v2/service/route53/types"
      9 	"github.com/aws/smithy-go/middleware"
     10 )
     11 
     12 // Creates a traffic policy, which you use to create multiple DNS resource record
     13 // sets for one domain name (such as example.com) or one subdomain name (such as
     14 // www.example.com).
     15 func (c *Client) CreateTrafficPolicy(ctx context.Context, params *CreateTrafficPolicyInput, optFns ...func(*Options)) (*CreateTrafficPolicyOutput, error) {
     16 	if params == nil {
     17 		params = &CreateTrafficPolicyInput{}
     18 	}
     19 
     20 	result, metadata, err := c.invokeOperation(ctx, "CreateTrafficPolicy", params, optFns, c.addOperationCreateTrafficPolicyMiddlewares)
     21 	if err != nil {
     22 		return nil, err
     23 	}
     24 
     25 	out := result.(*CreateTrafficPolicyOutput)
     26 	out.ResultMetadata = metadata
     27 	return out, nil
     28 }
     29 
     30 // A complex type that contains information about the traffic policy that you want
     31 // to create.
     32 type CreateTrafficPolicyInput struct {
     33 
     34 	// The definition of this traffic policy in JSON format. For more information, see [Traffic Policy Document Format]
     35 	// .
     36 	//
     37 	// [Traffic Policy Document Format]: https://docs.aws.amazon.com/Route53/latest/APIReference/api-policies-traffic-policy-document-format.html
     38 	//
     39 	// This member is required.
     40 	Document *string
     41 
     42 	// The name of the traffic policy.
     43 	//
     44 	// This member is required.
     45 	Name *string
     46 
     47 	// (Optional) Any comments that you want to include about the traffic policy.
     48 	Comment *string
     49 
     50 	noSmithyDocumentSerde
     51 }
     52 
     53 // A complex type that contains the response information for the
     54 // CreateTrafficPolicy request.
     55 type CreateTrafficPolicyOutput struct {
     56 
     57 	// A unique URL that represents a new traffic policy.
     58 	//
     59 	// This member is required.
     60 	Location *string
     61 
     62 	// A complex type that contains settings for the new traffic policy.
     63 	//
     64 	// This member is required.
     65 	TrafficPolicy *types.TrafficPolicy
     66 
     67 	// Metadata pertaining to the operation's result.
     68 	ResultMetadata middleware.Metadata
     69 
     70 	noSmithyDocumentSerde
     71 }
     72 
     73 func (c *Client) addOperationCreateTrafficPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) {
     74 	err = stack.Serialize.Add(&awsRestxml_serializeOpCreateTrafficPolicy{}, middleware.After)
     75 	if err != nil {
     76 		return err
     77 	}
     78 	err = stack.Deserialize.Add(&awsRestxml_deserializeOpCreateTrafficPolicy{}, middleware.After)
     79 	if err != nil {
     80 		return err
     81 	}
     82 
     83 	if err = addComputeContentLength(stack); err != nil {
     84 		return err
     85 	}
     86 	if err = addResolveEndpointMiddleware(stack, options); err != nil {
     87 		return err
     88 	}
     89 	if err = addComputePayloadSHA256(stack); err != nil {
     90 		return err
     91 	}
     92 	if err = addRecordResponseTiming(stack, options); err != nil {
     93 		return err
     94 	}
     95 	if err = addCredentialSource(stack, options); err != nil {
     96 		return err
     97 	}
     98 	if err = addOpCreateTrafficPolicyValidationMiddleware(stack); err != nil {
     99 		return err
    100 	}
    101 	if err = addRequestIDRetrieverMiddleware(stack); err != nil {
    102 		return err
    103 	}
    104 	if err = addResponseErrorMiddleware(stack); err != nil {
    105 		return err
    106 	}
    107 	if err = addRequestResponseLogging(stack, options); err != nil {
    108 		return err
    109 	}
    110 	if err = addDisableHTTPSMiddleware(stack, options); err != nil {
    111 		return err
    112 	}
    113 	if err = addInterceptors(stack, options); err != nil {
    114 		return err
    115 	}
    116 	return nil
    117 }