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 }