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

A collection of additional state information, such as domain and clock * configuration.

See Also:

AWS * API Reference

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

A list of simulation clocks.

At this time, a simulation has * only one clock.

*/ inline const Aws::Vector& GetClocks() const{ return m_clocks; } /** *

A list of simulation clocks.

At this time, a simulation has * only one clock.

*/ inline bool ClocksHasBeenSet() const { return m_clocksHasBeenSet; } /** *

A list of simulation clocks.

At this time, a simulation has * only one clock.

*/ inline void SetClocks(const Aws::Vector& value) { m_clocksHasBeenSet = true; m_clocks = value; } /** *

A list of simulation clocks.

At this time, a simulation has * only one clock.

*/ inline void SetClocks(Aws::Vector&& value) { m_clocksHasBeenSet = true; m_clocks = std::move(value); } /** *

A list of simulation clocks.

At this time, a simulation has * only one clock.

*/ inline LiveSimulationState& WithClocks(const Aws::Vector& value) { SetClocks(value); return *this;} /** *

A list of simulation clocks.

At this time, a simulation has * only one clock.

*/ inline LiveSimulationState& WithClocks(Aws::Vector&& value) { SetClocks(std::move(value)); return *this;} /** *

A list of simulation clocks.

At this time, a simulation has * only one clock.

*/ inline LiveSimulationState& AddClocks(const SimulationClock& value) { m_clocksHasBeenSet = true; m_clocks.push_back(value); return *this; } /** *

A list of simulation clocks.

At this time, a simulation has * only one clock.

*/ inline LiveSimulationState& AddClocks(SimulationClock&& value) { m_clocksHasBeenSet = true; m_clocks.push_back(std::move(value)); return *this; } /** *

A list of domains for the simulation. For more information about domains, see * Key * concepts: Domains in the SimSpace Weaver User Guide.

*/ inline const Aws::Vector& GetDomains() const{ return m_domains; } /** *

A list of domains for the simulation. For more information about domains, see * Key * concepts: Domains in the SimSpace Weaver User Guide.

*/ inline bool DomainsHasBeenSet() const { return m_domainsHasBeenSet; } /** *

A list of domains for the simulation. For more information about domains, see * Key * concepts: Domains in the SimSpace Weaver User Guide.

*/ inline void SetDomains(const Aws::Vector& value) { m_domainsHasBeenSet = true; m_domains = value; } /** *

A list of domains for the simulation. For more information about domains, see * Key * concepts: Domains in the SimSpace Weaver User Guide.

*/ inline void SetDomains(Aws::Vector&& value) { m_domainsHasBeenSet = true; m_domains = std::move(value); } /** *

A list of domains for the simulation. For more information about domains, see * Key * concepts: Domains in the SimSpace Weaver User Guide.

*/ inline LiveSimulationState& WithDomains(const Aws::Vector& value) { SetDomains(value); return *this;} /** *

A list of domains for the simulation. For more information about domains, see * Key * concepts: Domains in the SimSpace Weaver User Guide.

*/ inline LiveSimulationState& WithDomains(Aws::Vector&& value) { SetDomains(std::move(value)); return *this;} /** *

A list of domains for the simulation. For more information about domains, see * Key * concepts: Domains in the SimSpace Weaver User Guide.

*/ inline LiveSimulationState& AddDomains(const Domain& value) { m_domainsHasBeenSet = true; m_domains.push_back(value); return *this; } /** *

A list of domains for the simulation. For more information about domains, see * Key * concepts: Domains in the SimSpace Weaver User Guide.

*/ inline LiveSimulationState& AddDomains(Domain&& value) { m_domainsHasBeenSet = true; m_domains.push_back(std::move(value)); return *this; } private: Aws::Vector m_clocks; bool m_clocksHasBeenSet = false; Aws::Vector m_domains; bool m_domainsHasBeenSet = false; }; } // namespace Model } // namespace SimSpaceWeaver } // namespace Aws