/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace GameLift { namespace Model { /** *

Resources used to host your game servers. A compute resource can be managed * Amazon GameLift Amazon EC2 instances or your own resources.

See * Also:

AWS * API Reference

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

A unique identifier for the fleet that the compute is registered to.

*/ inline const Aws::String& GetFleetId() const{ return m_fleetId; } /** *

A unique identifier for the fleet that the compute is registered to.

*/ inline bool FleetIdHasBeenSet() const { return m_fleetIdHasBeenSet; } /** *

A unique identifier for the fleet that the compute is registered to.

*/ inline void SetFleetId(const Aws::String& value) { m_fleetIdHasBeenSet = true; m_fleetId = value; } /** *

A unique identifier for the fleet that the compute is registered to.

*/ inline void SetFleetId(Aws::String&& value) { m_fleetIdHasBeenSet = true; m_fleetId = std::move(value); } /** *

A unique identifier for the fleet that the compute is registered to.

*/ inline void SetFleetId(const char* value) { m_fleetIdHasBeenSet = true; m_fleetId.assign(value); } /** *

A unique identifier for the fleet that the compute is registered to.

*/ inline Compute& WithFleetId(const Aws::String& value) { SetFleetId(value); return *this;} /** *

A unique identifier for the fleet that the compute is registered to.

*/ inline Compute& WithFleetId(Aws::String&& value) { SetFleetId(std::move(value)); return *this;} /** *

A unique identifier for the fleet that the compute is registered to.

*/ inline Compute& WithFleetId(const char* value) { SetFleetId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the fleet that the compute is registered * to.

*/ inline const Aws::String& GetFleetArn() const{ return m_fleetArn; } /** *

The Amazon Resource Name (ARN) of the fleet that the compute is registered * to.

*/ inline bool FleetArnHasBeenSet() const { return m_fleetArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the fleet that the compute is registered * to.

*/ inline void SetFleetArn(const Aws::String& value) { m_fleetArnHasBeenSet = true; m_fleetArn = value; } /** *

The Amazon Resource Name (ARN) of the fleet that the compute is registered * to.

*/ inline void SetFleetArn(Aws::String&& value) { m_fleetArnHasBeenSet = true; m_fleetArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the fleet that the compute is registered * to.

*/ inline void SetFleetArn(const char* value) { m_fleetArnHasBeenSet = true; m_fleetArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the fleet that the compute is registered * to.

*/ inline Compute& WithFleetArn(const Aws::String& value) { SetFleetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the fleet that the compute is registered * to.

*/ inline Compute& WithFleetArn(Aws::String&& value) { SetFleetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the fleet that the compute is registered * to.

*/ inline Compute& WithFleetArn(const char* value) { SetFleetArn(value); return *this;} /** *

A descriptive label that is associated with the compute resource registered * to your fleet.

*/ inline const Aws::String& GetComputeName() const{ return m_computeName; } /** *

A descriptive label that is associated with the compute resource registered * to your fleet.

*/ inline bool ComputeNameHasBeenSet() const { return m_computeNameHasBeenSet; } /** *

A descriptive label that is associated with the compute resource registered * to your fleet.

*/ inline void SetComputeName(const Aws::String& value) { m_computeNameHasBeenSet = true; m_computeName = value; } /** *

A descriptive label that is associated with the compute resource registered * to your fleet.

*/ inline void SetComputeName(Aws::String&& value) { m_computeNameHasBeenSet = true; m_computeName = std::move(value); } /** *

A descriptive label that is associated with the compute resource registered * to your fleet.

*/ inline void SetComputeName(const char* value) { m_computeNameHasBeenSet = true; m_computeName.assign(value); } /** *

A descriptive label that is associated with the compute resource registered * to your fleet.

*/ inline Compute& WithComputeName(const Aws::String& value) { SetComputeName(value); return *this;} /** *

A descriptive label that is associated with the compute resource registered * to your fleet.

*/ inline Compute& WithComputeName(Aws::String&& value) { SetComputeName(std::move(value)); return *this;} /** *

A descriptive label that is associated with the compute resource registered * to your fleet.

*/ inline Compute& WithComputeName(const char* value) { SetComputeName(value); return *this;} /** *

The ARN that is assigned to the compute resource and uniquely identifies it. * ARNs are unique across locations.

*/ inline const Aws::String& GetComputeArn() const{ return m_computeArn; } /** *

The ARN that is assigned to the compute resource and uniquely identifies it. * ARNs are unique across locations.

*/ inline bool ComputeArnHasBeenSet() const { return m_computeArnHasBeenSet; } /** *

The ARN that is assigned to the compute resource and uniquely identifies it. * ARNs are unique across locations.

*/ inline void SetComputeArn(const Aws::String& value) { m_computeArnHasBeenSet = true; m_computeArn = value; } /** *

The ARN that is assigned to the compute resource and uniquely identifies it. * ARNs are unique across locations.

*/ inline void SetComputeArn(Aws::String&& value) { m_computeArnHasBeenSet = true; m_computeArn = std::move(value); } /** *

The ARN that is assigned to the compute resource and uniquely identifies it. * ARNs are unique across locations.

*/ inline void SetComputeArn(const char* value) { m_computeArnHasBeenSet = true; m_computeArn.assign(value); } /** *

The ARN that is assigned to the compute resource and uniquely identifies it. * ARNs are unique across locations.

*/ inline Compute& WithComputeArn(const Aws::String& value) { SetComputeArn(value); return *this;} /** *

The ARN that is assigned to the compute resource and uniquely identifies it. * ARNs are unique across locations.

*/ inline Compute& WithComputeArn(Aws::String&& value) { SetComputeArn(std::move(value)); return *this;} /** *

The ARN that is assigned to the compute resource and uniquely identifies it. * ARNs are unique across locations.

*/ inline Compute& WithComputeArn(const char* value) { SetComputeArn(value); return *this;} /** *

The IP address of the compute resource. Amazon GameLift requires the DNS name * or IP address to manage your compute resource.

*/ inline const Aws::String& GetIpAddress() const{ return m_ipAddress; } /** *

The IP address of the compute resource. Amazon GameLift requires the DNS name * or IP address to manage your compute resource.

*/ inline bool IpAddressHasBeenSet() const { return m_ipAddressHasBeenSet; } /** *

The IP address of the compute resource. Amazon GameLift requires the DNS name * or IP address to manage your compute resource.

*/ inline void SetIpAddress(const Aws::String& value) { m_ipAddressHasBeenSet = true; m_ipAddress = value; } /** *

The IP address of the compute resource. Amazon GameLift requires the DNS name * or IP address to manage your compute resource.

*/ inline void SetIpAddress(Aws::String&& value) { m_ipAddressHasBeenSet = true; m_ipAddress = std::move(value); } /** *

The IP address of the compute resource. Amazon GameLift requires the DNS name * or IP address to manage your compute resource.

*/ inline void SetIpAddress(const char* value) { m_ipAddressHasBeenSet = true; m_ipAddress.assign(value); } /** *

The IP address of the compute resource. Amazon GameLift requires the DNS name * or IP address to manage your compute resource.

*/ inline Compute& WithIpAddress(const Aws::String& value) { SetIpAddress(value); return *this;} /** *

The IP address of the compute resource. Amazon GameLift requires the DNS name * or IP address to manage your compute resource.

*/ inline Compute& WithIpAddress(Aws::String&& value) { SetIpAddress(std::move(value)); return *this;} /** *

The IP address of the compute resource. Amazon GameLift requires the DNS name * or IP address to manage your compute resource.

*/ inline Compute& WithIpAddress(const char* value) { SetIpAddress(value); return *this;} /** *

The DNS name of the compute resource. Amazon GameLift requires the DNS name * or IP address to manage your compute resource.

*/ inline const Aws::String& GetDnsName() const{ return m_dnsName; } /** *

The DNS name of the compute resource. Amazon GameLift requires the DNS name * or IP address to manage your compute resource.

*/ inline bool DnsNameHasBeenSet() const { return m_dnsNameHasBeenSet; } /** *

The DNS name of the compute resource. Amazon GameLift requires the DNS name * or IP address to manage your compute resource.

*/ inline void SetDnsName(const Aws::String& value) { m_dnsNameHasBeenSet = true; m_dnsName = value; } /** *

The DNS name of the compute resource. Amazon GameLift requires the DNS name * or IP address to manage your compute resource.

*/ inline void SetDnsName(Aws::String&& value) { m_dnsNameHasBeenSet = true; m_dnsName = std::move(value); } /** *

The DNS name of the compute resource. Amazon GameLift requires the DNS name * or IP address to manage your compute resource.

*/ inline void SetDnsName(const char* value) { m_dnsNameHasBeenSet = true; m_dnsName.assign(value); } /** *

The DNS name of the compute resource. Amazon GameLift requires the DNS name * or IP address to manage your compute resource.

*/ inline Compute& WithDnsName(const Aws::String& value) { SetDnsName(value); return *this;} /** *

The DNS name of the compute resource. Amazon GameLift requires the DNS name * or IP address to manage your compute resource.

*/ inline Compute& WithDnsName(Aws::String&& value) { SetDnsName(std::move(value)); return *this;} /** *

The DNS name of the compute resource. Amazon GameLift requires the DNS name * or IP address to manage your compute resource.

*/ inline Compute& WithDnsName(const char* value) { SetDnsName(value); return *this;} /** *

Current status of the compute. A compute must have an ACTIVE * status to host game sessions.

*/ inline const ComputeStatus& GetComputeStatus() const{ return m_computeStatus; } /** *

Current status of the compute. A compute must have an ACTIVE * status to host game sessions.

*/ inline bool ComputeStatusHasBeenSet() const { return m_computeStatusHasBeenSet; } /** *

Current status of the compute. A compute must have an ACTIVE * status to host game sessions.

*/ inline void SetComputeStatus(const ComputeStatus& value) { m_computeStatusHasBeenSet = true; m_computeStatus = value; } /** *

Current status of the compute. A compute must have an ACTIVE * status to host game sessions.

*/ inline void SetComputeStatus(ComputeStatus&& value) { m_computeStatusHasBeenSet = true; m_computeStatus = std::move(value); } /** *

Current status of the compute. A compute must have an ACTIVE * status to host game sessions.

*/ inline Compute& WithComputeStatus(const ComputeStatus& value) { SetComputeStatus(value); return *this;} /** *

Current status of the compute. A compute must have an ACTIVE * status to host game sessions.

*/ inline Compute& WithComputeStatus(ComputeStatus&& value) { SetComputeStatus(std::move(value)); return *this;} /** *

The name of the custom location you added to the fleet that this compute * resource resides in.

*/ inline const Aws::String& GetLocation() const{ return m_location; } /** *

The name of the custom location you added to the fleet that this compute * resource resides in.

*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *

The name of the custom location you added to the fleet that this compute * resource resides in.

*/ inline void SetLocation(const Aws::String& value) { m_locationHasBeenSet = true; m_location = value; } /** *

The name of the custom location you added to the fleet that this compute * resource resides in.

*/ inline void SetLocation(Aws::String&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *

The name of the custom location you added to the fleet that this compute * resource resides in.

*/ inline void SetLocation(const char* value) { m_locationHasBeenSet = true; m_location.assign(value); } /** *

The name of the custom location you added to the fleet that this compute * resource resides in.

*/ inline Compute& WithLocation(const Aws::String& value) { SetLocation(value); return *this;} /** *

The name of the custom location you added to the fleet that this compute * resource resides in.

*/ inline Compute& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;} /** *

The name of the custom location you added to the fleet that this compute * resource resides in.

*/ inline Compute& WithLocation(const char* value) { SetLocation(value); return *this;} /** *

A time stamp indicating when this data object was created. Format is a number * expressed in Unix time as milliseconds (for example * "1469498468.057").

*/ inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; } /** *

A time stamp indicating when this data object was created. Format is a number * expressed in Unix time as milliseconds (for example * "1469498468.057").

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

A time stamp indicating when this data object was created. Format is a number * expressed in Unix time as milliseconds (for example * "1469498468.057").

*/ inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

A time stamp indicating when this data object was created. Format is a number * expressed in Unix time as milliseconds (for example * "1469498468.057").

*/ inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

A time stamp indicating when this data object was created. Format is a number * expressed in Unix time as milliseconds (for example * "1469498468.057").

*/ inline Compute& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;} /** *

A time stamp indicating when this data object was created. Format is a number * expressed in Unix time as milliseconds (for example * "1469498468.057").

*/ inline Compute& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The type of operating system on your compute resource.

*/ inline const OperatingSystem& GetOperatingSystem() const{ return m_operatingSystem; } /** *

The type of operating system on your compute resource.

*/ inline bool OperatingSystemHasBeenSet() const { return m_operatingSystemHasBeenSet; } /** *

The type of operating system on your compute resource.

*/ inline void SetOperatingSystem(const OperatingSystem& value) { m_operatingSystemHasBeenSet = true; m_operatingSystem = value; } /** *

The type of operating system on your compute resource.

*/ inline void SetOperatingSystem(OperatingSystem&& value) { m_operatingSystemHasBeenSet = true; m_operatingSystem = std::move(value); } /** *

The type of operating system on your compute resource.

*/ inline Compute& WithOperatingSystem(const OperatingSystem& value) { SetOperatingSystem(value); return *this;} /** *

The type of operating system on your compute resource.

*/ inline Compute& WithOperatingSystem(OperatingSystem&& value) { SetOperatingSystem(std::move(value)); return *this;} /** *

The compute type that the fleet uses. A fleet can use Anywhere compute * resources that you own, or use managed Amazon EC2 instances.

*/ inline const EC2InstanceType& GetType() const{ return m_type; } /** *

The compute type that the fleet uses. A fleet can use Anywhere compute * resources that you own, or use managed Amazon EC2 instances.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The compute type that the fleet uses. A fleet can use Anywhere compute * resources that you own, or use managed Amazon EC2 instances.

*/ inline void SetType(const EC2InstanceType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The compute type that the fleet uses. A fleet can use Anywhere compute * resources that you own, or use managed Amazon EC2 instances.

*/ inline void SetType(EC2InstanceType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The compute type that the fleet uses. A fleet can use Anywhere compute * resources that you own, or use managed Amazon EC2 instances.

*/ inline Compute& WithType(const EC2InstanceType& value) { SetType(value); return *this;} /** *

The compute type that the fleet uses. A fleet can use Anywhere compute * resources that you own, or use managed Amazon EC2 instances.

*/ inline Compute& WithType(EC2InstanceType&& value) { SetType(std::move(value)); return *this;} /** *

The endpoint connection details of the Amazon GameLift SDK endpoint that your * game server connects to.

*/ inline const Aws::String& GetGameLiftServiceSdkEndpoint() const{ return m_gameLiftServiceSdkEndpoint; } /** *

The endpoint connection details of the Amazon GameLift SDK endpoint that your * game server connects to.

*/ inline bool GameLiftServiceSdkEndpointHasBeenSet() const { return m_gameLiftServiceSdkEndpointHasBeenSet; } /** *

The endpoint connection details of the Amazon GameLift SDK endpoint that your * game server connects to.

*/ inline void SetGameLiftServiceSdkEndpoint(const Aws::String& value) { m_gameLiftServiceSdkEndpointHasBeenSet = true; m_gameLiftServiceSdkEndpoint = value; } /** *

The endpoint connection details of the Amazon GameLift SDK endpoint that your * game server connects to.

*/ inline void SetGameLiftServiceSdkEndpoint(Aws::String&& value) { m_gameLiftServiceSdkEndpointHasBeenSet = true; m_gameLiftServiceSdkEndpoint = std::move(value); } /** *

The endpoint connection details of the Amazon GameLift SDK endpoint that your * game server connects to.

*/ inline void SetGameLiftServiceSdkEndpoint(const char* value) { m_gameLiftServiceSdkEndpointHasBeenSet = true; m_gameLiftServiceSdkEndpoint.assign(value); } /** *

The endpoint connection details of the Amazon GameLift SDK endpoint that your * game server connects to.

*/ inline Compute& WithGameLiftServiceSdkEndpoint(const Aws::String& value) { SetGameLiftServiceSdkEndpoint(value); return *this;} /** *

The endpoint connection details of the Amazon GameLift SDK endpoint that your * game server connects to.

*/ inline Compute& WithGameLiftServiceSdkEndpoint(Aws::String&& value) { SetGameLiftServiceSdkEndpoint(std::move(value)); return *this;} /** *

The endpoint connection details of the Amazon GameLift SDK endpoint that your * game server connects to.

*/ inline Compute& WithGameLiftServiceSdkEndpoint(const char* value) { SetGameLiftServiceSdkEndpoint(value); return *this;} private: Aws::String m_fleetId; bool m_fleetIdHasBeenSet = false; Aws::String m_fleetArn; bool m_fleetArnHasBeenSet = false; Aws::String m_computeName; bool m_computeNameHasBeenSet = false; Aws::String m_computeArn; bool m_computeArnHasBeenSet = false; Aws::String m_ipAddress; bool m_ipAddressHasBeenSet = false; Aws::String m_dnsName; bool m_dnsNameHasBeenSet = false; ComputeStatus m_computeStatus; bool m_computeStatusHasBeenSet = false; Aws::String m_location; bool m_locationHasBeenSet = false; Aws::Utils::DateTime m_creationTime; bool m_creationTimeHasBeenSet = false; OperatingSystem m_operatingSystem; bool m_operatingSystemHasBeenSet = false; EC2InstanceType m_type; bool m_typeHasBeenSet = false; Aws::String m_gameLiftServiceSdkEndpoint; bool m_gameLiftServiceSdkEndpointHasBeenSet = false; }; } // namespace Model } // namespace GameLift } // namespace Aws