/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MediaConnect { namespace Model { /** * The settings for an instance in a gateway.

See Also:

AWS * API Reference

*/ class GatewayInstance { public: AWS_MEDIACONNECT_API GatewayInstance(); AWS_MEDIACONNECT_API GatewayInstance(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIACONNECT_API GatewayInstance& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MEDIACONNECT_API Aws::Utils::Json::JsonValue Jsonize() const; /** * The availability of the instance to host new bridges. The bridgePlacement * property can be LOCKED or AVAILABLE. If it is LOCKED, no new bridges can be * deployed to this instance. If it is AVAILABLE, new bridges can be added to this * instance. */ inline const BridgePlacement& GetBridgePlacement() const{ return m_bridgePlacement; } /** * The availability of the instance to host new bridges. The bridgePlacement * property can be LOCKED or AVAILABLE. If it is LOCKED, no new bridges can be * deployed to this instance. If it is AVAILABLE, new bridges can be added to this * instance. */ inline bool BridgePlacementHasBeenSet() const { return m_bridgePlacementHasBeenSet; } /** * The availability of the instance to host new bridges. The bridgePlacement * property can be LOCKED or AVAILABLE. If it is LOCKED, no new bridges can be * deployed to this instance. If it is AVAILABLE, new bridges can be added to this * instance. */ inline void SetBridgePlacement(const BridgePlacement& value) { m_bridgePlacementHasBeenSet = true; m_bridgePlacement = value; } /** * The availability of the instance to host new bridges. The bridgePlacement * property can be LOCKED or AVAILABLE. If it is LOCKED, no new bridges can be * deployed to this instance. If it is AVAILABLE, new bridges can be added to this * instance. */ inline void SetBridgePlacement(BridgePlacement&& value) { m_bridgePlacementHasBeenSet = true; m_bridgePlacement = std::move(value); } /** * The availability of the instance to host new bridges. The bridgePlacement * property can be LOCKED or AVAILABLE. If it is LOCKED, no new bridges can be * deployed to this instance. If it is AVAILABLE, new bridges can be added to this * instance. */ inline GatewayInstance& WithBridgePlacement(const BridgePlacement& value) { SetBridgePlacement(value); return *this;} /** * The availability of the instance to host new bridges. The bridgePlacement * property can be LOCKED or AVAILABLE. If it is LOCKED, no new bridges can be * deployed to this instance. If it is AVAILABLE, new bridges can be added to this * instance. */ inline GatewayInstance& WithBridgePlacement(BridgePlacement&& value) { SetBridgePlacement(std::move(value)); return *this;} /** * The connection state of the instance. */ inline const ConnectionStatus& GetConnectionStatus() const{ return m_connectionStatus; } /** * The connection state of the instance. */ inline bool ConnectionStatusHasBeenSet() const { return m_connectionStatusHasBeenSet; } /** * The connection state of the instance. */ inline void SetConnectionStatus(const ConnectionStatus& value) { m_connectionStatusHasBeenSet = true; m_connectionStatus = value; } /** * The connection state of the instance. */ inline void SetConnectionStatus(ConnectionStatus&& value) { m_connectionStatusHasBeenSet = true; m_connectionStatus = std::move(value); } /** * The connection state of the instance. */ inline GatewayInstance& WithConnectionStatus(const ConnectionStatus& value) { SetConnectionStatus(value); return *this;} /** * The connection state of the instance. */ inline GatewayInstance& WithConnectionStatus(ConnectionStatus&& value) { SetConnectionStatus(std::move(value)); return *this;} /** * The Amazon Resource Name (ARN) of the instance. */ inline const Aws::String& GetGatewayArn() const{ return m_gatewayArn; } /** * The Amazon Resource Name (ARN) of the instance. */ inline bool GatewayArnHasBeenSet() const { return m_gatewayArnHasBeenSet; } /** * The Amazon Resource Name (ARN) of the instance. */ inline void SetGatewayArn(const Aws::String& value) { m_gatewayArnHasBeenSet = true; m_gatewayArn = value; } /** * The Amazon Resource Name (ARN) of the instance. */ inline void SetGatewayArn(Aws::String&& value) { m_gatewayArnHasBeenSet = true; m_gatewayArn = std::move(value); } /** * The Amazon Resource Name (ARN) of the instance. */ inline void SetGatewayArn(const char* value) { m_gatewayArnHasBeenSet = true; m_gatewayArn.assign(value); } /** * The Amazon Resource Name (ARN) of the instance. */ inline GatewayInstance& WithGatewayArn(const Aws::String& value) { SetGatewayArn(value); return *this;} /** * The Amazon Resource Name (ARN) of the instance. */ inline GatewayInstance& WithGatewayArn(Aws::String&& value) { SetGatewayArn(std::move(value)); return *this;} /** * The Amazon Resource Name (ARN) of the instance. */ inline GatewayInstance& WithGatewayArn(const char* value) { SetGatewayArn(value); return *this;} /** * The Amazon Resource Name (ARN) of the gateway. */ inline const Aws::String& GetGatewayInstanceArn() const{ return m_gatewayInstanceArn; } /** * The Amazon Resource Name (ARN) of the gateway. */ inline bool GatewayInstanceArnHasBeenSet() const { return m_gatewayInstanceArnHasBeenSet; } /** * The Amazon Resource Name (ARN) of the gateway. */ inline void SetGatewayInstanceArn(const Aws::String& value) { m_gatewayInstanceArnHasBeenSet = true; m_gatewayInstanceArn = value; } /** * The Amazon Resource Name (ARN) of the gateway. */ inline void SetGatewayInstanceArn(Aws::String&& value) { m_gatewayInstanceArnHasBeenSet = true; m_gatewayInstanceArn = std::move(value); } /** * The Amazon Resource Name (ARN) of the gateway. */ inline void SetGatewayInstanceArn(const char* value) { m_gatewayInstanceArnHasBeenSet = true; m_gatewayInstanceArn.assign(value); } /** * The Amazon Resource Name (ARN) of the gateway. */ inline GatewayInstance& WithGatewayInstanceArn(const Aws::String& value) { SetGatewayInstanceArn(value); return *this;} /** * The Amazon Resource Name (ARN) of the gateway. */ inline GatewayInstance& WithGatewayInstanceArn(Aws::String&& value) { SetGatewayInstanceArn(std::move(value)); return *this;} /** * The Amazon Resource Name (ARN) of the gateway. */ inline GatewayInstance& WithGatewayInstanceArn(const char* value) { SetGatewayInstanceArn(value); return *this;} /** * The managed instance ID generated by the SSM install. This will begin with * "mi-". */ inline const Aws::String& GetInstanceId() const{ return m_instanceId; } /** * The managed instance ID generated by the SSM install. This will begin with * "mi-". */ inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } /** * The managed instance ID generated by the SSM install. This will begin with * "mi-". */ inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } /** * The managed instance ID generated by the SSM install. This will begin with * "mi-". */ inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } /** * The managed instance ID generated by the SSM install. This will begin with * "mi-". */ inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } /** * The managed instance ID generated by the SSM install. This will begin with * "mi-". */ inline GatewayInstance& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} /** * The managed instance ID generated by the SSM install. This will begin with * "mi-". */ inline GatewayInstance& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} /** * The managed instance ID generated by the SSM install. This will begin with * "mi-". */ inline GatewayInstance& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} inline const Aws::Vector& GetInstanceMessages() const{ return m_instanceMessages; } inline bool InstanceMessagesHasBeenSet() const { return m_instanceMessagesHasBeenSet; } inline void SetInstanceMessages(const Aws::Vector& value) { m_instanceMessagesHasBeenSet = true; m_instanceMessages = value; } inline void SetInstanceMessages(Aws::Vector&& value) { m_instanceMessagesHasBeenSet = true; m_instanceMessages = std::move(value); } inline GatewayInstance& WithInstanceMessages(const Aws::Vector& value) { SetInstanceMessages(value); return *this;} inline GatewayInstance& WithInstanceMessages(Aws::Vector&& value) { SetInstanceMessages(std::move(value)); return *this;} inline GatewayInstance& AddInstanceMessages(const MessageDetail& value) { m_instanceMessagesHasBeenSet = true; m_instanceMessages.push_back(value); return *this; } inline GatewayInstance& AddInstanceMessages(MessageDetail&& value) { m_instanceMessagesHasBeenSet = true; m_instanceMessages.push_back(std::move(value)); return *this; } /** * The status of the instance. */ inline const InstanceState& GetInstanceState() const{ return m_instanceState; } /** * The status of the instance. */ inline bool InstanceStateHasBeenSet() const { return m_instanceStateHasBeenSet; } /** * The status of the instance. */ inline void SetInstanceState(const InstanceState& value) { m_instanceStateHasBeenSet = true; m_instanceState = value; } /** * The status of the instance. */ inline void SetInstanceState(InstanceState&& value) { m_instanceStateHasBeenSet = true; m_instanceState = std::move(value); } /** * The status of the instance. */ inline GatewayInstance& WithInstanceState(const InstanceState& value) { SetInstanceState(value); return *this;} /** * The status of the instance. */ inline GatewayInstance& WithInstanceState(InstanceState&& value) { SetInstanceState(std::move(value)); return *this;} /** * The running bridge count. */ inline int GetRunningBridgeCount() const{ return m_runningBridgeCount; } /** * The running bridge count. */ inline bool RunningBridgeCountHasBeenSet() const { return m_runningBridgeCountHasBeenSet; } /** * The running bridge count. */ inline void SetRunningBridgeCount(int value) { m_runningBridgeCountHasBeenSet = true; m_runningBridgeCount = value; } /** * The running bridge count. */ inline GatewayInstance& WithRunningBridgeCount(int value) { SetRunningBridgeCount(value); return *this;} private: BridgePlacement m_bridgePlacement; bool m_bridgePlacementHasBeenSet = false; ConnectionStatus m_connectionStatus; bool m_connectionStatusHasBeenSet = false; Aws::String m_gatewayArn; bool m_gatewayArnHasBeenSet = false; Aws::String m_gatewayInstanceArn; bool m_gatewayInstanceArnHasBeenSet = false; Aws::String m_instanceId; bool m_instanceIdHasBeenSet = false; Aws::Vector m_instanceMessages; bool m_instanceMessagesHasBeenSet = false; InstanceState m_instanceState; bool m_instanceStateHasBeenSet = false; int m_runningBridgeCount; bool m_runningBridgeCountHasBeenSet = false; }; } // namespace Model } // namespace MediaConnect } // namespace Aws