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

The address that you want the Snow device(s) associated with a specific job * to be shipped to. Addresses are validated at the time of creation. The address * you provide must be located within the serviceable area of your region. Although * no individual elements of the Address are required, if the address * is invalid or unsupported, then an exception is thrown.

See Also:

* AWS * API Reference

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

The unique ID for an address.

*/ inline const Aws::String& GetAddressId() const{ return m_addressId; } /** *

The unique ID for an address.

*/ inline bool AddressIdHasBeenSet() const { return m_addressIdHasBeenSet; } /** *

The unique ID for an address.

*/ inline void SetAddressId(const Aws::String& value) { m_addressIdHasBeenSet = true; m_addressId = value; } /** *

The unique ID for an address.

*/ inline void SetAddressId(Aws::String&& value) { m_addressIdHasBeenSet = true; m_addressId = std::move(value); } /** *

The unique ID for an address.

*/ inline void SetAddressId(const char* value) { m_addressIdHasBeenSet = true; m_addressId.assign(value); } /** *

The unique ID for an address.

*/ inline Address& WithAddressId(const Aws::String& value) { SetAddressId(value); return *this;} /** *

The unique ID for an address.

*/ inline Address& WithAddressId(Aws::String&& value) { SetAddressId(std::move(value)); return *this;} /** *

The unique ID for an address.

*/ inline Address& WithAddressId(const char* value) { SetAddressId(value); return *this;} /** *

The name of a person to receive a Snow device at an address.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of a person to receive a Snow device at an address.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of a person to receive a Snow device at an address.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of a person to receive a Snow device at an address.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of a person to receive a Snow device at an address.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of a person to receive a Snow device at an address.

*/ inline Address& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of a person to receive a Snow device at an address.

*/ inline Address& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of a person to receive a Snow device at an address.

