1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package pinpointsmsvoicev2
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Creates a new multimedia message (MMS) and sends it to a recipient's phone
// number.
func (c *Client) SendMediaMessage(ctx context.Context, params *SendMediaMessageInput, optFns ...func(*Options)) (*SendMediaMessageOutput, error) {
if params == nil {
params = &SendMediaMessageInput{}
}
result, metadata, err := c.invokeOperation(ctx, "SendMediaMessage", params, optFns, c.addOperationSendMediaMessageMiddlewares)
if err != nil {
return nil, err
}
out := result.(*SendMediaMessageOutput)
out.ResultMetadata = metadata
return out, nil
}
type SendMediaMessageInput struct {
// The destination phone number in E.164 format.
//
// This member is required.
DestinationPhoneNumber *string
// The origination identity of the message. This can be either the PhoneNumber,
// PhoneNumberId, PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn.
//
// This member is required.
OriginationIdentity *string
// The name of the configuration set to use. This can be either the
// ConfigurationSetName or ConfigurationSetArn.
ConfigurationSetName *string
// You can specify custom data in this field. If you do, that data is logged to
// the event destination.
Context map[string]string
// When set to true, the message is checked and validated, but isn't sent to the
// end recipient.
DryRun bool
// The maximum amount that you want to spend, in US dollars, per each MMS message.
MaxPrice *string
// An array of URLs to each media file to send.
//
// The media files have to be stored in a publicly available S3 bucket. Supported
// media file formats are listed in [MMS file types, size and character limits]. For more information on creating an S3
// bucket and managing objects, see [Creating a bucket]and [Uploading objects] in the S3 user guide.
//
// [Creating a bucket]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html
// [MMS file types, size and character limits]: https://docs.aws.amazon.com/sms-voice/latest/userguide/mms-limitations-character.html
// [Uploading objects]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html
MediaUrls []string
// The text body of the message.
MessageBody *string
// The unique identifier of the protect configuration to use.
ProtectConfigurationId *string
// How long the text message is valid for. By default this is 72 hours.
TimeToLive *int32
noSmithyDocumentSerde
}
type SendMediaMessageOutput struct {
// The unique identifier for the message.
MessageId *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationSendMediaMessageMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsAwsjson10_serializeOpSendMediaMessage{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson10_deserializeOpSendMediaMessage{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "SendMediaMessage"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = addClientRequestID(stack); err != nil {
return err
}
if err = addComputeContentLength(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = addComputePayloadSHA256(stack); err != nil {
return err
}
if err = addRetry(stack, options); err != nil {
return err
}
if err = addRawResponseToMetadata(stack); err != nil {
return err
}
if err = addRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addOpSendMediaMessageValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opSendMediaMessage(options.Region), middleware.Before); err != nil {
return err
}
if err = addRecursionDetection(stack); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opSendMediaMessage(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "SendMediaMessage",
}
}
|