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/iotsecuretunneling/IoTSecureTunneling_EXPORTS.h> 8 #include <aws/iotsecuretunneling/IoTSecureTunnelingRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace IoTSecureTunneling 16 { 17 namespace Model 18 { 19 20 /** 21 */ 22 class AWS_IOTSECURETUNNELING_API UntagResourceRequest : public IoTSecureTunnelingRequest 23 { 24 public: 25 UntagResourceRequest(); 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 "UntagResource"; } 32 33 Aws::String SerializePayload() const override; 34 35 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 36 37 38 /** 39 * <p>The resource ARN.</p> 40 */ GetResourceArn()41 inline const Aws::String& GetResourceArn() const{ return m_resourceArn; } 42 43 /** 44 * <p>The resource ARN.</p> 45 */ ResourceArnHasBeenSet()46 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; } 47 48 /** 49 * <p>The resource ARN.</p> 50 */ SetResourceArn(const Aws::String & value)51 inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; } 52 53 /** 54 * <p>The resource ARN.</p> 55 */ SetResourceArn(Aws::String && value)56 inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); } 57 58 /** 59 * <p>The resource ARN.</p> 60 */ SetResourceArn(const char * value)61 inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); } 62 63 /** 64 * <p>The resource ARN.</p> 65 */ WithResourceArn(const Aws::String & value)66 inline UntagResourceRequest& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;} 67 68 /** 69 * <p>The resource ARN.</p> 70 */ WithResourceArn(Aws::String && value)71 inline UntagResourceRequest& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;} 72 73 /** 74 * <p>The resource ARN.</p> 75 */ WithResourceArn(const char * value)76 inline UntagResourceRequest& WithResourceArn(const char* value) { SetResourceArn(value); return *this;} 77 78 79 /** 80 * <p>The keys of the tags to remove.</p> 81 */ GetTagKeys()82 inline const Aws::Vector<Aws::String>& GetTagKeys() const{ return m_tagKeys; } 83 84 /** 85 * <p>The keys of the tags to remove.</p> 86 */ TagKeysHasBeenSet()87 inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } 88 89 /** 90 * <p>The keys of the tags to remove.</p> 91 */ SetTagKeys(const Aws::Vector<Aws::String> & value)92 inline void SetTagKeys(const Aws::Vector<Aws::String>& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; } 93 94 /** 95 * <p>The keys of the tags to remove.</p> 96 */ SetTagKeys(Aws::Vector<Aws::String> && value)97 inline void SetTagKeys(Aws::Vector<Aws::String>&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); } 98 99 /** 100 * <p>The keys of the tags to remove.</p> 101 */ WithTagKeys(const Aws::Vector<Aws::String> & value)102 inline UntagResourceRequest& WithTagKeys(const Aws::Vector<Aws::String>& value) { SetTagKeys(value); return *this;} 103 104 /** 105 * <p>The keys of the tags to remove.</p> 106 */ WithTagKeys(Aws::Vector<Aws::String> && value)107 inline UntagResourceRequest& WithTagKeys(Aws::Vector<Aws::String>&& value) { SetTagKeys(std::move(value)); return *this;} 108 109 /** 110 * <p>The keys of the tags to remove.</p> 111 */ AddTagKeys(const Aws::String & value)112 inline UntagResourceRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } 113 114 /** 115 * <p>The keys of the tags to remove.</p> 116 */ AddTagKeys(Aws::String && value)117 inline UntagResourceRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; } 118 119 /** 120 * <p>The keys of the tags to remove.</p> 121 */ AddTagKeys(const char * value)122 inline UntagResourceRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } 123 124 private: 125 126 Aws::String m_resourceArn; 127 bool m_resourceArnHasBeenSet; 128 129 Aws::Vector<Aws::String> m_tagKeys; 130 bool m_tagKeysHasBeenSet; 131 }; 132 133 } // namespace Model 134 } // namespace IoTSecureTunneling 135 } // namespace Aws 136