/** * 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 GameLift { namespace Model { /** *

A fleet location and its life-cycle state. A location state object might be * used to describe a fleet's remote location or home Region. Life-cycle state * tracks the progress of launching the first instance in a new location and * preparing it for game hosting, and then removing all instances and deleting the * location from the fleet.

  • NEW -- A new fleet location * has been defined and desired instances is set to 1.

  • * DOWNLOADING/VALIDATING/BUILDING/ACTIVATING -- Amazon GameLift is setting * up the new fleet location, creating new instances with the game build or * Realtime script and starting server processes.

  • ACTIVE * -- Hosts can now accept game sessions.

  • ERROR -- An * error occurred when downloading, validating, building, or activating the fleet * location.

  • DELETING -- Hosts are responding to a delete * fleet location request.

  • TERMINATED -- The fleet * location no longer exists.

  • NOT_FOUND -- The fleet * location was not found. This could be because the custom location was removed or * not created.

See Also:

AWS * API Reference

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

The fleet location, expressed as an Amazon Web Services Region code such as * us-west-2.

*/ inline const Aws::String& GetLocation() const{ return m_location; } /** *

The fleet location, expressed as an Amazon Web Services Region code such as * us-west-2.

*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *

The fleet location, expressed as an Amazon Web Services Region code such as * us-west-2.

*/ inline void SetLocation(const Aws::String& value) { m_locationHasBeenSet = true; m_location = value; } /** *

The fleet location, expressed as an Amazon Web Services Region code such as * us-west-2.

*/ inline void SetLocation(Aws::String&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *

The fleet location, expressed as an Amazon Web Services Region code such as * us-west-2.

*/ inline void SetLocation(const char* value) { m_locationHasBeenSet = true; m_location.assign(value); } /** *

The fleet location, expressed as an Amazon Web Services Region code such as * us-west-2.

*/ inline LocationState& WithLocation(const Aws::String& value) { SetLocation(value); return *this;} /** *

The fleet location, expressed as an Amazon Web Services Region code such as * us-west-2.

*/ inline LocationState& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;} /** *

The fleet location, expressed as an Amazon Web Services Region code such as * us-west-2.

*/ inline LocationState& WithLocation(const char* value) { SetLocation(value); return *this;} /** *

The life-cycle status of a fleet location.

*/ inline const FleetStatus& GetStatus() const{ return m_status; } /** *

The life-cycle status of a fleet location.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The life-cycle status of a fleet location.

*/ inline void SetStatus(const FleetStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The life-cycle status of a fleet location.

*/ inline void SetStatus(FleetStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The life-cycle status of a fleet location.

*/ inline LocationState& WithStatus(const FleetStatus& value) { SetStatus(value); return *this;} /** *

The life-cycle status of a fleet location.

*/ inline LocationState& WithStatus(FleetStatus&& value) { SetStatus(std::move(value)); return *this;} private: Aws::String m_location; bool m_locationHasBeenSet = false; FleetStatus m_status; bool m_statusHasBeenSet = false; }; } // namespace Model } // namespace GameLift } // namespace Aws