*/ inline Address& WithName(const char* value) { SetName(value); return *this;} /** *

The name of the company to receive a Snow device at an address.

*/ inline const Aws::String& GetCompany() const{ return m_company; } /** *

The name of the company to receive a Snow device at an address.

*/ inline bool CompanyHasBeenSet() const { return m_companyHasBeenSet; } /** *

The name of the company to receive a Snow device at an address.

*/ inline void SetCompany(const Aws::String& value) { m_companyHasBeenSet = true; m_company = value; } /** *

The name of the company to receive a Snow device at an address.

*/ inline void SetCompany(Aws::String&& value) { m_companyHasBeenSet = true; m_company = std::move(value); } /** *

The name of the company to receive a Snow device at an address.

*/ inline void SetCompany(const char* value) { m_companyHasBeenSet = true; m_company.assign(value); } /** *

The name of the company to receive a Snow device at an address.

*/ inline Address& WithCompany(const Aws::String& value) { SetCompany(value); return *this;} /** *

The name of the company to receive a Snow device at an address.

*/ inline Address& WithCompany(Aws::String&& value) { SetCompany(std::move(value)); return *this;} /** *

The name of the company to receive a Snow device at an address.

*/ inline Address& WithCompany(const char* value) { SetCompany(value); return *this;} /** *

The first line in a street address that a Snow device is to be delivered * to.

*/ inline const Aws::String& GetStreet1() const{ return m_street1; } /** *

The first line in a street address that a Snow device is to be delivered * to.

*/ inline bool Street1HasBeenSet() const { return m_street1HasBeenSet; } /** *

The first line in a street address that a Snow device is to be delivered * to.

*/ inline void SetStreet1(const Aws::String& value) { m_street1HasBeenSet = true; m_street1 = value; } /** *

The first line in a street address that a Snow device is to be delivered * to.

*/ inline void SetStreet1(Aws::String&& value) { m_street1HasBeenSet = true; m_street1 = std::move(value); } /** *

The first line in a street address that a Snow device is to be delivered * to.

*/ inline void SetStreet1(const char* value) { m_street1HasBeenSet = true; m_street1.assign(value); } /** *

The first line in a street address that a Snow device is to be delivered * to.

*/ inline Address& WithStreet1(const Aws::String& value) { SetStreet1(value); return *this;} /** *

The first line in a street address that a Snow device is to be delivered * to.

*/ inline Address& WithStreet1(Aws::String&& value) { SetStreet1(std::move(value)); return *this;} /** *

The first line in a street address that a Snow device is to be delivered * to.

*/ inline Address& WithStreet1(const char* value) { SetStreet1(value); return *this;} /** *

The second line in a street address that a Snow device is to be delivered * to.

*/ inline const Aws::String& GetStreet2() const{ return m_street2; } /** *

The second line in a street address that a Snow device is to be delivered * to.

*/ inline bool Street2HasBeenSet() const { return m_street2HasBeenSet; } /** *

The second line in a street address that a Snow device is to be delivered * to.

*/ inline void SetStreet2(const Aws::String& value) { m_street2HasBeenSet = true; m_street2 = value; } /** *

The second line in a street address that a Snow device is to be delivered * to.

*/ inline void SetStreet2(Aws::String&& value) { m_street2HasBeenSet = true; m_street2 = std::move(value); } /** *

The second line in a street address that a Snow device is to be delivered * to.

*/ inline void SetStreet2(const char* value) { m_street2HasBeenSet = true; m_street2.assign(value); } /** *

The second line in a street address that a Snow device is to be delivered * to.

*/ inline Address& WithStreet2(const Aws::String& value) { SetStreet2(value); return *this;} /** *

The second line in a street address that a Snow device is to be delivered * to.

*/ inline Address& WithStreet2(Aws::String&& value) { SetStreet2(std::move(value)); return *this;} /** *

The second line in a street address that a Snow device is to be delivered * to.

*/ inline Address& WithStreet2(const char* value) { SetStreet2(value); return *this;} /** *

The third line in a street address that a Snow device is to be delivered * to.

*/ inline const Aws::String& GetStreet3() const{ return m_street3; } /** *

The third line in a street address that a Snow device is to be delivered * to.

*/ inline bool Street3HasBeenSet() const { return m_street3HasBeenSet; } /** *

The third line in a street address that a Snow device is to be delivered * to.

*/ inline void SetStreet3(const Aws::String& value) { m_street3HasBeenSet = true; m_street3 = value; } /** *

The third line in a street address that a Snow device is to be delivered * to.

*/ inline void SetStreet3(Aws::String&& value) { m_street3HasBeenSet = true; m_street3 = std::move(value); } /** *

The third line in a street address that a Snow device is to be delivered * to.

*/ inline void SetStreet3(const char* value) { m_street3HasBeenSet = true; m_street3.assign(value); } /** *

The third line in a street address that a Snow device is to be delivered * to.

*/ inline Address& WithStreet3(const Aws::String& value) { SetStreet3(value); return *this;} /** *

The third line in a street address that a Snow device is to be delivered * to.

*/ inline Address& WithStreet3(Aws::String&& value) { SetStreet3(std::move(value)); return *this;} /** *

The third line in a street address that a Snow device is to be delivered * to.

*/ inline Address& WithStreet3(const char* value) { SetStreet3(value); return *this;} /** *

The city in an address that a Snow device is to be delivered to.

*/ inline const Aws::String& GetCity() const{ return m_city; } /** *

The city in an address that a Snow device is to be delivered to.

*/ inline bool CityHasBeenSet() const { return m_cityHasBeenSet; } /** *

The city in an address that a Snow device is to be delivered to.

*/ inline void SetCity(const Aws::String& value) { m_cityHasBeenSet = true; m_city = value; } /** *

The city in an address that a Snow device is to be delivered to.

*/ inline void SetCity(Aws::String&& value) { m_cityHasBeenSet = true; m_city = std::move(value); } /** *

The city in an address that a Snow device is to be delivered to.

*/ inline void SetCity(const char* value) { m_cityHasBeenSet = true; m_city.assign(value); } /** *

The city in an address that a Snow device is to be delivered to.

*/ inline Address& WithCity(const Aws::String& value) { SetCity(value); return *this;} /** *

The city in an address that a Snow device is to be delivered to.

*/ inline Address& WithCity(Aws::String&& value) { SetCity(std::move(value)); return *this;} /** *

The city in an address that a Snow device is to be delivered to.

*/ inline Address& WithCity(const char* value) { SetCity(value); return *this;} /** *

The state or province in an address that a Snow device is to be delivered * to.

*/ inline const Aws::String& GetStateOrProvince() const{ return m_stateOrProvince; } /** *

The state or province in an address that a Snow device is to be delivered * to.

*/ inline bool StateOrProvinceHasBeenSet() const { return m_stateOrProvinceHasBeenSet; } /** *

The state or province in an address that a Snow device is to be delivered * to.

*/ inline void SetStateOrProvince(const Aws::String& value) { m_stateOrProvinceHasBeenSet = true; m_stateOrProvince = value; } /** *

The state or province in an address that a Snow device is to be delivered * to.

*/ inline void SetStateOrProvince(Aws::String&& value) { m_stateOrProvinceHasBeenSet = true; m_stateOrProvince = std::move(value); } /** *

The state or province in an address that a Snow device is to be delivered * to.

*/ inline void SetStateOrProvince(const char* value) { m_stateOrProvinceHasBeenSet = true; m_stateOrProvince.assign(value); } /** *

The state or province in an address that a Snow device is to be delivered * to.

*/ inline Address& WithStateOrProvince(const Aws::String& value) { SetStateOrProvince(value); return *this;} /** *

The state or province in an address that a Snow device is to be delivered * to.

*/ inline Address& WithStateOrProvince(Aws::String&& value) { SetStateOrProvince(std::move(value)); return *this;} /** *

The state or province in an address that a Snow device is to be delivered * to.

*/ inline Address& WithStateOrProvince(const char* value) { SetStateOrProvince(value); return *this;} /** *

This field is no longer used and the value is ignored.

*/ inline const Aws::String& GetPrefectureOrDistrict() const{ return m_prefectureOrDistrict; } /** *

This field is no longer used and the value is ignored.

*/ inline bool PrefectureOrDistrictHasBeenSet() const { return m_prefectureOrDistrictHasBeenSet; } /** *

This field is no longer used and the value is ignored.

*/ inline void SetPrefectureOrDistrict(const Aws::String& value) { m_prefectureOrDistrictHasBeenSet = true; m_prefectureOrDistrict = value; } /** *

This field is no longer used and the value is ignored.

*/ inline void SetPrefectureOrDistrict(Aws::String&& value) { m_prefectureOrDistrictHasBeenSet = true; m_prefectureOrDistrict = std::move(value); } /** *

This field is no longer used and the value is ignored.

*/ inline void SetPrefectureOrDistrict(const char* value) { m_prefectureOrDistrictHasBeenSet = true; m_prefectureOrDistrict.assign(value); } /** *

This field is no longer used and the value is ignored.

*/ inline Address& WithPrefectureOrDistrict(const Aws::String& value) { SetPrefectureOrDistrict(value); return *this;} /** *

This field is no longer used and the value is ignored.

*/ inline Address& WithPrefectureOrDistrict(Aws::String&& value) { SetPrefectureOrDistrict(std::move(value)); return *this;} /** *

This field is no longer used and the value is ignored.

*/ inline Address& WithPrefectureOrDistrict(const char* value) { SetPrefectureOrDistrict(value); return *this;} /** *

This field is no longer used and the value is ignored.

*/ inline const Aws::String& GetLandmark() const{ return m_landmark; } /** *

This field is no longer used and the value is ignored.

*/ inline bool LandmarkHasBeenSet() const { return m_landmarkHasBeenSet; } /** *

This field is no longer used and the value is ignored.

*/ inline void SetLandmark(const Aws::String& value) { m_landmarkHasBeenSet = true; m_landmark = value; } /** *

This field is no longer used and the value is ignored.

*/ inline void SetLandmark(Aws::String&& value) { m_landmarkHasBeenSet = true; m_landmark = std::move(value); } /** *

This field is no longer used and the value is ignored.

*/ inline void SetLandmark(const char* value) { m_landmarkHasBeenSet = true; m_landmark.assign(value); } /** *

This field is no longer used and the value is ignored.

*/ inline Address& WithLandmark(const Aws::String& value) { SetLandmark(value); return *this;} /** *

This field is no longer used and the value is ignored.

*/ inline Address& WithLandmark(Aws::String&& value) { SetLandmark(std::move(value)); return *this;} /** *

This field is no longer used and the value is ignored.

*/ inline Address& WithLandmark(const char* value) { SetLandmark(value); return *this;} /** *

The country in an address that a Snow device is to be delivered to.

*/ inline const Aws::String& GetCountry() const{ return m_country; } /** *

The country in an address that a Snow device is to be delivered to.

*/ inline bool CountryHasBeenSet() const { return m_countryHasBeenSet; } /** *

The country in an address that a Snow device is to be delivered to.

*/ inline void SetCountry(const Aws::String& value) { m_countryHasBeenSet = true; m_country = value; } /** *

The country in an address that a Snow device is to be delivered to.

*/ inline void SetCountry(Aws::String&& value) { m_countryHasBeenSet = true; m_country = std::move(value); } /** *

The country in an address that a Snow device is to be delivered to.

*/ inline void SetCountry(const char* value) { m_countryHasBeenSet = true; m_country.assign(value); } /** *

The country in an address that a Snow device is to be delivered to.

*/ inline Address& WithCountry(const Aws::String& value) { SetCountry(value); return *this;} /** *

The country in an address that a Snow device is to be delivered to.

*/ inline Address& WithCountry(Aws::String&& value) { SetCountry(std::move(value)); return *this;} /** *

The country in an address that a Snow device is to be delivered to.

*/ inline Address& WithCountry(const char* value) { SetCountry(value); return *this;} /** *

The postal code in an address that a Snow device is to be delivered to.

*/ inline const Aws::String& GetPostalCode() const{ return m_postalCode; } /** *

The postal code in an address that a Snow device is to be delivered to.

*/ inline bool PostalCodeHasBeenSet() const { return m_postalCodeHasBeenSet; } /** *

The postal code in an address that a Snow device is to be delivered to.

*/ inline void SetPostalCode(const Aws::String& value) { m_postalCodeHasBeenSet = true; m_postalCode = value; } /** *

The postal code in an address that a Snow device is to be delivered to.

*/ inline void SetPostalCode(Aws::String&& value) { m_postalCodeHasBeenSet = true; m_postalCode = std::move(value); } /** *

The postal code in an address that a Snow device is to be delivered to.

*/ inline void SetPostalCode(const char* value) { m_postalCodeHasBeenSet = true; m_postalCode.assign(value); } /** *

The postal code in an address that a Snow device is to be delivered to.

*/ inline Address& WithPostalCode(const Aws::String& value) { SetPostalCode(value); return *this;} /** *

The postal code in an address that a Snow device is to be delivered to.

*/ inline Address& WithPostalCode(Aws::String&& value) { SetPostalCode(std::move(value)); return *this;} /** *

The postal code in an address that a Snow device is to be delivered to.

*/ inline Address& WithPostalCode(const char* value) { SetPostalCode(value); return *this;} /** *

The phone number associated with an address that a Snow device is to be * delivered to.

*/ inline const Aws::String& GetPhoneNumber() const{ return m_phoneNumber; } /** *

The phone number associated with an address that a Snow device is to be * delivered to.

*/ inline bool PhoneNumberHasBeenSet() const { return m_phoneNumberHasBeenSet; } /** *

The phone number associated with an address that a Snow device is to be * delivered to.

*/ inline void SetPhoneNumber(const Aws::String& value) { m_phoneNumberHasBeenSet = true; m_phoneNumber = value; } /** *

The phone number associated with an address that a Snow device is to be * delivered to.

*/ inline void SetPhoneNumber(Aws::String&& value) { m_phoneNumberHasBeenSet = true; m_phoneNumber = std::move(value); } /** *

The phone number associated with an address that a Snow device is to be * delivered to.

*/ inline void SetPhoneNumber(const char* value) { m_phoneNumberHasBeenSet = true; m_phoneNumber.assign(value); } /** *

The phone number associated with an address that a Snow device is to be * delivered to.

*/ inline Address& WithPhoneNumber(const Aws::String& value) { SetPhoneNumber(value); return *this;} /** *

The phone number associated with an address that a Snow device is to be * delivered to.

*/ inline Address& WithPhoneNumber(Aws::String&& value) { SetPhoneNumber(std::move(value)); return *this;} /** *

The phone number associated with an address that a Snow device is to be * delivered to.

*/ inline Address& WithPhoneNumber(const char* value) { SetPhoneNumber(value); return *this;} /** *

If the address you are creating is a primary address, then set this option to * true. This field is not supported in most regions.

*/ inline bool GetIsRestricted() const{ return m_isRestricted; } /** *

If the address you are creating is a primary address, then set this option to * true. This field is not supported in most regions.

*/ inline bool IsRestrictedHasBeenSet() const { return m_isRestrictedHasBeenSet; } /** *

If the address you are creating is a primary address, then set this option to * true. This field is not supported in most regions.

*/ inline void SetIsRestricted(bool value) { m_isRestrictedHasBeenSet = true; m_isRestricted = value; } /** *

If the address you are creating is a primary address, then set this option to * true. This field is not supported in most regions.

*/ inline Address& WithIsRestricted(bool value) { SetIsRestricted(value); return *this;} /** *

Differentiates between delivery address and pickup address in the customer * account. Provided at job creation.

*/ inline const AddressType& GetType() const{ return m_type; } /** *

Differentiates between delivery address and pickup address in the customer * account. Provided at job creation.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

Differentiates between delivery address and pickup address in the customer * account. Provided at job creation.

*/ inline void SetType(const AddressType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

Differentiates between delivery address and pickup address in the customer * account. Provided at job creation.

*/ inline void SetType(AddressType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

Differentiates between delivery address and pickup address in the customer * account. Provided at job creation.

*/ inline Address& WithType(const AddressType& value) { SetType(value); return *this;} /** *

Differentiates between delivery address and pickup address in the customer * account. Provided at job creation.

*/ inline Address& WithType(AddressType&& value) { SetType(std::move(value)); return *this;} private: Aws::String m_addressId; bool m_addressIdHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_company; bool m_companyHasBeenSet = false; Aws::String m_street1; bool m_street1HasBeenSet = false; Aws::String m_street2; bool m_street2HasBeenSet = false; Aws::String m_street3; bool m_street3HasBeenSet = false; Aws::String m_city; bool m_cityHasBeenSet = false; Aws::String m_stateOrProvince; bool m_stateOrProvinceHasBeenSet = false; Aws::String m_prefectureOrDistrict; bool m_prefectureOrDistrictHasBeenSet = false; Aws::String m_landmark; bool m_landmarkHasBeenSet = false; Aws::String m_country; bool m_countryHasBeenSet = false; Aws::String m_postalCode; bool m_postalCodeHasBeenSet = false; Aws::String m_phoneNumber; bool m_phoneNumberHasBeenSet = false; bool m_isRestricted; bool m_isRestrictedHasBeenSet = false; AddressType m_type; bool m_typeHasBeenSet = false; }; } // namespace Model } // namespace Snowball } // namespace Aws