1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/pinpoint/Pinpoint_EXPORTS.h> 8 #include <aws/pinpoint/PinpointRequest.h> 9 #include <aws/pinpoint/model/SMSTemplateRequest.h> 10 #include <aws/core/utils/memory/stl/AWSString.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Pinpoint 16 { 17 namespace Model 18 { 19 20 /** 21 */ 22 class AWS_PINPOINT_API CreateSmsTemplateRequest : public PinpointRequest 23 { 24 public: 25 CreateSmsTemplateRequest(); 26 27 // Service request name is the Operation name which will send this request out, 28 // each operation should has unique request name, so that we can get operation's name from this request. 29 // Note: this is not true for response, multiple operations may have the same response name, 30 // so we can not get operation's name from response. GetServiceRequestName()31 inline virtual const char* GetServiceRequestName() const override { return "CreateSmsTemplate"; } 32 33 Aws::String SerializePayload() const override; 34 35 36 GetSMSTemplateRequest()37 inline const SMSTemplateRequest& GetSMSTemplateRequest() const{ return m_sMSTemplateRequest; } 38 39 SMSTemplateRequestHasBeenSet()40 inline bool SMSTemplateRequestHasBeenSet() const { return m_sMSTemplateRequestHasBeenSet; } 41 42 SetSMSTemplateRequest(const SMSTemplateRequest & value)43 inline void SetSMSTemplateRequest(const SMSTemplateRequest& value) { m_sMSTemplateRequestHasBeenSet = true; m_sMSTemplateRequest = value; } 44 45 SetSMSTemplateRequest(SMSTemplateRequest && value)46 inline void SetSMSTemplateRequest(SMSTemplateRequest&& value) { m_sMSTemplateRequestHasBeenSet = true; m_sMSTemplateRequest = std::move(value); } 47 48 WithSMSTemplateRequest(const SMSTemplateRequest & value)49 inline CreateSmsTemplateRequest& WithSMSTemplateRequest(const SMSTemplateRequest& value) { SetSMSTemplateRequest(value); return *this;} 50 51 WithSMSTemplateRequest(SMSTemplateRequest && value)52 inline CreateSmsTemplateRequest& WithSMSTemplateRequest(SMSTemplateRequest&& value) { SetSMSTemplateRequest(std::move(value)); return *this;} 53 54 55 /** 56 * <p>The name of the message template. A template name must start with an 57 * alphanumeric character and can contain a maximum of 128 characters. The 58 * characters can be alphanumeric characters, underscores (_), or hyphens (-). 59 * Template names are case sensitive.</p> 60 */ GetTemplateName()61 inline const Aws::String& GetTemplateName() const{ return m_templateName; } 62 63 /** 64 * <p>The name of the message template. A template name must start with an 65 * alphanumeric character and can contain a maximum of 128 characters. The 66 * characters can be alphanumeric characters, underscores (_), or hyphens (-). 67 * Template names are case sensitive.</p> 68 */ TemplateNameHasBeenSet()69 inline bool TemplateNameHasBeenSet() const { return m_templateNameHasBeenSet; } 70 71 /** 72 * <p>The name of the message template. A template name must start with an 73 * alphanumeric character and can contain a maximum of 128 characters. The 74 * characters can be alphanumeric characters, underscores (_), or hyphens (-). 75 * Template names are case sensitive.</p> 76 */ SetTemplateName(const Aws::String & value)77 inline void SetTemplateName(const Aws::String& value) { m_templateNameHasBeenSet = true; m_templateName = value; } 78 79 /** 80 * <p>The name of the message template. A template name must start with an 81 * alphanumeric character and can contain a maximum of 128 characters. The 82 * characters can be alphanumeric characters, underscores (_), or hyphens (-). 83 * Template names are case sensitive.</p> 84 */ SetTemplateName(Aws::String && value)85 inline void SetTemplateName(Aws::String&& value) { m_templateNameHasBeenSet = true; m_templateName = std::move(value); } 86 87 /** 88 * <p>The name of the message template. A template name must start with an 89 * alphanumeric character and can contain a maximum of 128 characters. The 90 * characters can be alphanumeric characters, underscores (_), or hyphens (-). 91 * Template names are case sensitive.</p> 92 */ SetTemplateName(const char * value)93 inline void SetTemplateName(const char* value) { m_templateNameHasBeenSet = true; m_templateName.assign(value); } 94 95 /** 96 * <p>The name of the message template. A template name must start with an 97 * alphanumeric character and can contain a maximum of 128 characters. The 98 * characters can be alphanumeric characters, underscores (_), or hyphens (-). 99 * Template names are case sensitive.</p> 100 */ WithTemplateName(const Aws::String & value)101 inline CreateSmsTemplateRequest& WithTemplateName(const Aws::String& value) { SetTemplateName(value); return *this;} 102 103 /** 104 * <p>The name of the message template. A template name must start with an 105 * alphanumeric character and can contain a maximum of 128 characters. The 106 * characters can be alphanumeric characters, underscores (_), or hyphens (-). 107 * Template names are case sensitive.</p> 108 */ WithTemplateName(Aws::String && value)109 inline CreateSmsTemplateRequest& WithTemplateName(Aws::String&& value) { SetTemplateName(std::move(value)); return *this;} 110 111 /** 112 * <p>The name of the message template. A template name must start with an 113 * alphanumeric character and can contain a maximum of 128 characters. The 114 * characters can be alphanumeric characters, underscores (_), or hyphens (-). 115 * Template names are case sensitive.</p> 116 */ WithTemplateName(const char * value)117 inline CreateSmsTemplateRequest& WithTemplateName(const char* value) { SetTemplateName(value); return *this;} 118 119 private: 120 121 SMSTemplateRequest m_sMSTemplateRequest; 122 bool m_sMSTemplateRequestHasBeenSet; 123 124 Aws::String m_templateName; 125 bool m_templateNameHasBeenSet; 126 }; 127 128 } // namespace Model 129 } // namespace Pinpoint 130 } // namespace Aws 131