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

The details of gateway.

See Also:

AWS * API Reference

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

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 GatewayDetails& 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 GatewayDetails& 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 GatewayDetails& WithGatewayArn(const char* value) { SetGatewayArn(value); return *this;} /** *

The display name of the gateway.

*/ inline const Aws::String& GetGatewayDisplayName() const{ return m_gatewayDisplayName; } /** *

The display name of the gateway.

*/ inline bool GatewayDisplayNameHasBeenSet() const { return m_gatewayDisplayNameHasBeenSet; } /** *

The display name of the gateway.

*/ inline void SetGatewayDisplayName(const Aws::String& value) { m_gatewayDisplayNameHasBeenSet = true; m_gatewayDisplayName = value; } /** *

The display name of the gateway.

*/ inline void SetGatewayDisplayName(Aws::String&& value) { m_gatewayDisplayNameHasBeenSet = true; m_gatewayDisplayName = std::move(value); } /** *

The display name of the gateway.

*/ inline void SetGatewayDisplayName(const char* value) { m_gatewayDisplayNameHasBeenSet = true; m_gatewayDisplayName.assign(value); } /** *

The display name of the gateway.

*/ inline GatewayDetails& WithGatewayDisplayName(const Aws::String& value) { SetGatewayDisplayName(value); return *this;} /** *

The display name of the gateway.

*/ inline GatewayDetails& WithGatewayDisplayName(Aws::String&& value) { SetGatewayDisplayName(std::move(value)); return *this;} /** *

The display name of the gateway.

*/ inline GatewayDetails& WithGatewayDisplayName(const char* value) { SetGatewayDisplayName(value); return *this;} /** *

The type of the gateway type.

*/ inline const GatewayType& GetGatewayType() const{ return m_gatewayType; } /** *

The type of the gateway type.

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

The type of the gateway type.

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

The type of the gateway type.

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

The type of the gateway type.

*/ inline GatewayDetails& WithGatewayType(const GatewayType& value) { SetGatewayType(value); return *this;} /** *

The type of the gateway type.

*/ inline GatewayDetails& WithGatewayType(GatewayType&& value) { SetGatewayType(std::move(value)); return *this;} /** *

The hypervisor ID of the gateway.

*/ inline const Aws::String& GetHypervisorId() const{ return m_hypervisorId; } /** *

The hypervisor ID of the gateway.

*/ inline bool HypervisorIdHasBeenSet() const { return m_hypervisorIdHasBeenSet; } /** *

The hypervisor ID of the gateway.

*/ inline void SetHypervisorId(const Aws::String& value) { m_hypervisorIdHasBeenSet = true; m_hypervisorId = value; } /** *

The hypervisor ID of the gateway.

*/ inline void SetHypervisorId(Aws::String&& value) { m_hypervisorIdHasBeenSet = true; m_hypervisorId = std::move(value); } /** *

The hypervisor ID of the gateway.

*/ inline void SetHypervisorId(const char* value) { m_hypervisorIdHasBeenSet = true; m_hypervisorId.assign(value); } /** *

The hypervisor ID of the gateway.

*/ inline GatewayDetails& WithHypervisorId(const Aws::String& value) { SetHypervisorId(value); return *this;} /** *

The hypervisor ID of the gateway.

*/ inline GatewayDetails& WithHypervisorId(Aws::String&& value) { SetHypervisorId(std::move(value)); return *this;} /** *

The hypervisor ID of the gateway.

*/ inline GatewayDetails& WithHypervisorId(const char* value) { SetHypervisorId(value); return *this;} /** *

Details showing the last time Backup gateway communicated with the cloud, in * Unix format and UTC time.

*/ inline const Aws::Utils::DateTime& GetLastSeenTime() const{ return m_lastSeenTime; } /** *

Details showing the last time Backup gateway communicated with the cloud, in * Unix format and UTC time.

*/ inline bool LastSeenTimeHasBeenSet() const { return m_lastSeenTimeHasBeenSet; } /** *

Details showing the last time Backup gateway communicated with the cloud, in * Unix format and UTC time.

*/ inline void SetLastSeenTime(const Aws::Utils::DateTime& value) { m_lastSeenTimeHasBeenSet = true; m_lastSeenTime = value; } /** *

Details showing the last time Backup gateway communicated with the cloud, in * Unix format and UTC time.

*/ inline void SetLastSeenTime(Aws::Utils::DateTime&& value) { m_lastSeenTimeHasBeenSet = true; m_lastSeenTime = std::move(value); } /** *

Details showing the last time Backup gateway communicated with the cloud, in * Unix format and UTC time.

*/ inline GatewayDetails& WithLastSeenTime(const Aws::Utils::DateTime& value) { SetLastSeenTime(value); return *this;} /** *

Details showing the last time Backup gateway communicated with the cloud, in * Unix format and UTC time.

*/ inline GatewayDetails& WithLastSeenTime(Aws::Utils::DateTime&& value) { SetLastSeenTime(std::move(value)); return *this;} /** *

Returns your gateway's weekly maintenance start time including the day and * time of the week. Note that values are in terms of the gateway's time zone. Can * be weekly or monthly.

*/ inline const MaintenanceStartTime& GetMaintenanceStartTime() const{ return m_maintenanceStartTime; } /** *

Returns your gateway's weekly maintenance start time including the day and * time of the week. Note that values are in terms of the gateway's time zone. Can * be weekly or monthly.

*/ inline bool MaintenanceStartTimeHasBeenSet() const { return m_maintenanceStartTimeHasBeenSet; } /** *

Returns your gateway's weekly maintenance start time including the day and * time of the week. Note that values are in terms of the gateway's time zone. Can * be weekly or monthly.

*/ inline void SetMaintenanceStartTime(const MaintenanceStartTime& value) { m_maintenanceStartTimeHasBeenSet = true; m_maintenanceStartTime = value; } /** *

Returns your gateway's weekly maintenance start time including the day and * time of the week. Note that values are in terms of the gateway's time zone. Can * be weekly or monthly.

*/ inline void SetMaintenanceStartTime(MaintenanceStartTime&& value) { m_maintenanceStartTimeHasBeenSet = true; m_maintenanceStartTime = std::move(value); } /** *

Returns your gateway's weekly maintenance start time including the day and * time of the week. Note that values are in terms of the gateway's time zone. Can * be weekly or monthly.

*/ inline GatewayDetails& WithMaintenanceStartTime(const MaintenanceStartTime& value) { SetMaintenanceStartTime(value); return *this;} /** *

Returns your gateway's weekly maintenance start time including the day and * time of the week. Note that values are in terms of the gateway's time zone. Can * be weekly or monthly.

*/ inline GatewayDetails& WithMaintenanceStartTime(MaintenanceStartTime&& value) { SetMaintenanceStartTime(std::move(value)); return *this;} /** *

Details showing the next update availability time of the gateway.

*/ inline const Aws::Utils::DateTime& GetNextUpdateAvailabilityTime() const{ return m_nextUpdateAvailabilityTime; } /** *

Details showing the next update availability time of the gateway.

*/ inline bool NextUpdateAvailabilityTimeHasBeenSet() const { return m_nextUpdateAvailabilityTimeHasBeenSet; } /** *

Details showing the next update availability time of the gateway.

*/ inline void SetNextUpdateAvailabilityTime(const Aws::Utils::DateTime& value) { m_nextUpdateAvailabilityTimeHasBeenSet = true; m_nextUpdateAvailabilityTime = value; } /** *

Details showing the next update availability time of the gateway.

*/ inline void SetNextUpdateAvailabilityTime(Aws::Utils::DateTime&& value) { m_nextUpdateAvailabilityTimeHasBeenSet = true; m_nextUpdateAvailabilityTime = std::move(value); } /** *

Details showing the next update availability time of the gateway.

*/ inline GatewayDetails& WithNextUpdateAvailabilityTime(const Aws::Utils::DateTime& value) { SetNextUpdateAvailabilityTime(value); return *this;} /** *

Details showing the next update availability time of the gateway.

*/ inline GatewayDetails& WithNextUpdateAvailabilityTime(Aws::Utils::DateTime&& value) { SetNextUpdateAvailabilityTime(std::move(value)); return *this;} /** *

The DNS name for the virtual private cloud (VPC) endpoint the gateway uses to * connect to the cloud for backup gateway.

*/ inline const Aws::String& GetVpcEndpoint() const{ return m_vpcEndpoint; } /** *

The DNS name for the virtual private cloud (VPC) endpoint the gateway uses to * connect to the cloud for backup gateway.

*/ inline bool VpcEndpointHasBeenSet() const { return m_vpcEndpointHasBeenSet; } /** *

The DNS name for the virtual private cloud (VPC) endpoint the gateway uses to * connect to the cloud for backup gateway.

*/ inline void SetVpcEndpoint(const Aws::String& value) { m_vpcEndpointHasBeenSet = true; m_vpcEndpoint = value; } /** *

The DNS name for the virtual private cloud (VPC) endpoint the gateway uses to * connect to the cloud for backup gateway.

*/ inline void SetVpcEndpoint(Aws::String&& value) { m_vpcEndpointHasBeenSet = true; m_vpcEndpoint = std::move(value); } /** *

The DNS name for the virtual private cloud (VPC) endpoint the gateway uses to * connect to the cloud for backup gateway.

*/ inline void SetVpcEndpoint(const char* value) { m_vpcEndpointHasBeenSet = true; m_vpcEndpoint.assign(value); } /** *

The DNS name for the virtual private cloud (VPC) endpoint the gateway uses to * connect to the cloud for backup gateway.

*/ inline GatewayDetails& WithVpcEndpoint(const Aws::String& value) { SetVpcEndpoint(value); return *this;} /** *

The DNS name for the virtual private cloud (VPC) endpoint the gateway uses to * connect to the cloud for backup gateway.

*/ inline GatewayDetails& WithVpcEndpoint(Aws::String&& value) { SetVpcEndpoint(std::move(value)); return *this;} /** *

The DNS name for the virtual private cloud (VPC) endpoint the gateway uses to * connect to the cloud for backup gateway.

*/ inline GatewayDetails& WithVpcEndpoint(const char* value) { SetVpcEndpoint(value); return *this;} private: Aws::String m_gatewayArn; bool m_gatewayArnHasBeenSet = false; Aws::String m_gatewayDisplayName; bool m_gatewayDisplayNameHasBeenSet = false; GatewayType m_gatewayType; bool m_gatewayTypeHasBeenSet = false; Aws::String m_hypervisorId; bool m_hypervisorIdHasBeenSet = false; Aws::Utils::DateTime m_lastSeenTime; bool m_lastSeenTimeHasBeenSet = false; MaintenanceStartTime m_maintenanceStartTime; bool m_maintenanceStartTimeHasBeenSet = false; Aws::Utils::DateTime m_nextUpdateAvailabilityTime; bool m_nextUpdateAvailabilityTimeHasBeenSet = false; Aws::String m_vpcEndpoint; bool m_vpcEndpointHasBeenSet = false; }; } // namespace Model } // namespace BackupGateway } // namespace Aws