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/iam/IAM_EXPORTS.h> 8 #include <aws/iam/IAMRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/iam/model/Tag.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace IAM 17 { 18 namespace Model 19 { 20 21 /** 22 */ 23 class AWS_IAM_API TagOpenIDConnectProviderRequest : public IAMRequest 24 { 25 public: 26 TagOpenIDConnectProviderRequest(); 27 28 // Service request name is the Operation name which will send this request out, 29 // each operation should has unique request name, so that we can get operation's name from this request. 30 // Note: this is not true for response, multiple operations may have the same response name, 31 // so we can not get operation's name from response. GetServiceRequestName()32 inline virtual const char* GetServiceRequestName() const override { return "TagOpenIDConnectProvider"; } 33 34 Aws::String SerializePayload() const override; 35 36 protected: 37 void DumpBodyToUrl(Aws::Http::URI& uri ) const override; 38 39 public: 40 41 /** 42 * <p>The ARN of the OIDC identity provider in IAM to which you want to add 43 * tags.</p> <p>This parameter allows (through its <a 44 * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters 45 * consisting of upper and lowercase alphanumeric characters with no spaces. You 46 * can also include any of the following characters: _+=,.@-</p> 47 */ GetOpenIDConnectProviderArn()48 inline const Aws::String& GetOpenIDConnectProviderArn() const{ return m_openIDConnectProviderArn; } 49 50 /** 51 * <p>The ARN of the OIDC identity provider in IAM to which you want to add 52 * tags.</p> <p>This parameter allows (through its <a 53 * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters 54 * consisting of upper and lowercase alphanumeric characters with no spaces. You 55 * can also include any of the following characters: _+=,.@-</p> 56 */ OpenIDConnectProviderArnHasBeenSet()57 inline bool OpenIDConnectProviderArnHasBeenSet() const { return m_openIDConnectProviderArnHasBeenSet; } 58 59 /** 60 * <p>The ARN of the OIDC identity provider in IAM to which you want to add 61 * tags.</p> <p>This parameter allows (through its <a 62 * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters 63 * consisting of upper and lowercase alphanumeric characters with no spaces. You 64 * can also include any of the following characters: _+=,.@-</p> 65 */ SetOpenIDConnectProviderArn(const Aws::String & value)66 inline void SetOpenIDConnectProviderArn(const Aws::String& value) { m_openIDConnectProviderArnHasBeenSet = true; m_openIDConnectProviderArn = value; } 67 68 /** 69 * <p>The ARN of the OIDC identity provider in IAM to which you want to add 70 * tags.</p> <p>This parameter allows (through its <a 71 * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters 72 * consisting of upper and lowercase alphanumeric characters with no spaces. You 73 * can also include any of the following characters: _+=,.@-</p> 74 */ SetOpenIDConnectProviderArn(Aws::String && value)75 inline void SetOpenIDConnectProviderArn(Aws::String&& value) { m_openIDConnectProviderArnHasBeenSet = true; m_openIDConnectProviderArn = std::move(value); } 76 77 /** 78 * <p>The ARN of the OIDC identity provider in IAM to which you want to add 79 * tags.</p> <p>This parameter allows (through its <a 80 * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters 81 * consisting of upper and lowercase alphanumeric characters with no spaces. You 82 * can also include any of the following characters: _+=,.@-</p> 83 */ SetOpenIDConnectProviderArn(const char * value)84 inline void SetOpenIDConnectProviderArn(const char* value) { m_openIDConnectProviderArnHasBeenSet = true; m_openIDConnectProviderArn.assign(value); } 85 86 /** 87 * <p>The ARN of the OIDC identity provider in IAM to which you want to add 88 * tags.</p> <p>This parameter allows (through its <a 89 * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters 90 * consisting of upper and lowercase alphanumeric characters with no spaces. You 91 * can also include any of the following characters: _+=,.@-</p> 92 */ WithOpenIDConnectProviderArn(const Aws::String & value)93 inline TagOpenIDConnectProviderRequest& WithOpenIDConnectProviderArn(const Aws::String& value) { SetOpenIDConnectProviderArn(value); return *this;} 94 95 /** 96 * <p>The ARN of the OIDC identity provider in IAM to which you want to add 97 * tags.</p> <p>This parameter allows (through its <a 98 * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters 99 * consisting of upper and lowercase alphanumeric characters with no spaces. You 100 * can also include any of the following characters: _+=,.@-</p> 101 */ WithOpenIDConnectProviderArn(Aws::String && value)102 inline TagOpenIDConnectProviderRequest& WithOpenIDConnectProviderArn(Aws::String&& value) { SetOpenIDConnectProviderArn(std::move(value)); return *this;} 103 104 /** 105 * <p>The ARN of the OIDC identity provider in IAM to which you want to add 106 * tags.</p> <p>This parameter allows (through its <a 107 * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters 108 * consisting of upper and lowercase alphanumeric characters with no spaces. You 109 * can also include any of the following characters: _+=,.@-</p> 110 */ WithOpenIDConnectProviderArn(const char * value)111 inline TagOpenIDConnectProviderRequest& WithOpenIDConnectProviderArn(const char* value) { SetOpenIDConnectProviderArn(value); return *this;} 112 113 114 /** 115 * <p>The list of tags that you want to attach to the OIDC identity provider in 116 * IAM. Each tag consists of a key name and an associated value.</p> 117 */ GetTags()118 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } 119 120 /** 121 * <p>The list of tags that you want to attach to the OIDC identity provider in 122 * IAM. Each tag consists of a key name and an associated value.</p> 123 */ TagsHasBeenSet()124 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 125 126 /** 127 * <p>The list of tags that you want to attach to the OIDC identity provider in 128 * IAM. Each tag consists of a key name and an associated value.</p> 129 */ SetTags(const Aws::Vector<Tag> & value)130 inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; } 131 132 /** 133 * <p>The list of tags that you want to attach to the OIDC identity provider in 134 * IAM. Each tag consists of a key name and an associated value.</p> 135 */ SetTags(Aws::Vector<Tag> && value)136 inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 137 138 /** 139 * <p>The list of tags that you want to attach to the OIDC identity provider in 140 * IAM. Each tag consists of a key name and an associated value.</p> 141 */ WithTags(const Aws::Vector<Tag> & value)142 inline TagOpenIDConnectProviderRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} 143 144 /** 145 * <p>The list of tags that you want to attach to the OIDC identity provider in 146 * IAM. Each tag consists of a key name and an associated value.</p> 147 */ WithTags(Aws::Vector<Tag> && value)148 inline TagOpenIDConnectProviderRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} 149 150 /** 151 * <p>The list of tags that you want to attach to the OIDC identity provider in 152 * IAM. Each tag consists of a key name and an associated value.</p> 153 */ AddTags(const Tag & value)154 inline TagOpenIDConnectProviderRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } 155 156 /** 157 * <p>The list of tags that you want to attach to the OIDC identity provider in 158 * IAM. Each tag consists of a key name and an associated value.</p> 159 */ AddTags(Tag && value)160 inline TagOpenIDConnectProviderRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } 161 162 private: 163 164 Aws::String m_openIDConnectProviderArn; 165 bool m_openIDConnectProviderArnHasBeenSet; 166 167 Aws::Vector<Tag> m_tags; 168 bool m_tagsHasBeenSet; 169 }; 170 171 } // namespace Model 172 } // namespace IAM 173 } // namespace Aws 174