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/core/utils/memory/stl/AWSString.h> 9 #include <aws/globalaccelerator/model/ByoipCidrState.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/globalaccelerator/model/ByoipCidrEvent.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 namespace Utils 17 { 18 namespace Json 19 { 20 class JsonValue; 21 class JsonView; 22 } // namespace Json 23 } // namespace Utils 24 namespace GlobalAccelerator 25 { 26 namespace Model 27 { 28 29 /** 30 * <p>Information about an IP address range that is provisioned for use with your 31 * AWS resources through bring your own IP address (BYOIP).</p> <p>The following 32 * describes each BYOIP <code>State</code> that your IP address range can be 33 * in.</p> <ul> <li> <p> <b>PENDING_PROVISIONING</b> — You’ve submitted a request 34 * to provision an IP address range but it is not yet provisioned with AWS Global 35 * Accelerator.</p> </li> <li> <p> <b>READY</b> — The address range is provisioned 36 * with AWS Global Accelerator and can be advertised.</p> </li> <li> <p> 37 * <b>PENDING_ADVERTISING</b> — You’ve submitted a request for AWS Global 38 * Accelerator to advertise an address range but it is not yet being 39 * advertised.</p> </li> <li> <p> <b>ADVERTISING</b> — The address range is being 40 * advertised by AWS Global Accelerator.</p> </li> <li> <p> 41 * <b>PENDING_WITHDRAWING</b> — You’ve submitted a request to withdraw an address 42 * range from being advertised but it is still being advertised by AWS Global 43 * Accelerator.</p> </li> <li> <p> <b>PENDING_DEPROVISIONING</b> — You’ve submitted 44 * a request to deprovision an address range from AWS Global Accelerator but it is 45 * still provisioned.</p> </li> <li> <p> <b>DEPROVISIONED</b> — The address range 46 * is deprovisioned from AWS Global Accelerator.</p> </li> <li> <p> 47 * <b>FAILED_PROVISION </b> — The request to provision the address range from AWS 48 * Global Accelerator was not successful. Please make sure that you provide all of 49 * the correct information, and try again. If the request fails a second time, 50 * contact AWS support.</p> </li> <li> <p> <b>FAILED_ADVERTISING</b> — The request 51 * for AWS Global Accelerator to advertise the address range was not successful. 52 * Please make sure that you provide all of the correct information, and try again. 53 * If the request fails a second time, contact AWS support.</p> </li> <li> <p> 54 * <b>FAILED_WITHDRAW</b> — The request to withdraw the address range from 55 * advertising by AWS Global Accelerator was not successful. Please make sure that 56 * you provide all of the correct information, and try again. If the request fails 57 * a second time, contact AWS support.</p> </li> <li> <p> <b>FAILED_DEPROVISION 58 * </b> — The request to deprovision the address range from AWS Global Accelerator 59 * was not successful. Please make sure that you provide all of the correct 60 * information, and try again. If the request fails a second time, contact AWS 61 * support.</p> </li> </ul><p><h3>See Also:</h3> <a 62 * href="http://docs.aws.amazon.com/goto/WebAPI/globalaccelerator-2018-08-08/ByoipCidr">AWS 63 * API Reference</a></p> 64 */ 65 class AWS_GLOBALACCELERATOR_API ByoipCidr 66 { 67 public: 68 ByoipCidr(); 69 ByoipCidr(Aws::Utils::Json::JsonView jsonValue); 70 ByoipCidr& operator=(Aws::Utils::Json::JsonView jsonValue); 71 Aws::Utils::Json::JsonValue Jsonize() const; 72 73 74 /** 75 * <p>The address range, in CIDR notation.</p> 76 */ GetCidr()77 inline const Aws::String& GetCidr() const{ return m_cidr; } 78 79 /** 80 * <p>The address range, in CIDR notation.</p> 81 */ CidrHasBeenSet()82 inline bool CidrHasBeenSet() const { return m_cidrHasBeenSet; } 83 84 /** 85 * <p>The address range, in CIDR notation.</p> 86 */ SetCidr(const Aws::String & value)87 inline void SetCidr(const Aws::String& value) { m_cidrHasBeenSet = true; m_cidr = value; } 88 89 /** 90 * <p>The address range, in CIDR notation.</p> 91 */ SetCidr(Aws::String && value)92 inline void SetCidr(Aws::String&& value) { m_cidrHasBeenSet = true; m_cidr = std::move(value); } 93 94 /** 95 * <p>The address range, in CIDR notation.</p> 96 */ SetCidr(const char * value)97 inline void SetCidr(const char* value) { m_cidrHasBeenSet = true; m_cidr.assign(value); } 98 99 /** 100 * <p>The address range, in CIDR notation.</p> 101 */ WithCidr(const Aws::String & value)102 inline ByoipCidr& WithCidr(const Aws::String& value) { SetCidr(value); return *this;} 103 104 /** 105 * <p>The address range, in CIDR notation.</p> 106 */ WithCidr(Aws::String && value)107 inline ByoipCidr& WithCidr(Aws::String&& value) { SetCidr(std::move(value)); return *this;} 108 109 /** 110 * <p>The address range, in CIDR notation.</p> 111 */ WithCidr(const char * value)112 inline ByoipCidr& WithCidr(const char* value) { SetCidr(value); return *this;} 113 114 115 /** 116 * <p>The state of the address pool.</p> 117 */ GetState()118 inline const ByoipCidrState& GetState() const{ return m_state; } 119 120 /** 121 * <p>The state of the address pool.</p> 122 */ StateHasBeenSet()123 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } 124 125 /** 126 * <p>The state of the address pool.</p> 127 */ SetState(const ByoipCidrState & value)128 inline void SetState(const ByoipCidrState& value) { m_stateHasBeenSet = true; m_state = value; } 129 130 /** 131 * <p>The state of the address pool.</p> 132 */ SetState(ByoipCidrState && value)133 inline void SetState(ByoipCidrState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } 134 135 /** 136 * <p>The state of the address pool.</p> 137 */ WithState(const ByoipCidrState & value)138 inline ByoipCidr& WithState(const ByoipCidrState& value) { SetState(value); return *this;} 139 140 /** 141 * <p>The state of the address pool.</p> 142 */ WithState(ByoipCidrState && value)143 inline ByoipCidr& WithState(ByoipCidrState&& value) { SetState(std::move(value)); return *this;} 144 145 146 /** 147 * <p>A history of status changes for an IP address range that you bring to AWS 148 * Global Accelerator through bring your own IP address (BYOIP).</p> 149 */ GetEvents()150 inline const Aws::Vector<ByoipCidrEvent>& GetEvents() const{ return m_events; } 151 152 /** 153 * <p>A history of status changes for an IP address range that you bring to AWS 154 * Global Accelerator through bring your own IP address (BYOIP).</p> 155 */ EventsHasBeenSet()156 inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; } 157 158 /** 159 * <p>A history of status changes for an IP address range that you bring to AWS 160 * Global Accelerator through bring your own IP address (BYOIP).</p> 161 */ SetEvents(const Aws::Vector<ByoipCidrEvent> & value)162 inline void SetEvents(const Aws::Vector<ByoipCidrEvent>& value) { m_eventsHasBeenSet = true; m_events = value; } 163 164 /** 165 * <p>A history of status changes for an IP address range that you bring to AWS 166 * Global Accelerator through bring your own IP address (BYOIP).</p> 167 */ SetEvents(Aws::Vector<ByoipCidrEvent> && value)168 inline void SetEvents(Aws::Vector<ByoipCidrEvent>&& value) { m_eventsHasBeenSet = true; m_events = std::move(value); } 169 170 /** 171 * <p>A history of status changes for an IP address range that you bring to AWS 172 * Global Accelerator through bring your own IP address (BYOIP).</p> 173 */ WithEvents(const Aws::Vector<ByoipCidrEvent> & value)174 inline ByoipCidr& WithEvents(const Aws::Vector<ByoipCidrEvent>& value) { SetEvents(value); return *this;} 175 176 /** 177 * <p>A history of status changes for an IP address range that you bring to AWS 178 * Global Accelerator through bring your own IP address (BYOIP).</p> 179 */ WithEvents(Aws::Vector<ByoipCidrEvent> && value)180 inline ByoipCidr& WithEvents(Aws::Vector<ByoipCidrEvent>&& value) { SetEvents(std::move(value)); return *this;} 181 182 /** 183 * <p>A history of status changes for an IP address range that you bring to AWS 184 * Global Accelerator through bring your own IP address (BYOIP).</p> 185 */ AddEvents(const ByoipCidrEvent & value)186 inline ByoipCidr& AddEvents(const ByoipCidrEvent& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; } 187 188 /** 189 * <p>A history of status changes for an IP address range that you bring to AWS 190 * Global Accelerator through bring your own IP address (BYOIP).</p> 191 */ AddEvents(ByoipCidrEvent && value)192 inline ByoipCidr& AddEvents(ByoipCidrEvent&& value) { m_eventsHasBeenSet = true; m_events.push_back(std::move(value)); return *this; } 193 194 private: 195 196 Aws::String m_cidr; 197 bool m_cidrHasBeenSet; 198 199 ByoipCidrState m_state; 200 bool m_stateHasBeenSet; 201 202 Aws::Vector<ByoipCidrEvent> m_events; 203 bool m_eventsHasBeenSet; 204 }; 205 206 } // namespace Model 207 } // namespace GlobalAccelerator 208 } // namespace Aws 209