/**
* 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 Lightsail
{
namespace Model
{
/**
* Describes the Amazon Web Services Region.
See Also:
AWS
* API Reference
*/
class Region
{
public:
AWS_LIGHTSAIL_API Region();
AWS_LIGHTSAIL_API Region(Aws::Utils::Json::JsonView jsonValue);
AWS_LIGHTSAIL_API Region& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* The continent code (e.g., NA
, meaning North America).
*/
inline const Aws::String& GetContinentCode() const{ return m_continentCode; }
/**
* The continent code (e.g., NA
, meaning North America).
*/
inline bool ContinentCodeHasBeenSet() const { return m_continentCodeHasBeenSet; }
/**
* The continent code (e.g., NA
, meaning North America).
*/
inline void SetContinentCode(const Aws::String& value) { m_continentCodeHasBeenSet = true; m_continentCode = value; }
/**
* The continent code (e.g., NA
, meaning North America).
*/
inline void SetContinentCode(Aws::String&& value) { m_continentCodeHasBeenSet = true; m_continentCode = std::move(value); }
/**
* The continent code (e.g., NA
, meaning North America).
*/
inline void SetContinentCode(const char* value) { m_continentCodeHasBeenSet = true; m_continentCode.assign(value); }
/**
* The continent code (e.g., NA
, meaning North America).
*/
inline Region& WithContinentCode(const Aws::String& value) { SetContinentCode(value); return *this;}
/**
* The continent code (e.g., NA
, meaning North America).
*/
inline Region& WithContinentCode(Aws::String&& value) { SetContinentCode(std::move(value)); return *this;}
/**
* The continent code (e.g., NA
, meaning North America).
*/
inline Region& WithContinentCode(const char* value) { SetContinentCode(value); return *this;}
/**
* The description of the Amazon Web Services Region (e.g., This region is
* recommended to serve users in the eastern United States and eastern
* Canada
).
*/
inline const Aws::String& GetDescription() const{ return m_description; }
/**
* The description of the Amazon Web Services Region (e.g., This region is
* recommended to serve users in the eastern United States and eastern
* Canada
).
*/
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
/**
* The description of the Amazon Web Services Region (e.g., This region is
* recommended to serve users in the eastern United States and eastern
* Canada
).
*/
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
/**
* The description of the Amazon Web Services Region (e.g., This region is
* recommended to serve users in the eastern United States and eastern
* Canada
).
*/
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
/**
* The description of the Amazon Web Services Region (e.g., This region is
* recommended to serve users in the eastern United States and eastern
* Canada
).
*/
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
/**
* The description of the Amazon Web Services Region (e.g., This region is
* recommended to serve users in the eastern United States and eastern
* Canada
).
*/
inline Region& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
/**
* The description of the Amazon Web Services Region (e.g., This region is
* recommended to serve users in the eastern United States and eastern
* Canada
).
*/
inline Region& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
/**
* The description of the Amazon Web Services Region (e.g., This region is
* recommended to serve users in the eastern United States and eastern
* Canada
).
*/
inline Region& WithDescription(const char* value) { SetDescription(value); return *this;}
/**
* The display name (e.g., Ohio
).
*/
inline const Aws::String& GetDisplayName() const{ return m_displayName; }
/**
* The display name (e.g., Ohio
).
*/
inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; }
/**
* The display name (e.g., Ohio
).
*/
inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; }
/**
* The display name (e.g., Ohio
).
*/
inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); }
/**
* The display name (e.g., Ohio
).
*/
inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); }
/**
* The display name (e.g., Ohio
).
*/
inline Region& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;}
/**
* The display name (e.g., Ohio
).
*/
inline Region& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;}
/**
* The display name (e.g., Ohio
).
*/
inline Region& WithDisplayName(const char* value) { SetDisplayName(value); return *this;}
/**
* The region name (e.g., us-east-2
).
*/
inline const RegionName& GetName() const{ return m_name; }
/**
* The region name (e.g., us-east-2
).
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* The region name (e.g., us-east-2
).
*/
inline void SetName(const RegionName& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* The region name (e.g., us-east-2
).
*/
inline void SetName(RegionName&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* The region name (e.g., us-east-2
).
*/
inline Region& WithName(const RegionName& value) { SetName(value); return *this;}
/**
* The region name (e.g., us-east-2
).
*/
inline Region& WithName(RegionName&& value) { SetName(std::move(value)); return *this;}
/**
* The Availability Zones. Follows the format us-east-2a
* (case-sensitive).
*/
inline const Aws::Vector& GetAvailabilityZones() const{ return m_availabilityZones; }
/**
* The Availability Zones. Follows the format us-east-2a
* (case-sensitive).
*/
inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
/**
* The Availability Zones. Follows the format us-east-2a
* (case-sensitive).
*/
inline void SetAvailabilityZones(const Aws::Vector& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; }
/**
* The Availability Zones. Follows the format us-east-2a
* (case-sensitive).
*/
inline void SetAvailabilityZones(Aws::Vector&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::move(value); }
/**
* The Availability Zones. Follows the format us-east-2a
* (case-sensitive).
*/
inline Region& WithAvailabilityZones(const Aws::Vector& value) { SetAvailabilityZones(value); return *this;}
/**
* The Availability Zones. Follows the format us-east-2a
* (case-sensitive).
*/
inline Region& WithAvailabilityZones(Aws::Vector&& value) { SetAvailabilityZones(std::move(value)); return *this;}
/**
* The Availability Zones. Follows the format us-east-2a
* (case-sensitive).
*/
inline Region& AddAvailabilityZones(const AvailabilityZone& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
/**
* The Availability Zones. Follows the format us-east-2a
* (case-sensitive).
*/
inline Region& AddAvailabilityZones(AvailabilityZone&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(std::move(value)); return *this; }
/**
* The Availability Zones for databases. Follows the format
* us-east-2a
(case-sensitive).
*/
inline const Aws::Vector& GetRelationalDatabaseAvailabilityZones() const{ return m_relationalDatabaseAvailabilityZones; }
/**
* The Availability Zones for databases. Follows the format
* us-east-2a
(case-sensitive).
*/
inline bool RelationalDatabaseAvailabilityZonesHasBeenSet() const { return m_relationalDatabaseAvailabilityZonesHasBeenSet; }
/**
* The Availability Zones for databases. Follows the format
* us-east-2a
(case-sensitive).
*/
inline void SetRelationalDatabaseAvailabilityZones(const Aws::Vector& value) { m_relationalDatabaseAvailabilityZonesHasBeenSet = true; m_relationalDatabaseAvailabilityZones = value; }
/**
* The Availability Zones for databases. Follows the format
* us-east-2a
(case-sensitive).
*/
inline void SetRelationalDatabaseAvailabilityZones(Aws::Vector&& value) { m_relationalDatabaseAvailabilityZonesHasBeenSet = true; m_relationalDatabaseAvailabilityZones = std::move(value); }
/**
* The Availability Zones for databases. Follows the format
* us-east-2a
(case-sensitive).
*/
inline Region& WithRelationalDatabaseAvailabilityZones(const Aws::Vector& value) { SetRelationalDatabaseAvailabilityZones(value); return *this;}
/**
* The Availability Zones for databases. Follows the format
* us-east-2a
(case-sensitive).
*/
inline Region& WithRelationalDatabaseAvailabilityZones(Aws::Vector&& value) { SetRelationalDatabaseAvailabilityZones(std::move(value)); return *this;}
/**
* The Availability Zones for databases. Follows the format
* us-east-2a
(case-sensitive).
*/
inline Region& AddRelationalDatabaseAvailabilityZones(const AvailabilityZone& value) { m_relationalDatabaseAvailabilityZonesHasBeenSet = true; m_relationalDatabaseAvailabilityZones.push_back(value); return *this; }
/**
* The Availability Zones for databases. Follows the format
* us-east-2a
(case-sensitive).
*/
inline Region& AddRelationalDatabaseAvailabilityZones(AvailabilityZone&& value) { m_relationalDatabaseAvailabilityZonesHasBeenSet = true; m_relationalDatabaseAvailabilityZones.push_back(std::move(value)); return *this; }
private:
Aws::String m_continentCode;
bool m_continentCodeHasBeenSet = false;
Aws::String m_description;
bool m_descriptionHasBeenSet = false;
Aws::String m_displayName;
bool m_displayNameHasBeenSet = false;
RegionName m_name;
bool m_nameHasBeenSet = false;
Aws::Vector m_availabilityZones;
bool m_availabilityZonesHasBeenSet = false;
Aws::Vector m_relationalDatabaseAvailabilityZones;
bool m_relationalDatabaseAvailabilityZonesHasBeenSet = false;
};
} // namespace Model
} // namespace Lightsail
} // namespace Aws