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

Server participating in Job.

See Also:

AWS * API Reference

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

Participating server launch status.

*/ inline const LaunchStatus& GetLaunchStatus() const{ return m_launchStatus; } /** *

Participating server launch status.

*/ inline bool LaunchStatusHasBeenSet() const { return m_launchStatusHasBeenSet; } /** *

Participating server launch status.

*/ inline void SetLaunchStatus(const LaunchStatus& value) { m_launchStatusHasBeenSet = true; m_launchStatus = value; } /** *

Participating server launch status.

*/ inline void SetLaunchStatus(LaunchStatus&& value) { m_launchStatusHasBeenSet = true; m_launchStatus = std::move(value); } /** *

Participating server launch status.

*/ inline ParticipatingServer& WithLaunchStatus(const LaunchStatus& value) { SetLaunchStatus(value); return *this;} /** *

Participating server launch status.

*/ inline ParticipatingServer& WithLaunchStatus(LaunchStatus&& value) { SetLaunchStatus(std::move(value)); return *this;} /** *

Participating server's launched ec2 instance ID.

*/ inline const Aws::String& GetLaunchedEc2InstanceID() const{ return m_launchedEc2InstanceID; } /** *

Participating server's launched ec2 instance ID.

*/ inline bool LaunchedEc2InstanceIDHasBeenSet() const { return m_launchedEc2InstanceIDHasBeenSet; } /** *

Participating server's launched ec2 instance ID.

*/ inline void SetLaunchedEc2InstanceID(const Aws::String& value) { m_launchedEc2InstanceIDHasBeenSet = true; m_launchedEc2InstanceID = value; } /** *

Participating server's launched ec2 instance ID.

*/ inline void SetLaunchedEc2InstanceID(Aws::String&& value) { m_launchedEc2InstanceIDHasBeenSet = true; m_launchedEc2InstanceID = std::move(value); } /** *

Participating server's launched ec2 instance ID.

*/ inline void SetLaunchedEc2InstanceID(const char* value) { m_launchedEc2InstanceIDHasBeenSet = true; m_launchedEc2InstanceID.assign(value); } /** *

Participating server's launched ec2 instance ID.

*/ inline ParticipatingServer& WithLaunchedEc2InstanceID(const Aws::String& value) { SetLaunchedEc2InstanceID(value); return *this;} /** *

Participating server's launched ec2 instance ID.

*/ inline ParticipatingServer& WithLaunchedEc2InstanceID(Aws::String&& value) { SetLaunchedEc2InstanceID(std::move(value)); return *this;} /** *

Participating server's launched ec2 instance ID.

*/ inline ParticipatingServer& WithLaunchedEc2InstanceID(const char* value) { SetLaunchedEc2InstanceID(value); return *this;} /** *

Participating server's Post Launch Actions Status.

*/ inline const PostLaunchActionsStatus& GetPostLaunchActionsStatus() const{ return m_postLaunchActionsStatus; } /** *

Participating server's Post Launch Actions Status.

*/ inline bool PostLaunchActionsStatusHasBeenSet() const { return m_postLaunchActionsStatusHasBeenSet; } /** *

Participating server's Post Launch Actions Status.

*/ inline void SetPostLaunchActionsStatus(const PostLaunchActionsStatus& value) { m_postLaunchActionsStatusHasBeenSet = true; m_postLaunchActionsStatus = value; } /** *

Participating server's Post Launch Actions Status.

*/ inline void SetPostLaunchActionsStatus(PostLaunchActionsStatus&& value) { m_postLaunchActionsStatusHasBeenSet = true; m_postLaunchActionsStatus = std::move(value); } /** *

Participating server's Post Launch Actions Status.

*/ inline ParticipatingServer& WithPostLaunchActionsStatus(const PostLaunchActionsStatus& value) { SetPostLaunchActionsStatus(value); return *this;} /** *

Participating server's Post Launch Actions Status.

*/ inline ParticipatingServer& WithPostLaunchActionsStatus(PostLaunchActionsStatus&& value) { SetPostLaunchActionsStatus(std::move(value)); return *this;} /** *

Participating server Source Server ID.

*/ inline const Aws::String& GetSourceServerID() const{ return m_sourceServerID; } /** *

Participating server Source Server ID.

*/ inline bool SourceServerIDHasBeenSet() const { return m_sourceServerIDHasBeenSet; } /** *

Participating server Source Server ID.

*/ inline void SetSourceServerID(const Aws::String& value) { m_sourceServerIDHasBeenSet = true; m_sourceServerID = value; } /** *

Participating server Source Server ID.

*/ inline void SetSourceServerID(Aws::String&& value) { m_sourceServerIDHasBeenSet = true; m_sourceServerID = std::move(value); } /** *

Participating server Source Server ID.

*/ inline void SetSourceServerID(const char* value) { m_sourceServerIDHasBeenSet = true; m_sourceServerID.assign(value); } /** *

Participating server Source Server ID.

*/ inline ParticipatingServer& WithSourceServerID(const Aws::String& value) { SetSourceServerID(value); return *this;} /** *

Participating server Source Server ID.

*/ inline ParticipatingServer& WithSourceServerID(Aws::String&& value) { SetSourceServerID(std::move(value)); return *this;} /** *

Participating server Source Server ID.

*/ inline ParticipatingServer& WithSourceServerID(const char* value) { SetSourceServerID(value); return *this;} private: LaunchStatus m_launchStatus; bool m_launchStatusHasBeenSet = false; Aws::String m_launchedEc2InstanceID; bool m_launchedEc2InstanceIDHasBeenSet = false; PostLaunchActionsStatus m_postLaunchActionsStatus; bool m_postLaunchActionsStatusHasBeenSet = false; Aws::String m_sourceServerID; bool m_sourceServerIDHasBeenSet = false; }; } // namespace Model } // namespace mgn } // namespace Aws