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 <utility> 11 12 namespace Aws 13 { 14 namespace IAM 15 { 16 namespace Model 17 { 18 19 /** 20 */ 21 class AWS_IAM_API DeleteGroupPolicyRequest : public IAMRequest 22 { 23 public: 24 DeleteGroupPolicyRequest(); 25 26 // Service request name is the Operation name which will send this request out, 27 // each operation should has unique request name, so that we can get operation's name from this request. 28 // Note: this is not true for response, multiple operations may have the same response name, 29 // so we can not get operation's name from response. GetServiceRequestName()30 inline virtual const char* GetServiceRequestName() const override { return "DeleteGroupPolicy"; } 31 32 Aws::String SerializePayload() const override; 33 34 protected: 35 void DumpBodyToUrl(Aws::Http::URI& uri ) const override; 36 37 public: 38 39 /** 40 * <p>The name (friendly name, not ARN) identifying the group that the policy is 41 * embedded in.</p> <p>This parameter allows (through its <a 42 * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters 43 * consisting of upper and lowercase alphanumeric characters with no spaces. You 44 * can also include any of the following characters: _+=,.@-</p> 45 */ GetGroupName()46 inline const Aws::String& GetGroupName() const{ return m_groupName; } 47 48 /** 49 * <p>The name (friendly name, not ARN) identifying the group that the policy is 50 * embedded in.</p> <p>This parameter allows (through its <a 51 * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters 52 * consisting of upper and lowercase alphanumeric characters with no spaces. You 53 * can also include any of the following characters: _+=,.@-</p> 54 */ GroupNameHasBeenSet()55 inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; } 56 57 /** 58 * <p>The name (friendly name, not ARN) identifying the group that the policy is 59 * embedded in.</p> <p>This parameter allows (through its <a 60 * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters 61 * consisting of upper and lowercase alphanumeric characters with no spaces. You 62 * can also include any of the following characters: _+=,.@-</p> 63 */ SetGroupName(const Aws::String & value)64 inline void SetGroupName(const Aws::String& value) { m_groupNameHasBeenSet = true; m_groupName = value; } 65 66 /** 67 * <p>The name (friendly name, not ARN) identifying the group that the policy is 68 * embedded in.</p> <p>This parameter allows (through its <a 69 * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters 70 * consisting of upper and lowercase alphanumeric characters with no spaces. You 71 * can also include any of the following characters: _+=,.@-</p> 72 */ SetGroupName(Aws::String && value)73 inline void SetGroupName(Aws::String&& value) { m_groupNameHasBeenSet = true; m_groupName = std::move(value); } 74 75 /** 76 * <p>The name (friendly name, not ARN) identifying the group that the policy is 77 * embedded in.</p> <p>This parameter allows (through its <a 78 * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters 79 * consisting of upper and lowercase alphanumeric characters with no spaces. You 80 * can also include any of the following characters: _+=,.@-</p> 81 */ SetGroupName(const char * value)82 inline void SetGroupName(const char* value) { m_groupNameHasBeenSet = true; m_groupName.assign(value); } 83 84 /** 85 * <p>The name (friendly name, not ARN) identifying the group that the policy is 86 * embedded in.</p> <p>This parameter allows (through its <a 87 * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters 88 * consisting of upper and lowercase alphanumeric characters with no spaces. You 89 * can also include any of the following characters: _+=,.@-</p> 90 */ WithGroupName(const Aws::String & value)91 inline DeleteGroupPolicyRequest& WithGroupName(const Aws::String& value) { SetGroupName(value); return *this;} 92 93 /** 94 * <p>The name (friendly name, not ARN) identifying the group that the policy is 95 * embedded in.</p> <p>This parameter allows (through its <a 96 * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters 97 * consisting of upper and lowercase alphanumeric characters with no spaces. You 98 * can also include any of the following characters: _+=,.@-</p> 99 */ WithGroupName(Aws::String && value)100 inline DeleteGroupPolicyRequest& WithGroupName(Aws::String&& value) { SetGroupName(std::move(value)); return *this;} 101 102 /** 103 * <p>The name (friendly name, not ARN) identifying the group that the policy is 104 * embedded in.</p> <p>This parameter allows (through its <a 105 * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters 106 * consisting of upper and lowercase alphanumeric characters with no spaces. You 107 * can also include any of the following characters: _+=,.@-</p> 108 */ WithGroupName(const char * value)109 inline DeleteGroupPolicyRequest& WithGroupName(const char* value) { SetGroupName(value); return *this;} 110 111 112 /** 113 * <p>The name identifying the policy document to delete.</p> <p>This parameter 114 * allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) 115 * a string of characters consisting of upper and lowercase alphanumeric characters 116 * with no spaces. You can also include any of the following characters: 117 * _+=,.@-</p> 118 */ GetPolicyName()119 inline const Aws::String& GetPolicyName() const{ return m_policyName; } 120 121 /** 122 * <p>The name identifying the policy document to delete.</p> <p>This parameter 123 * allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) 124 * a string of characters consisting of upper and lowercase alphanumeric characters 125 * with no spaces. You can also include any of the following characters: 126 * _+=,.@-</p> 127 */ PolicyNameHasBeenSet()128 inline bool PolicyNameHasBeenSet() const { return m_policyNameHasBeenSet; } 129 130 /** 131 * <p>The name identifying the policy document to delete.</p> <p>This parameter 132 * allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) 133 * a string of characters consisting of upper and lowercase alphanumeric characters 134 * with no spaces. You can also include any of the following characters: 135 * _+=,.@-</p> 136 */ SetPolicyName(const Aws::String & value)137 inline void SetPolicyName(const Aws::String& value) { m_policyNameHasBeenSet = true; m_policyName = value; } 138 139 /** 140 * <p>The name identifying the policy document to delete.</p> <p>This parameter 141 * allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) 142 * a string of characters consisting of upper and lowercase alphanumeric characters 143 * with no spaces. You can also include any of the following characters: 144 * _+=,.@-</p> 145 */ SetPolicyName(Aws::String && value)146 inline void SetPolicyName(Aws::String&& value) { m_policyNameHasBeenSet = true; m_policyName = std::move(value); } 147 148 /** 149 * <p>The name identifying the policy document to delete.</p> <p>This parameter 150 * allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) 151 * a string of characters consisting of upper and lowercase alphanumeric characters 152 * with no spaces. You can also include any of the following characters: 153 * _+=,.@-</p> 154 */ SetPolicyName(const char * value)155 inline void SetPolicyName(const char* value) { m_policyNameHasBeenSet = true; m_policyName.assign(value); } 156 157 /** 158 * <p>The name identifying the policy document to delete.</p> <p>This parameter 159 * allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) 160 * a string of characters consisting of upper and lowercase alphanumeric characters 161 * with no spaces. You can also include any of the following characters: 162 * _+=,.@-</p> 163 */ WithPolicyName(const Aws::String & value)164 inline DeleteGroupPolicyRequest& WithPolicyName(const Aws::String& value) { SetPolicyName(value); return *this;} 165 166 /** 167 * <p>The name identifying the policy document to delete.</p> <p>This parameter 168 * allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) 169 * a string of characters consisting of upper and lowercase alphanumeric characters 170 * with no spaces. You can also include any of the following characters: 171 * _+=,.@-</p> 172 */ WithPolicyName(Aws::String && value)173 inline DeleteGroupPolicyRequest& WithPolicyName(Aws::String&& value) { SetPolicyName(std::move(value)); return *this;} 174 175 /** 176 * <p>The name identifying the policy document to delete.</p> <p>This parameter 177 * allows (through its <a href="http://wikipedia.org/wiki/regex">regex pattern</a>) 178 * a string of characters consisting of upper and lowercase alphanumeric characters 179 * with no spaces. You can also include any of the following characters: 180 * _+=,.@-</p> 181 */ WithPolicyName(const char * value)182 inline DeleteGroupPolicyRequest& WithPolicyName(const char* value) { SetPolicyName(value); return *this;} 183 184 private: 185 186 Aws::String m_groupName; 187 bool m_groupNameHasBeenSet; 188 189 Aws::String m_policyName; 190 bool m_policyNameHasBeenSet; 191 }; 192 193 } // namespace Model 194 } // namespace IAM 195 } // namespace Aws 196