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/inspector/Inspector_EXPORTS.h> 8 #include <aws/inspector/InspectorRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/inspector/model/InspectorEvent.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Inspector 16 { 17 namespace Model 18 { 19 20 /** 21 */ 22 class AWS_INSPECTOR_API UnsubscribeFromEventRequest : public InspectorRequest 23 { 24 public: 25 UnsubscribeFromEventRequest(); 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 "UnsubscribeFromEvent"; } 32 33 Aws::String SerializePayload() const override; 34 35 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 36 37 38 /** 39 * <p>The ARN of the assessment template that is used during the event for which 40 * you want to stop receiving SNS notifications.</p> 41 */ GetResourceArn()42 inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } 43 44 /** 45 * <p>The ARN of the assessment template that is used during the event for which 46 * you want to stop receiving SNS notifications.</p> 47 */ ResourceArnHasBeenSet()48 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } 49 50 /** 51 * <p>The ARN of the assessment template that is used during the event for which 52 * you want to stop receiving SNS notifications.</p> 53 */ SetResourceArn(const Aws::String & value)54 inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } 55 56 /** 57 * <p>The ARN of the assessment template that is used during the event for which 58 * you want to stop receiving SNS notifications.</p> 59 */ SetResourceArn(Aws::String && value)60 inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } 61 62 /** 63 * <p>The ARN of the assessment template that is used during the event for which 64 * you want to stop receiving SNS notifications.</p> 65 */ SetResourceArn(const char * value)66 inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } 67 68 /** 69 * <p>The ARN of the assessment template that is used during the event for which 70 * you want to stop receiving SNS notifications.</p> 71 */ WithResourceArn(const Aws::String & value)72 inline UnsubscribeFromEventRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} 73 74 /** 75 * <p>The ARN of the assessment template that is used during the event for which 76 * you want to stop receiving SNS notifications.</p> 77 */ WithResourceArn(Aws::String && value)78 inline UnsubscribeFromEventRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} 79 80 /** 81 * <p>The ARN of the assessment template that is used during the event for which 82 * you want to stop receiving SNS notifications.</p> 83 */ WithResourceArn(const char * value)84 inline UnsubscribeFromEventRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} 85 86 87 /** 88 * <p>The event for which you want to stop receiving SNS notifications.</p> 89 */ GetEvent()90 inline const InspectorEvent& GetEvent() const{ return m_event; } 91 92 /** 93 * <p>The event for which you want to stop receiving SNS notifications.</p> 94 */ EventHasBeenSet()95 inline bool EventHasBeenSet() const { return m_eventHasBeenSet; } 96 97 /** 98 * <p>The event for which you want to stop receiving SNS notifications.</p> 99 */ SetEvent(const InspectorEvent & value)100 inline void SetEvent(const InspectorEvent& value) { m_eventHasBeenSet = true; m_event = value; } 101 102 /** 103 * <p>The event for which you want to stop receiving SNS notifications.</p> 104 */ SetEvent(InspectorEvent && value)105 inline void SetEvent(InspectorEvent&& value) { m_eventHasBeenSet = true; m_event = std::move(value); } 106 107 /** 108 * <p>The event for which you want to stop receiving SNS notifications.</p> 109 */ WithEvent(const InspectorEvent & value)110 inline UnsubscribeFromEventRequest& WithEvent(const InspectorEvent& value) { SetEvent(value); return *this;} 111 112 /** 113 * <p>The event for which you want to stop receiving SNS notifications.</p> 114 */ WithEvent(InspectorEvent && value)115 inline UnsubscribeFromEventRequest& WithEvent(InspectorEvent&& value) { SetEvent(std::move(value)); return *this;} 116 117 118 /** 119 * <p>The ARN of the SNS topic to which SNS notifications are sent.</p> 120 */ GetTopicArn()121 inline const Aws::String& GetTopicArn() const{ return m_topicArn; } 122 123 /** 124 * <p>The ARN of the SNS topic to which SNS notifications are sent.</p> 125 */ TopicArnHasBeenSet()126 inline bool TopicArnHasBeenSet() const { return m_topicArnHasBeenSet; } 127 128 /** 129 * <p>The ARN of the SNS topic to which SNS notifications are sent.</p> 130 */ SetTopicArn(const Aws::String & value)131 inline void SetTopicArn(const Aws::String& value) { m_topicArnHasBeenSet = true; m_topicArn = value; } 132 133 /** 134 * <p>The ARN of the SNS topic to which SNS notifications are sent.</p> 135 */ SetTopicArn(Aws::String && value)136 inline void SetTopicArn(Aws::String&& value) { m_topicArnHasBeenSet = true; m_topicArn = std::move(value); } 137 138 /** 139 * <p>The ARN of the SNS topic to which SNS notifications are sent.</p> 140 */ SetTopicArn(const char * value)141 inline void SetTopicArn(const char* value) { m_topicArnHasBeenSet = true; m_topicArn.assign(value); } 142 143 /** 144 * <p>The ARN of the SNS topic to which SNS notifications are sent.</p> 145 */ WithTopicArn(const Aws::String & value)146 inline UnsubscribeFromEventRequest& WithTopicArn(const Aws::String& value) { SetTopicArn(value); return *this;} 147 148 /** 149 * <p>The ARN of the SNS topic to which SNS notifications are sent.</p> 150 */ WithTopicArn(Aws::String && value)151 inline UnsubscribeFromEventRequest& WithTopicArn(Aws::String&& value) { SetTopicArn(std::move(value)); return *this;} 152 153 /** 154 * <p>The ARN of the SNS topic to which SNS notifications are sent.</p> 155 */ WithTopicArn(const char * value)156 inline UnsubscribeFromEventRequest& WithTopicArn(const char* value) { SetTopicArn(value); return *this;} 157 158 private: 159 160 Aws::String m_resourceArn; 161 bool m_resourceArnHasBeenSet; 162 163 InspectorEvent m_event; 164 bool m_eventHasBeenSet; 165 166 Aws::String m_topicArn; 167 bool m_topicArnHasBeenSet; 168 }; 169 170 } // namespace Model 171 } // namespace Inspector 172 } // namespace Aws 173