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/globalaccelerator/GlobalAccelerator_EXPORTS.h> 8 #include <aws/globalaccelerator/GlobalAcceleratorRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/globalaccelerator/model/IpAddressType.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace GlobalAccelerator 16 { 17 namespace Model 18 { 19 20 /** 21 */ 22 class AWS_GLOBALACCELERATOR_API UpdateCustomRoutingAcceleratorRequest : public GlobalAcceleratorRequest 23 { 24 public: 25 UpdateCustomRoutingAcceleratorRequest(); 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 "UpdateCustomRoutingAccelerator"; } 32 33 Aws::String SerializePayload() const override; 34 35 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 36 37 38 /** 39 * <p>The Amazon Resource Name (ARN) of the accelerator to update.</p> 40 */ GetAcceleratorArn()41 inline const Aws::String& GetAcceleratorArn() const{ return m_acceleratorArn; } 42 43 /** 44 * <p>The Amazon Resource Name (ARN) of the accelerator to update.</p> 45 */ AcceleratorArnHasBeenSet()46 inline bool AcceleratorArnHasBeenSet() const { return m_acceleratorArnHasBeenSet; } 47 48 /** 49 * <p>The Amazon Resource Name (ARN) of the accelerator to update.</p> 50 */ SetAcceleratorArn(const Aws::String & value)51 inline void SetAcceleratorArn(const Aws::String& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = value; } 52 53 /** 54 * <p>The Amazon Resource Name (ARN) of the accelerator to update.</p> 55 */ SetAcceleratorArn(Aws::String && value)56 inline void SetAcceleratorArn(Aws::String&& value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn = std::move(value); } 57 58 /** 59 * <p>The Amazon Resource Name (ARN) of the accelerator to update.</p> 60 */ SetAcceleratorArn(const char * value)61 inline void SetAcceleratorArn(const char* value) { m_acceleratorArnHasBeenSet = true; m_acceleratorArn.assign(value); } 62 63 /** 64 * <p>The Amazon Resource Name (ARN) of the accelerator to update.</p> 65 */ WithAcceleratorArn(const Aws::String & value)66 inline UpdateCustomRoutingAcceleratorRequest& WithAcceleratorArn(const Aws::String& value) { SetAcceleratorArn(value); return *this;} 67 68 /** 69 * <p>The Amazon Resource Name (ARN) of the accelerator to update.</p> 70 */ WithAcceleratorArn(Aws::String && value)71 inline UpdateCustomRoutingAcceleratorRequest& WithAcceleratorArn(Aws::String&& value) { SetAcceleratorArn(std::move(value)); return *this;} 72 73 /** 74 * <p>The Amazon Resource Name (ARN) of the accelerator to update.</p> 75 */ WithAcceleratorArn(const char * value)76 inline UpdateCustomRoutingAcceleratorRequest& WithAcceleratorArn(const char* value) { SetAcceleratorArn(value); return *this;} 77 78 79 /** 80 * <p>The name of the accelerator. The name can have a maximum of 32 characters, 81 * must contain only alphanumeric characters or hyphens (-), and must not begin or 82 * end with a hyphen.</p> 83 */ GetName()84 inline const Aws::String& GetName() const{ return m_name; } 85 86 /** 87 * <p>The name of the accelerator. The name can have a maximum of 32 characters, 88 * must contain only alphanumeric characters or hyphens (-), and must not begin or 89 * end with a hyphen.</p> 90 */ NameHasBeenSet()91 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 92 93 /** 94 * <p>The name of the accelerator. The name can have a maximum of 32 characters, 95 * must contain only alphanumeric characters or hyphens (-), and must not begin or 96 * end with a hyphen.</p> 97 */ SetName(const Aws::String & value)98 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 99 100 /** 101 * <p>The name of the accelerator. The name can have a maximum of 32 characters, 102 * must contain only alphanumeric characters or hyphens (-), and must not begin or 103 * end with a hyphen.</p> 104 */ SetName(Aws::String && value)105 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 106 107 /** 108 * <p>The name of the accelerator. The name can have a maximum of 32 characters, 109 * must contain only alphanumeric characters or hyphens (-), and must not begin or 110 * end with a hyphen.</p> 111 */ SetName(const char * value)112 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 113 114 /** 115 * <p>The name of the accelerator. The name can have a maximum of 32 characters, 116 * must contain only alphanumeric characters or hyphens (-), and must not begin or 117 * end with a hyphen.</p> 118 */ WithName(const Aws::String & value)119 inline UpdateCustomRoutingAcceleratorRequest& WithName(const Aws::String& value) { SetName(value); return *this;} 120 121 /** 122 * <p>The name of the accelerator. The name can have a maximum of 32 characters, 123 * must contain only alphanumeric characters or hyphens (-), and must not begin or 124 * end with a hyphen.</p> 125 */ WithName(Aws::String && value)126 inline UpdateCustomRoutingAcceleratorRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 127 128 /** 129 * <p>The name of the accelerator. The name can have a maximum of 32 characters, 130 * must contain only alphanumeric characters or hyphens (-), and must not begin or 131 * end with a hyphen.</p> 132 */ WithName(const char * value)133 inline UpdateCustomRoutingAcceleratorRequest& WithName(const char* value) { SetName(value); return *this;} 134 135 136 /** 137 * <p>The value for the address type must be IPv4.</p> 138 */ GetIpAddressType()139 inline const IpAddressType& GetIpAddressType() const{ return m_ipAddressType; } 140 141 /** 142 * <p>The value for the address type must be IPv4.</p> 143 */ IpAddressTypeHasBeenSet()144 inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; } 145 146 /** 147 * <p>The value for the address type must be IPv4.</p> 148 */ SetIpAddressType(const IpAddressType & value)149 inline void SetIpAddressType(const IpAddressType& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = value; } 150 151 /** 152 * <p>The value for the address type must be IPv4.</p> 153 */ SetIpAddressType(IpAddressType && value)154 inline void SetIpAddressType(IpAddressType&& value) { m_ipAddressTypeHasBeenSet = true; m_ipAddressType = std::move(value); } 155 156 /** 157 * <p>The value for the address type must be IPv4.</p> 158 */ WithIpAddressType(const IpAddressType & value)159 inline UpdateCustomRoutingAcceleratorRequest& WithIpAddressType(const IpAddressType& value) { SetIpAddressType(value); return *this;} 160 161 /** 162 * <p>The value for the address type must be IPv4.</p> 163 */ WithIpAddressType(IpAddressType && value)164 inline UpdateCustomRoutingAcceleratorRequest& WithIpAddressType(IpAddressType&& value) { SetIpAddressType(std::move(value)); return *this;} 165 166 167 /** 168 * <p>Indicates whether an accelerator is enabled. The value is true or false. The 169 * default value is true. </p> <p>If the value is set to true, the accelerator 170 * cannot be deleted. If set to false, the accelerator can be deleted.</p> 171 */ GetEnabled()172 inline bool GetEnabled() const{ return m_enabled; } 173 174 /** 175 * <p>Indicates whether an accelerator is enabled. The value is true or false. The 176 * default value is true. </p> <p>If the value is set to true, the accelerator 177 * cannot be deleted. If set to false, the accelerator can be deleted.</p> 178 */ EnabledHasBeenSet()179 inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; } 180 181 /** 182 * <p>Indicates whether an accelerator is enabled. The value is true or false. The 183 * default value is true. </p> <p>If the value is set to true, the accelerator 184 * cannot be deleted. If set to false, the accelerator can be deleted.</p> 185 */ SetEnabled(bool value)186 inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; } 187 188 /** 189 * <p>Indicates whether an accelerator is enabled. The value is true or false. The 190 * default value is true. </p> <p>If the value is set to true, the accelerator 191 * cannot be deleted. If set to false, the accelerator can be deleted.</p> 192 */ WithEnabled(bool value)193 inline UpdateCustomRoutingAcceleratorRequest& WithEnabled(bool value) { SetEnabled(value); return *this;} 194 195 private: 196 197 Aws::String m_acceleratorArn; 198 bool m_acceleratorArnHasBeenSet; 199 200 Aws::String m_name; 201 bool m_nameHasBeenSet; 202 203 IpAddressType m_ipAddressType; 204 bool m_ipAddressTypeHasBeenSet; 205 206 bool m_enabled; 207 bool m_enabledHasBeenSet; 208 }; 209 210 } // namespace Model 211 } // namespace GlobalAccelerator 212 } // namespace Aws 213