/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace GlobalAccelerator { namespace Model { /** *

Information about an IP address range that is provisioned for use with your * Amazon Web Services resources through bring your own IP address (BYOIP).

*

The following describes each BYOIP State that your IP address * range can be in.

  • PENDING_PROVISIONING — You’ve * submitted a request to provision an IP address range but it is not yet * provisioned with Global Accelerator.

  • READY — The * address range is provisioned with Global Accelerator and can be advertised.

    *
  • PENDING_ADVERTISING — You’ve submitted a request for * Global Accelerator to advertise an address range but it is not yet being * advertised.

  • ADVERTISING — The address range is being * advertised by Global Accelerator.

  • PENDING_WITHDRAWING * — You’ve submitted a request to withdraw an address range from being advertised * but it is still being advertised by Global Accelerator.

  • * PENDING_DEPROVISIONING — You’ve submitted a request to deprovision an * address range from Global Accelerator but it is still provisioned.

  • *
  • DEPROVISIONED — The address range is deprovisioned from Global * Accelerator.

  • FAILED_PROVISION — The request to * provision the address range from Global Accelerator was not successful. Please * make sure that you provide all of the correct information, and try again. If the * request fails a second time, contact Amazon Web Services support.

  • *

    FAILED_ADVERTISING — The request for Global Accelerator to advertise * the address range was not successful. Please make sure that you provide all of * the correct information, and try again. If the request fails a second time, * contact Amazon Web Services support.

  • FAILED_WITHDRAW — * The request to withdraw the address range from advertising by Global Accelerator * was not successful. Please make sure that you provide all of the correct * information, and try again. If the request fails a second time, contact Amazon * Web Services support.

  • FAILED_DEPROVISION — The * request to deprovision the address range from Global Accelerator was not * successful. Please make sure that you provide all of the correct information, * and try again. If the request fails a second time, contact Amazon Web Services * support.

See Also:

AWS * API Reference

*/ class ByoipCidr { public: AWS_GLOBALACCELERATOR_API ByoipCidr(); AWS_GLOBALACCELERATOR_API ByoipCidr(Aws::Utils::Json::JsonView jsonValue); AWS_GLOBALACCELERATOR_API ByoipCidr& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_GLOBALACCELERATOR_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The address range, in CIDR notation.

*/ inline const Aws::String& GetCidr() const{ return m_cidr; } /** *

The address range, in CIDR notation.

*/ inline bool CidrHasBeenSet() const { return m_cidrHasBeenSet; } /** *

The address range, in CIDR notation.

*/ inline void SetCidr(const Aws::String& value) { m_cidrHasBeenSet = true; m_cidr = value; } /** *

The address range, in CIDR notation.

*/ inline void SetCidr(Aws::String&& value) { m_cidrHasBeenSet = true; m_cidr = std::move(value); } /** *

The address range, in CIDR notation.

*/ inline void SetCidr(const char* value) { m_cidrHasBeenSet = true; m_cidr.assign(value); } /** *

The address range, in CIDR notation.

*/ inline ByoipCidr& WithCidr(const Aws::String& value) { SetCidr(value); return *this;} /** *

The address range, in CIDR notation.

*/ inline ByoipCidr& WithCidr(Aws::String&& value) { SetCidr(std::move(value)); return *this;} /** *

The address range, in CIDR notation.

*/ inline ByoipCidr& WithCidr(const char* value) { SetCidr(value); return *this;} /** *

The state of the address pool.

*/ inline const ByoipCidrState& GetState() const{ return m_state; } /** *

The state of the address pool.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The state of the address pool.

*/ inline void SetState(const ByoipCidrState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The state of the address pool.

*/ inline void SetState(ByoipCidrState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The state of the address pool.

*/ inline ByoipCidr& WithState(const ByoipCidrState& value) { SetState(value); return *this;} /** *

The state of the address pool.

*/ inline ByoipCidr& WithState(ByoipCidrState&& value) { SetState(std::move(value)); return *this;} /** *

A history of status changes for an IP address range that you bring to Global * Accelerator through bring your own IP address (BYOIP).

*/ inline const Aws::Vector& GetEvents() const{ return m_events; } /** *

A history of status changes for an IP address range that you bring to Global * Accelerator through bring your own IP address (BYOIP).

*/ inline bool EventsHasBeenSet() const { return m_eventsHasBeenSet; } /** *

A history of status changes for an IP address range that you bring to Global * Accelerator through bring your own IP address (BYOIP).

*/ inline void SetEvents(const Aws::Vector& value) { m_eventsHasBeenSet = true; m_events = value; } /** *

A history of status changes for an IP address range that you bring to Global * Accelerator through bring your own IP address (BYOIP).

*/ inline void SetEvents(Aws::Vector&& value) { m_eventsHasBeenSet = true; m_events = std::move(value); } /** *

A history of status changes for an IP address range that you bring to Global * Accelerator through bring your own IP address (BYOIP).

*/ inline ByoipCidr& WithEvents(const Aws::Vector& value) { SetEvents(value); return *this;} /** *

A history of status changes for an IP address range that you bring to Global * Accelerator through bring your own IP address (BYOIP).

*/ inline ByoipCidr& WithEvents(Aws::Vector&& value) { SetEvents(std::move(value)); return *this;} /** *

A history of status changes for an IP address range that you bring to Global * Accelerator through bring your own IP address (BYOIP).

*/ inline ByoipCidr& AddEvents(const ByoipCidrEvent& value) { m_eventsHasBeenSet = true; m_events.push_back(value); return *this; } /** *

A history of status changes for an IP address range that you bring to Global * Accelerator through bring your own IP address (BYOIP).

*/ inline ByoipCidr& AddEvents(ByoipCidrEvent&& value) { m_eventsHasBeenSet = true; m_events.push_back(std::move(value)); return *this; } private: Aws::String m_cidr; bool m_cidrHasBeenSet = false; ByoipCidrState m_state; bool m_stateHasBeenSet = false; Aws::Vector m_events; bool m_eventsHasBeenSet = false; }; } // namespace Model } // namespace GlobalAccelerator } // namespace Aws