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

Describes a gateway object.

See Also:

AWS * API Reference

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

The unique identifier assigned to your gateway during activation. This ID * becomes part of the gateway Amazon Resource Name (ARN), which you use as input * for other operations.

*/ inline const Aws::String& GetGatewayId() const{ return m_gatewayId; } /** *

The unique identifier assigned to your gateway during activation. This ID * becomes part of the gateway Amazon Resource Name (ARN), which you use as input * for other operations.

*/ inline bool GatewayIdHasBeenSet() const { return m_gatewayIdHasBeenSet; } /** *

The unique identifier assigned to your gateway during activation. This ID * becomes part of the gateway Amazon Resource Name (ARN), which you use as input * for other operations.

*/ inline void SetGatewayId(const Aws::String& value) { m_gatewayIdHasBeenSet = true; m_gatewayId = value; } /** *

The unique identifier assigned to your gateway during activation. This ID * becomes part of the gateway Amazon Resource Name (ARN), which you use as input * for other operations.

*/ inline void SetGatewayId(Aws::String&& value) { m_gatewayIdHasBeenSet = true; m_gatewayId = std::move(value); } /** *

The unique identifier assigned to your gateway during activation. This ID * becomes part of the gateway Amazon Resource Name (ARN), which you use as input * for other operations.

*/ inline void SetGatewayId(const char* value) { m_gatewayIdHasBeenSet = true; m_gatewayId.assign(value); } /** *

The unique identifier assigned to your gateway during activation. This ID * becomes part of the gateway Amazon Resource Name (ARN), which you use as input * for other operations.

*/ inline GatewayInfo& WithGatewayId(const Aws::String& value) { SetGatewayId(value); return *this;} /** *

The unique identifier assigned to your gateway during activation. This ID * becomes part of the gateway Amazon Resource Name (ARN), which you use as input * for other operations.

*/ inline GatewayInfo& WithGatewayId(Aws::String&& value) { SetGatewayId(std::move(value)); return *this;} /** *

The unique identifier assigned to your gateway during activation. This ID * becomes part of the gateway Amazon Resource Name (ARN), which you use as input * for other operations.

*/ inline GatewayInfo& WithGatewayId(const char* value) { SetGatewayId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and Amazon Web Services * Region.

*/ inline const Aws::String& GetGatewayARN() const{ return m_gatewayARN; } /** *

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and Amazon Web Services * Region.

*/ inline bool GatewayARNHasBeenSet() const { return m_gatewayARNHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and Amazon Web Services * Region.

*/ inline void SetGatewayARN(const Aws::String& value) { m_gatewayARNHasBeenSet = true; m_gatewayARN = value; } /** *

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and Amazon Web Services * Region.

*/ inline void SetGatewayARN(Aws::String&& value) { m_gatewayARNHasBeenSet = true; m_gatewayARN = std::move(value); } /** *

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and Amazon Web Services * Region.

*/ inline void SetGatewayARN(const char* value) { m_gatewayARNHasBeenSet = true; m_gatewayARN.assign(value); } /** *

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and Amazon Web Services * Region.

*/ inline GatewayInfo& WithGatewayARN(const Aws::String& value) { SetGatewayARN(value); return *this;} /** *

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and Amazon Web Services * Region.

*/ inline GatewayInfo& WithGatewayARN(Aws::String&& value) { SetGatewayARN(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways * operation to return a list of gateways for your account and Amazon Web Services * Region.

*/ inline GatewayInfo& WithGatewayARN(const char* value) { SetGatewayARN(value); return *this;} /** *

The type of the gateway.

*/ inline const Aws::String& GetGatewayType() const{ return m_gatewayType; } /** *

The type of the gateway.

*/ inline bool GatewayTypeHasBeenSet() const { return m_gatewayTypeHasBeenSet; } /** *

The type of the gateway.

*/ inline void SetGatewayType(const Aws::String& value) { m_gatewayTypeHasBeenSet = true; m_gatewayType = value; } /** *

The type of the gateway.

*/ inline void SetGatewayType(Aws::String&& value) { m_gatewayTypeHasBeenSet = true; m_gatewayType = std::move(value); } /** *

The type of the gateway.

*/ inline void SetGatewayType(const char* value) { m_gatewayTypeHasBeenSet = true; m_gatewayType.assign(value); } /** *

The type of the gateway.

*/ inline GatewayInfo& WithGatewayType(const Aws::String& value) { SetGatewayType(value); return *this;} /** *

The type of the gateway.

*/ inline GatewayInfo& WithGatewayType(Aws::String&& value) { SetGatewayType(std::move(value)); return *this;} /** *

The type of the gateway.

*/ inline GatewayInfo& WithGatewayType(const char* value) { SetGatewayType(value); return *this;} /** *

The state of the gateway.

Valid Values: DISABLED | * ACTIVE

*/ inline const Aws::String& GetGatewayOperationalState() const{ return m_gatewayOperationalState; } /** *

The state of the gateway.

Valid Values: DISABLED | * ACTIVE

*/ inline bool GatewayOperationalStateHasBeenSet() const { return m_gatewayOperationalStateHasBeenSet; } /** *

The state of the gateway.

Valid Values: DISABLED | * ACTIVE

*/ inline void SetGatewayOperationalState(const Aws::String& value) { m_gatewayOperationalStateHasBeenSet = true; m_gatewayOperationalState = value; } /** *

The state of the gateway.

Valid Values: DISABLED | * ACTIVE

*/ inline void SetGatewayOperationalState(Aws::String&& value) { m_gatewayOperationalStateHasBeenSet = true; m_gatewayOperationalState = std::move(value); } /** *

The state of the gateway.

Valid Values: DISABLED | * ACTIVE

*/ inline void SetGatewayOperationalState(const char* value) { m_gatewayOperationalStateHasBeenSet = true; m_gatewayOperationalState.assign(value); } /** *

The state of the gateway.

Valid Values: DISABLED | * ACTIVE

*/ inline GatewayInfo& WithGatewayOperationalState(const Aws::String& value) { SetGatewayOperationalState(value); return *this;} /** *

The state of the gateway.

Valid Values: DISABLED | * ACTIVE

*/ inline GatewayInfo& WithGatewayOperationalState(Aws::String&& value) { SetGatewayOperationalState(std::move(value)); return *this;} /** *

The state of the gateway.

Valid Values: DISABLED | * ACTIVE

*/ inline GatewayInfo& WithGatewayOperationalState(const char* value) { SetGatewayOperationalState(value); return *this;} /** *

The name of the gateway.

*/ inline const Aws::String& GetGatewayName() const{ return m_gatewayName; } /** *

The name of the gateway.

*/ inline bool GatewayNameHasBeenSet() const { return m_gatewayNameHasBeenSet; } /** *

The name of the gateway.

*/ inline void SetGatewayName(const Aws::String& value) { m_gatewayNameHasBeenSet = true; m_gatewayName = value; } /** *

The name of the gateway.

*/ inline void SetGatewayName(Aws::String&& value) { m_gatewayNameHasBeenSet = true; m_gatewayName = std::move(value); } /** *

The name of the gateway.

*/ inline void SetGatewayName(const char* value) { m_gatewayNameHasBeenSet = true; m_gatewayName.assign(value); } /** *

The name of the gateway.

*/ inline GatewayInfo& WithGatewayName(const Aws::String& value) { SetGatewayName(value); return *this;} /** *

The name of the gateway.

*/ inline GatewayInfo& WithGatewayName(Aws::String&& value) { SetGatewayName(std::move(value)); return *this;} /** *

The name of the gateway.

*/ inline GatewayInfo& WithGatewayName(const char* value) { SetGatewayName(value); return *this;} /** *

The ID of the Amazon EC2 instance that was used to launch the gateway.

*/ inline const Aws::String& GetEc2InstanceId() const{ return m_ec2InstanceId; } /** *

The ID of the Amazon EC2 instance that was used to launch the gateway.

*/ inline bool Ec2InstanceIdHasBeenSet() const { return m_ec2InstanceIdHasBeenSet; } /** *

The ID of the Amazon EC2 instance that was used to launch the gateway.

*/ inline void SetEc2InstanceId(const Aws::String& value) { m_ec2InstanceIdHasBeenSet = true; m_ec2InstanceId = value; } /** *

The ID of the Amazon EC2 instance that was used to launch the gateway.

*/ inline void SetEc2InstanceId(Aws::String&& value) { m_ec2InstanceIdHasBeenSet = true; m_ec2InstanceId = std::move(value); } /** *

The ID of the Amazon EC2 instance that was used to launch the gateway.

*/ inline void SetEc2InstanceId(const char* value) { m_ec2InstanceIdHasBeenSet = true; m_ec2InstanceId.assign(value); } /** *

The ID of the Amazon EC2 instance that was used to launch the gateway.

*/ inline GatewayInfo& WithEc2InstanceId(const Aws::String& value) { SetEc2InstanceId(value); return *this;} /** *

The ID of the Amazon EC2 instance that was used to launch the gateway.

*/ inline GatewayInfo& WithEc2InstanceId(Aws::String&& value) { SetEc2InstanceId(std::move(value)); return *this;} /** *

The ID of the Amazon EC2 instance that was used to launch the gateway.

*/ inline GatewayInfo& WithEc2InstanceId(const char* value) { SetEc2InstanceId(value); return *this;} /** *

The Amazon Web Services Region where the Amazon EC2 instance is located.

*/ inline const Aws::String& GetEc2InstanceRegion() const{ return m_ec2InstanceRegion; } /** *

The Amazon Web Services Region where the Amazon EC2 instance is located.

*/ inline bool Ec2InstanceRegionHasBeenSet() const { return m_ec2InstanceRegionHasBeenSet; } /** *

The Amazon Web Services Region where the Amazon EC2 instance is located.

*/ inline void SetEc2InstanceRegion(const Aws::String& value) { m_ec2InstanceRegionHasBeenSet = true; m_ec2InstanceRegion = value; } /** *

The Amazon Web Services Region where the Amazon EC2 instance is located.

*/ inline void SetEc2InstanceRegion(Aws::String&& value) { m_ec2InstanceRegionHasBeenSet = true; m_ec2InstanceRegion = std::move(value); } /** *

The Amazon Web Services Region where the Amazon EC2 instance is located.

*/ inline void SetEc2InstanceRegion(const char* value) { m_ec2InstanceRegionHasBeenSet = true; m_ec2InstanceRegion.assign(value); } /** *

The Amazon Web Services Region where the Amazon EC2 instance is located.

*/ inline GatewayInfo& WithEc2InstanceRegion(const Aws::String& value) { SetEc2InstanceRegion(value); return *this;} /** *

The Amazon Web Services Region where the Amazon EC2 instance is located.

*/ inline GatewayInfo& WithEc2InstanceRegion(Aws::String&& value) { SetEc2InstanceRegion(std::move(value)); return *this;} /** *

The Amazon Web Services Region where the Amazon EC2 instance is located.

*/ inline GatewayInfo& WithEc2InstanceRegion(const char* value) { SetEc2InstanceRegion(value); return *this;} /** *

The type of hardware or software platform on which the gateway is * running.

*/ inline const HostEnvironment& GetHostEnvironment() const{ return m_hostEnvironment; } /** *

The type of hardware or software platform on which the gateway is * running.

*/ inline bool HostEnvironmentHasBeenSet() const { return m_hostEnvironmentHasBeenSet; } /** *

The type of hardware or software platform on which the gateway is * running.

*/ inline void SetHostEnvironment(const HostEnvironment& value) { m_hostEnvironmentHasBeenSet = true; m_hostEnvironment = value; } /** *

The type of hardware or software platform on which the gateway is * running.

*/ inline void SetHostEnvironment(HostEnvironment&& value) { m_hostEnvironmentHasBeenSet = true; m_hostEnvironment = std::move(value); } /** *

The type of hardware or software platform on which the gateway is * running.

*/ inline GatewayInfo& WithHostEnvironment(const HostEnvironment& value) { SetHostEnvironment(value); return *this;} /** *

The type of hardware or software platform on which the gateway is * running.

*/ inline GatewayInfo& WithHostEnvironment(HostEnvironment&& value) { SetHostEnvironment(std::move(value)); return *this;} /** *

A unique identifier for the specific instance of the host platform running * the gateway. This value is only available for certain host environments, and its * format depends on the host environment type.

*/ inline const Aws::String& GetHostEnvironmentId() const{ return m_hostEnvironmentId; } /** *

A unique identifier for the specific instance of the host platform running * the gateway. This value is only available for certain host environments, and its * format depends on the host environment type.

*/ inline bool HostEnvironmentIdHasBeenSet() const { return m_hostEnvironmentIdHasBeenSet; } /** *

A unique identifier for the specific instance of the host platform running * the gateway. This value is only available for certain host environments, and its * format depends on the host environment type.

*/ inline void SetHostEnvironmentId(const Aws::String& value) { m_hostEnvironmentIdHasBeenSet = true; m_hostEnvironmentId = value; } /** *

A unique identifier for the specific instance of the host platform running * the gateway. This value is only available for certain host environments, and its * format depends on the host environment type.

*/ inline void SetHostEnvironmentId(Aws::String&& value) { m_hostEnvironmentIdHasBeenSet = true; m_hostEnvironmentId = std::move(value); } /** *

A unique identifier for the specific instance of the host platform running * the gateway. This value is only available for certain host environments, and its * format depends on the host environment type.

*/ inline void SetHostEnvironmentId(const char* value) { m_hostEnvironmentIdHasBeenSet = true; m_hostEnvironmentId.assign(value); } /** *

A unique identifier for the specific instance of the host platform running * the gateway. This value is only available for certain host environments, and its * format depends on the host environment type.

*/ inline GatewayInfo& WithHostEnvironmentId(const Aws::String& value) { SetHostEnvironmentId(value); return *this;} /** *

A unique identifier for the specific instance of the host platform running * the gateway. This value is only available for certain host environments, and its * format depends on the host environment type.

*/ inline GatewayInfo& WithHostEnvironmentId(Aws::String&& value) { SetHostEnvironmentId(std::move(value)); return *this;} /** *

A unique identifier for the specific instance of the host platform running * the gateway. This value is only available for certain host environments, and its * format depends on the host environment type.

*/ inline GatewayInfo& WithHostEnvironmentId(const char* value) { SetHostEnvironmentId(value); return *this;} private: Aws::String m_gatewayId; bool m_gatewayIdHasBeenSet = false; Aws::String m_gatewayARN; bool m_gatewayARNHasBeenSet = false; Aws::String m_gatewayType; bool m_gatewayTypeHasBeenSet = false; Aws::String m_gatewayOperationalState; bool m_gatewayOperationalStateHasBeenSet = false; Aws::String m_gatewayName; bool m_gatewayNameHasBeenSet = false; Aws::String m_ec2InstanceId; bool m_ec2InstanceIdHasBeenSet = false; Aws::String m_ec2InstanceRegion; bool m_ec2InstanceRegionHasBeenSet = false; HostEnvironment m_hostEnvironment; bool m_hostEnvironmentHasBeenSet = false; Aws::String m_hostEnvironmentId; bool m_hostEnvironmentIdHasBeenSet = false; }; } // namespace Model } // namespace StorageGateway } // namespace Aws