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

Describes a fleet.

See Also:

AWS API * Reference

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

The Amazon Resource Name (ARN) for the fleet.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) for the fleet.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The Amazon Resource Name (ARN) for the fleet.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The Amazon Resource Name (ARN) for the fleet.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) for the fleet.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) for the fleet.

*/ inline Fleet& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) for the fleet.

*/ inline Fleet& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) for the fleet.

*/ inline Fleet& WithArn(const char* value) { SetArn(value); return *this;} /** *

The name of the fleet.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the fleet.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the fleet.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the fleet.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the fleet.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the fleet.

*/ inline Fleet& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the fleet.

*/ inline Fleet& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the fleet.

*/ inline Fleet& WithName(const char* value) { SetName(value); return *this;} /** *

The fleet name to display.

*/ inline const Aws::String& GetDisplayName() const{ return m_displayName; } /** *

The fleet name to display.

*/ inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } /** *

The fleet name to display.

*/ inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } /** *

The fleet name to display.

*/ inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } /** *

The fleet name to display.

*/ inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } /** *

The fleet name to display.

*/ inline Fleet& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} /** *

The fleet name to display.

*/ inline Fleet& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} /** *

The fleet name to display.

*/ inline Fleet& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} /** *

The description to display.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description to display.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description to display.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description to display.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description to display.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description to display.

*/ inline Fleet& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description to display.

*/ inline Fleet& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description to display.

*/ inline Fleet& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The name of the image used to create the fleet.

*/ inline const Aws::String& GetImageName() const{ return m_imageName; } /** *

The name of the image used to create the fleet.

*/ inline bool ImageNameHasBeenSet() const { return m_imageNameHasBeenSet; } /** *

The name of the image used to create the fleet.

*/ inline void SetImageName(const Aws::String& value) { m_imageNameHasBeenSet = true; m_imageName = value; } /** *

The name of the image used to create the fleet.

*/ inline void SetImageName(Aws::String&& value) { m_imageNameHasBeenSet = true; m_imageName = std::move(value); } /** *

The name of the image used to create the fleet.

*/ inline void SetImageName(const char* value) { m_imageNameHasBeenSet = true; m_imageName.assign(value); } /** *

The name of the image used to create the fleet.

*/ inline Fleet& WithImageName(const Aws::String& value) { SetImageName(value); return *this;} /** *

The name of the image used to create the fleet.

*/ inline Fleet& WithImageName(Aws::String&& value) { SetImageName(std::move(value)); return *this;} /** *

The name of the image used to create the fleet.

*/ inline Fleet& WithImageName(const char* value) { SetImageName(value); return *this;} /** *

The ARN for the public, private, or shared image.

*/ inline const Aws::String& GetImageArn() const{ return m_imageArn; } /** *

The ARN for the public, private, or shared image.

*/ inline bool ImageArnHasBeenSet() const { return m_imageArnHasBeenSet; } /** *

The ARN for the public, private, or shared image.

*/ inline void SetImageArn(const Aws::String& value) { m_imageArnHasBeenSet = true; m_imageArn = value; } /** *

The ARN for the public, private, or shared image.

*/ inline void SetImageArn(Aws::String&& value) { m_imageArnHasBeenSet = true; m_imageArn = std::move(value); } /** *

The ARN for the public, private, or shared image.

*/ inline void SetImageArn(const char* value) { m_imageArnHasBeenSet = true; m_imageArn.assign(value); } /** *

The ARN for the public, private, or shared image.

*/ inline Fleet& WithImageArn(const Aws::String& value) { SetImageArn(value); return *this;} /** *

The ARN for the public, private, or shared image.

*/ inline Fleet& WithImageArn(Aws::String&& value) { SetImageArn(std::move(value)); return *this;} /** *

The ARN for the public, private, or shared image.

*/ inline Fleet& WithImageArn(const char* value) { SetImageArn(value); return *this;} /** *

The instance type to use when launching fleet instances. The following * instance types are available:

  • stream.standard.small

  • *
  • stream.standard.medium

  • stream.standard.large

  • *
  • stream.compute.large

  • stream.compute.xlarge

  • *
  • stream.compute.2xlarge

  • stream.compute.4xlarge

    *
  • stream.compute.8xlarge

  • stream.memory.large

    *
  • stream.memory.xlarge

  • stream.memory.2xlarge

    *
  • stream.memory.4xlarge

  • stream.memory.8xlarge

    *
  • stream.memory.z1d.large

  • *

    stream.memory.z1d.xlarge

  • stream.memory.z1d.2xlarge

    *
  • stream.memory.z1d.3xlarge

  • *

    stream.memory.z1d.6xlarge

  • stream.memory.z1d.12xlarge

    *
  • stream.graphics-design.large

  • *

    stream.graphics-design.xlarge

  • *

    stream.graphics-design.2xlarge

  • *

    stream.graphics-design.4xlarge

  • *

    stream.graphics-desktop.2xlarge

  • *

    stream.graphics.g4dn.xlarge

  • *

    stream.graphics.g4dn.2xlarge

  • *

    stream.graphics.g4dn.4xlarge

  • *

    stream.graphics.g4dn.8xlarge

  • *

    stream.graphics.g4dn.12xlarge

  • *

    stream.graphics.g4dn.16xlarge

  • *

    stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

    *
  • stream.graphics-pro.16xlarge

*/ inline const Aws::String& GetInstanceType() const{ return m_instanceType; } /** *

The instance type to use when launching fleet instances. The following * instance types are available:

  • stream.standard.small

  • *
  • stream.standard.medium

  • stream.standard.large

  • *
  • stream.compute.large

  • stream.compute.xlarge

  • *
  • stream.compute.2xlarge

  • stream.compute.4xlarge

    *
  • stream.compute.8xlarge

  • stream.memory.large

    *
  • stream.memory.xlarge

  • stream.memory.2xlarge

    *
  • stream.memory.4xlarge

  • stream.memory.8xlarge

    *
  • stream.memory.z1d.large

  • *

    stream.memory.z1d.xlarge

  • stream.memory.z1d.2xlarge

    *
  • stream.memory.z1d.3xlarge

  • *

    stream.memory.z1d.6xlarge

  • stream.memory.z1d.12xlarge

    *
  • stream.graphics-design.large

  • *

    stream.graphics-design.xlarge

  • *

    stream.graphics-design.2xlarge

  • *

    stream.graphics-design.4xlarge

  • *

    stream.graphics-desktop.2xlarge

  • *

    stream.graphics.g4dn.xlarge

  • *

    stream.graphics.g4dn.2xlarge

  • *

    stream.graphics.g4dn.4xlarge

  • *

    stream.graphics.g4dn.8xlarge

  • *

    stream.graphics.g4dn.12xlarge

  • *

    stream.graphics.g4dn.16xlarge

  • *

    stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

    *
  • stream.graphics-pro.16xlarge

*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *

The instance type to use when launching fleet instances. The following * instance types are available:

  • stream.standard.small

  • *
  • stream.standard.medium

  • stream.standard.large

  • *
  • stream.compute.large

  • stream.compute.xlarge

  • *
  • stream.compute.2xlarge

  • stream.compute.4xlarge

    *
  • stream.compute.8xlarge

  • stream.memory.large

    *
  • stream.memory.xlarge

  • stream.memory.2xlarge

    *
  • stream.memory.4xlarge

  • stream.memory.8xlarge

    *
  • stream.memory.z1d.large

  • *

    stream.memory.z1d.xlarge

  • stream.memory.z1d.2xlarge

    *
  • stream.memory.z1d.3xlarge

  • *

    stream.memory.z1d.6xlarge

  • stream.memory.z1d.12xlarge

    *
  • stream.graphics-design.large

  • *

    stream.graphics-design.xlarge

  • *

    stream.graphics-design.2xlarge

  • *

    stream.graphics-design.4xlarge

  • *

    stream.graphics-desktop.2xlarge

  • *

    stream.graphics.g4dn.xlarge

  • *

    stream.graphics.g4dn.2xlarge

  • *

    stream.graphics.g4dn.4xlarge

  • *

    stream.graphics.g4dn.8xlarge

  • *

    stream.graphics.g4dn.12xlarge

  • *

    stream.graphics.g4dn.16xlarge

  • *

    stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

    *
  • stream.graphics-pro.16xlarge

*/ inline void SetInstanceType(const Aws::String& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *

The instance type to use when launching fleet instances. The following * instance types are available:

  • stream.standard.small

  • *
  • stream.standard.medium

  • stream.standard.large

  • *
  • stream.compute.large

  • stream.compute.xlarge

  • *
  • stream.compute.2xlarge

  • stream.compute.4xlarge

    *
  • stream.compute.8xlarge

  • stream.memory.large

    *
  • stream.memory.xlarge

  • stream.memory.2xlarge

    *
  • stream.memory.4xlarge

  • stream.memory.8xlarge

    *
  • stream.memory.z1d.large

  • *

    stream.memory.z1d.xlarge

  • stream.memory.z1d.2xlarge

    *
  • stream.memory.z1d.3xlarge

  • *

    stream.memory.z1d.6xlarge

  • stream.memory.z1d.12xlarge

    *
  • stream.graphics-design.large

  • *

    stream.graphics-design.xlarge

  • *

    stream.graphics-design.2xlarge

  • *

    stream.graphics-design.4xlarge

  • *

    stream.graphics-desktop.2xlarge

  • *

    stream.graphics.g4dn.xlarge

  • *

    stream.graphics.g4dn.2xlarge

  • *

    stream.graphics.g4dn.4xlarge

  • *

    stream.graphics.g4dn.8xlarge

  • *

    stream.graphics.g4dn.12xlarge

  • *

    stream.graphics.g4dn.16xlarge

  • *

    stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

    *
  • stream.graphics-pro.16xlarge

*/ inline void SetInstanceType(Aws::String&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *

The instance type to use when launching fleet instances. The following * instance types are available:

  • stream.standard.small

  • *
  • stream.standard.medium

  • stream.standard.large

  • *
  • stream.compute.large

  • stream.compute.xlarge

  • *
  • stream.compute.2xlarge

  • stream.compute.4xlarge

    *
  • stream.compute.8xlarge

  • stream.memory.large

    *
  • stream.memory.xlarge

  • stream.memory.2xlarge

    *
  • stream.memory.4xlarge

  • stream.memory.8xlarge

    *
  • stream.memory.z1d.large

  • *

    stream.memory.z1d.xlarge

  • stream.memory.z1d.2xlarge

    *
  • stream.memory.z1d.3xlarge

  • *

    stream.memory.z1d.6xlarge

  • stream.memory.z1d.12xlarge

    *
  • stream.graphics-design.large

  • *

    stream.graphics-design.xlarge

  • *

    stream.graphics-design.2xlarge

  • *

    stream.graphics-design.4xlarge

  • *

    stream.graphics-desktop.2xlarge

  • *

    stream.graphics.g4dn.xlarge

  • *

    stream.graphics.g4dn.2xlarge

  • *

    stream.graphics.g4dn.4xlarge

  • *

    stream.graphics.g4dn.8xlarge

  • *

    stream.graphics.g4dn.12xlarge

  • *

    stream.graphics.g4dn.16xlarge

  • *

    stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

    *
  • stream.graphics-pro.16xlarge

*/ inline void SetInstanceType(const char* value) { m_instanceTypeHasBeenSet = true; m_instanceType.assign(value); } /** *

The instance type to use when launching fleet instances. The following * instance types are available:

  • stream.standard.small

  • *
  • stream.standard.medium

  • stream.standard.large

  • *
  • stream.compute.large

  • stream.compute.xlarge

  • *
  • stream.compute.2xlarge

  • stream.compute.4xlarge

    *
  • stream.compute.8xlarge

  • stream.memory.large

    *
  • stream.memory.xlarge

  • stream.memory.2xlarge

    *
  • stream.memory.4xlarge

  • stream.memory.8xlarge

    *
  • stream.memory.z1d.large

  • *

    stream.memory.z1d.xlarge

  • stream.memory.z1d.2xlarge

    *
  • stream.memory.z1d.3xlarge

  • *

    stream.memory.z1d.6xlarge

  • stream.memory.z1d.12xlarge

    *
  • stream.graphics-design.large

  • *

    stream.graphics-design.xlarge

  • *

    stream.graphics-design.2xlarge

  • *

    stream.graphics-design.4xlarge

  • *

    stream.graphics-desktop.2xlarge

  • *

    stream.graphics.g4dn.xlarge

  • *

    stream.graphics.g4dn.2xlarge

  • *

    stream.graphics.g4dn.4xlarge

  • *

    stream.graphics.g4dn.8xlarge

  • *

    stream.graphics.g4dn.12xlarge

  • *

    stream.graphics.g4dn.16xlarge

  • *

    stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

    *
  • stream.graphics-pro.16xlarge

*/ inline Fleet& WithInstanceType(const Aws::String& value) { SetInstanceType(value); return *this;} /** *

The instance type to use when launching fleet instances. The following * instance types are available:

  • stream.standard.small

  • *
  • stream.standard.medium

  • stream.standard.large

  • *
  • stream.compute.large

  • stream.compute.xlarge

  • *
  • stream.compute.2xlarge

  • stream.compute.4xlarge

    *
  • stream.compute.8xlarge

  • stream.memory.large

    *
  • stream.memory.xlarge

  • stream.memory.2xlarge

    *
  • stream.memory.4xlarge

  • stream.memory.8xlarge

    *
  • stream.memory.z1d.large

  • *

    stream.memory.z1d.xlarge

  • stream.memory.z1d.2xlarge

    *
  • stream.memory.z1d.3xlarge

  • *

    stream.memory.z1d.6xlarge

  • stream.memory.z1d.12xlarge

    *
  • stream.graphics-design.large

  • *

    stream.graphics-design.xlarge

  • *

    stream.graphics-design.2xlarge

  • *

    stream.graphics-design.4xlarge

  • *

    stream.graphics-desktop.2xlarge

  • *

    stream.graphics.g4dn.xlarge

  • *

    stream.graphics.g4dn.2xlarge

  • *

    stream.graphics.g4dn.4xlarge

  • *

    stream.graphics.g4dn.8xlarge

  • *

    stream.graphics.g4dn.12xlarge

  • *

    stream.graphics.g4dn.16xlarge

  • *

    stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

    *
  • stream.graphics-pro.16xlarge

*/ inline Fleet& WithInstanceType(Aws::String&& value) { SetInstanceType(std::move(value)); return *this;} /** *

The instance type to use when launching fleet instances. The following * instance types are available:

  • stream.standard.small

  • *
  • stream.standard.medium

  • stream.standard.large

  • *
  • stream.compute.large

  • stream.compute.xlarge

  • *
  • stream.compute.2xlarge

  • stream.compute.4xlarge

    *
  • stream.compute.8xlarge

  • stream.memory.large

    *
  • stream.memory.xlarge

  • stream.memory.2xlarge

    *
  • stream.memory.4xlarge

  • stream.memory.8xlarge

    *
  • stream.memory.z1d.large

  • *

    stream.memory.z1d.xlarge

  • stream.memory.z1d.2xlarge

    *
  • stream.memory.z1d.3xlarge

  • *

    stream.memory.z1d.6xlarge

  • stream.memory.z1d.12xlarge

    *
  • stream.graphics-design.large

  • *

    stream.graphics-design.xlarge

  • *

    stream.graphics-design.2xlarge

  • *

    stream.graphics-design.4xlarge

  • *

    stream.graphics-desktop.2xlarge

  • *

    stream.graphics.g4dn.xlarge

  • *

    stream.graphics.g4dn.2xlarge

  • *

    stream.graphics.g4dn.4xlarge

  • *

    stream.graphics.g4dn.8xlarge

  • *

    stream.graphics.g4dn.12xlarge

  • *

    stream.graphics.g4dn.16xlarge

  • *

    stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

    *
  • stream.graphics-pro.16xlarge

*/ inline Fleet& WithInstanceType(const char* value) { SetInstanceType(value); return *this;} /** *

The fleet type.

ALWAYS_ON

Provides users with * instant-on access to their apps. You are charged for all running instances in * your fleet, even if no users are streaming apps.

ON_DEMAND
*

Provide users with access to applications after they connect, which * takes one to two minutes. You are charged for instance streaming when users are * connected and a small hourly fee for instances that are not streaming apps.

*
*/ inline const FleetType& GetFleetType() const{ return m_fleetType; } /** *

The fleet type.

ALWAYS_ON

Provides users with * instant-on access to their apps. You are charged for all running instances in * your fleet, even if no users are streaming apps.

ON_DEMAND
*

Provide users with access to applications after they connect, which * takes one to two minutes. You are charged for instance streaming when users are * connected and a small hourly fee for instances that are not streaming apps.

*
*/ inline bool FleetTypeHasBeenSet() const { return m_fleetTypeHasBeenSet; } /** *

The fleet type.

ALWAYS_ON

Provides users with * instant-on access to their apps. You are charged for all running instances in * your fleet, even if no users are streaming apps.

ON_DEMAND
*

Provide users with access to applications after they connect, which * takes one to two minutes. You are charged for instance streaming when users are * connected and a small hourly fee for instances that are not streaming apps.

*
*/ inline void SetFleetType(const FleetType& value) { m_fleetTypeHasBeenSet = true; m_fleetType = value; } /** *

The fleet type.

ALWAYS_ON

Provides users with * instant-on access to their apps. You are charged for all running instances in * your fleet, even if no users are streaming apps.

ON_DEMAND
*

Provide users with access to applications after they connect, which * takes one to two minutes. You are charged for instance streaming when users are * connected and a small hourly fee for instances that are not streaming apps.

*
*/ inline void SetFleetType(FleetType&& value) { m_fleetTypeHasBeenSet = true; m_fleetType = std::move(value); } /** *

The fleet type.

ALWAYS_ON

Provides users with * instant-on access to their apps. You are charged for all running instances in * your fleet, even if no users are streaming apps.

ON_DEMAND
*

Provide users with access to applications after they connect, which * takes one to two minutes. You are charged for instance streaming when users are * connected and a small hourly fee for instances that are not streaming apps.

*
*/ inline Fleet& WithFleetType(const FleetType& value) { SetFleetType(value); return *this;} /** *

The fleet type.

ALWAYS_ON

Provides users with * instant-on access to their apps. You are charged for all running instances in * your fleet, even if no users are streaming apps.

ON_DEMAND
*

Provide users with access to applications after they connect, which * takes one to two minutes. You are charged for instance streaming when users are * connected and a small hourly fee for instances that are not streaming apps.

*
*/ inline Fleet& WithFleetType(FleetType&& value) { SetFleetType(std::move(value)); return *this;} /** *

The capacity status for the fleet.

*/ inline const ComputeCapacityStatus& GetComputeCapacityStatus() const{ return m_computeCapacityStatus; } /** *

The capacity status for the fleet.

*/ inline bool ComputeCapacityStatusHasBeenSet() const { return m_computeCapacityStatusHasBeenSet; } /** *

The capacity status for the fleet.

*/ inline void SetComputeCapacityStatus(const ComputeCapacityStatus& value) { m_computeCapacityStatusHasBeenSet = true; m_computeCapacityStatus = value; } /** *

The capacity status for the fleet.

*/ inline void SetComputeCapacityStatus(ComputeCapacityStatus&& value) { m_computeCapacityStatusHasBeenSet = true; m_computeCapacityStatus = std::move(value); } /** *

The capacity status for the fleet.

*/ inline Fleet& WithComputeCapacityStatus(const ComputeCapacityStatus& value) { SetComputeCapacityStatus(value); return *this;} /** *

The capacity status for the fleet.

*/ inline Fleet& WithComputeCapacityStatus(ComputeCapacityStatus&& value) { SetComputeCapacityStatus(std::move(value)); return *this;} /** *

The maximum amount of time that a streaming session can remain active, in * seconds. If users are still connected to a streaming instance five minutes * before this limit is reached, they are prompted to save any open documents * before being disconnected. After this time elapses, the instance is terminated * and replaced by a new instance.

Specify a value between 600 and * 360000.

*/ inline int GetMaxUserDurationInSeconds() const{ return m_maxUserDurationInSeconds; } /** *

The maximum amount of time that a streaming session can remain active, in * seconds. If users are still connected to a streaming instance five minutes * before this limit is reached, they are prompted to save any open documents * before being disconnected. After this time elapses, the instance is terminated * and replaced by a new instance.

Specify a value between 600 and * 360000.

*/ inline bool MaxUserDurationInSecondsHasBeenSet() const { return m_maxUserDurationInSecondsHasBeenSet; } /** *

The maximum amount of time that a streaming session can remain active, in * seconds. If users are still connected to a streaming instance five minutes * before this limit is reached, they are prompted to save any open documents * before being disconnected. After this time elapses, the instance is terminated * and replaced by a new instance.

Specify a value between 600 and * 360000.

*/ inline void SetMaxUserDurationInSeconds(int value) { m_maxUserDurationInSecondsHasBeenSet = true; m_maxUserDurationInSeconds = value; } /** *

The maximum amount of time that a streaming session can remain active, in * seconds. If users are still connected to a streaming instance five minutes * before this limit is reached, they are prompted to save any open documents * before being disconnected. After this time elapses, the instance is terminated * and replaced by a new instance.

Specify a value between 600 and * 360000.

*/ inline Fleet& WithMaxUserDurationInSeconds(int value) { SetMaxUserDurationInSeconds(value); return *this;} /** *

The amount of time that a streaming session remains active after users * disconnect. If they try to reconnect to the streaming session after a * disconnection or network interruption within this time interval, they are * connected to their previous session. Otherwise, they are connected to a new * session with a new streaming instance.

Specify a value between 60 and * 360000.

*/ inline int GetDisconnectTimeoutInSeconds() const{ return m_disconnectTimeoutInSeconds; } /** *

The amount of time that a streaming session remains active after users * disconnect. If they try to reconnect to the streaming session after a * disconnection or network interruption within this time interval, they are * connected to their previous session. Otherwise, they are connected to a new * session with a new streaming instance.

Specify a value between 60 and * 360000.

*/ inline bool DisconnectTimeoutInSecondsHasBeenSet() const { return m_disconnectTimeoutInSecondsHasBeenSet; } /** *

The amount of time that a streaming session remains active after users * disconnect. If they try to reconnect to the streaming session after a * disconnection or network interruption within this time interval, they are * connected to their previous session. Otherwise, they are connected to a new * session with a new streaming instance.

Specify a value between 60 and * 360000.

*/ inline void SetDisconnectTimeoutInSeconds(int value) { m_disconnectTimeoutInSecondsHasBeenSet = true; m_disconnectTimeoutInSeconds = value; } /** *

The amount of time that a streaming session remains active after users * disconnect. If they try to reconnect to the streaming session after a * disconnection or network interruption within this time interval, they are * connected to their previous session. Otherwise, they are connected to a new * session with a new streaming instance.

Specify a value between 60 and * 360000.

*/ inline Fleet& WithDisconnectTimeoutInSeconds(int value) { SetDisconnectTimeoutInSeconds(value); return *this;} /** *

The current state for the fleet.

*/ inline const FleetState& GetState() const{ return m_state; } /** *

The current state for the fleet.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The current state for the fleet.

*/ inline void SetState(const FleetState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The current state for the fleet.

*/ inline void SetState(FleetState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The current state for the fleet.

*/ inline Fleet& WithState(const FleetState& value) { SetState(value); return *this;} /** *

The current state for the fleet.

*/ inline Fleet& WithState(FleetState&& value) { SetState(std::move(value)); return *this;} /** *

The VPC configuration for the fleet.

*/ inline const VpcConfig& GetVpcConfig() const{ return m_vpcConfig; } /** *

The VPC configuration for the fleet.

*/ inline bool VpcConfigHasBeenSet() const { return m_vpcConfigHasBeenSet; } /** *

The VPC configuration for the fleet.

*/ inline void SetVpcConfig(const VpcConfig& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = value; } /** *

The VPC configuration for the fleet.

*/ inline void SetVpcConfig(VpcConfig&& value) { m_vpcConfigHasBeenSet = true; m_vpcConfig = std::move(value); } /** *

The VPC configuration for the fleet.

*/ inline Fleet& WithVpcConfig(const VpcConfig& value) { SetVpcConfig(value); return *this;} /** *

The VPC configuration for the fleet.

*/ inline Fleet& WithVpcConfig(VpcConfig&& value) { SetVpcConfig(std::move(value)); return *this;} /** *

The time the fleet was created.

*/ inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; } /** *

The time the fleet was created.

*/ inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } /** *

The time the fleet was created.

*/ inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } /** *

The time the fleet was created.

*/ inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } /** *

The time the fleet was created.

*/ inline Fleet& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;} /** *

The time the fleet was created.

*/ inline Fleet& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;} /** *

The fleet errors.

*/ inline const Aws::Vector& GetFleetErrors() const{ return m_fleetErrors; } /** *

The fleet errors.

*/ inline bool FleetErrorsHasBeenSet() const { return m_fleetErrorsHasBeenSet; } /** *

The fleet errors.

*/ inline void SetFleetErrors(const Aws::Vector& value) { m_fleetErrorsHasBeenSet = true; m_fleetErrors = value; } /** *

The fleet errors.

*/ inline void SetFleetErrors(Aws::Vector&& value) { m_fleetErrorsHasBeenSet = true; m_fleetErrors = std::move(value); } /** *

The fleet errors.

*/ inline Fleet& WithFleetErrors(const Aws::Vector& value) { SetFleetErrors(value); return *this;} /** *

The fleet errors.

*/ inline Fleet& WithFleetErrors(Aws::Vector&& value) { SetFleetErrors(std::move(value)); return *this;} /** *

The fleet errors.

*/ inline Fleet& AddFleetErrors(const FleetError& value) { m_fleetErrorsHasBeenSet = true; m_fleetErrors.push_back(value); return *this; } /** *

The fleet errors.

*/ inline Fleet& AddFleetErrors(FleetError&& value) { m_fleetErrorsHasBeenSet = true; m_fleetErrors.push_back(std::move(value)); return *this; } /** *

Indicates whether default internet access is enabled for the fleet.

*/ inline bool GetEnableDefaultInternetAccess() const{ return m_enableDefaultInternetAccess; } /** *

Indicates whether default internet access is enabled for the fleet.

*/ inline bool EnableDefaultInternetAccessHasBeenSet() const { return m_enableDefaultInternetAccessHasBeenSet; } /** *

Indicates whether default internet access is enabled for the fleet.

*/ inline void SetEnableDefaultInternetAccess(bool value) { m_enableDefaultInternetAccessHasBeenSet = true; m_enableDefaultInternetAccess = value; } /** *

Indicates whether default internet access is enabled for the fleet.

*/ inline Fleet& WithEnableDefaultInternetAccess(bool value) { SetEnableDefaultInternetAccess(value); return *this;} /** *

The name of the directory and organizational unit (OU) to use to join the * fleet to a Microsoft Active Directory domain.

*/ inline const DomainJoinInfo& GetDomainJoinInfo() const{ return m_domainJoinInfo; } /** *

The name of the directory and organizational unit (OU) to use to join the * fleet to a Microsoft Active Directory domain.

*/ inline bool DomainJoinInfoHasBeenSet() const { return m_domainJoinInfoHasBeenSet; } /** *

The name of the directory and organizational unit (OU) to use to join the * fleet to a Microsoft Active Directory domain.

*/ inline void SetDomainJoinInfo(const DomainJoinInfo& value) { m_domainJoinInfoHasBeenSet = true; m_domainJoinInfo = value; } /** *

The name of the directory and organizational unit (OU) to use to join the * fleet to a Microsoft Active Directory domain.

*/ inline void SetDomainJoinInfo(DomainJoinInfo&& value) { m_domainJoinInfoHasBeenSet = true; m_domainJoinInfo = std::move(value); } /** *

The name of the directory and organizational unit (OU) to use to join the * fleet to a Microsoft Active Directory domain.

*/ inline Fleet& WithDomainJoinInfo(const DomainJoinInfo& value) { SetDomainJoinInfo(value); return *this;} /** *

The name of the directory and organizational unit (OU) to use to join the * fleet to a Microsoft Active Directory domain.

*/ inline Fleet& WithDomainJoinInfo(DomainJoinInfo&& value) { SetDomainJoinInfo(std::move(value)); return *this;} /** *

The amount of time that users can be idle (inactive) before they are * disconnected from their streaming session and the * DisconnectTimeoutInSeconds time interval begins. Users are notified * before they are disconnected due to inactivity. If users try to reconnect to the * streaming session before the time interval specified in * DisconnectTimeoutInSeconds elapses, they are connected to their * previous session. Users are considered idle when they stop providing keyboard or * mouse input during their streaming session. File uploads and downloads, audio * in, audio out, and pixels changing do not qualify as user activity. If users * continue to be idle after the time interval in * IdleDisconnectTimeoutInSeconds elapses, they are disconnected.

*

To prevent users from being disconnected due to inactivity, specify a value * of 0. Otherwise, specify a value between 60 and 3600. The default value is * 0.

If you enable this feature, we recommend that you specify a * value that corresponds exactly to a whole number of minutes (for example, 60, * 120, and 180). If you don't do this, the value is rounded to the nearest minute. * For example, if you specify a value of 70, users are disconnected after 1 minute * of inactivity. If you specify a value that is at the midpoint between two * different minutes, the value is rounded up. For example, if you specify a value * of 90, users are disconnected after 2 minutes of inactivity.

*/ inline int GetIdleDisconnectTimeoutInSeconds() const{ return m_idleDisconnectTimeoutInSeconds; } /** *

The amount of time that users can be idle (inactive) before they are * disconnected from their streaming session and the * DisconnectTimeoutInSeconds time interval begins. Users are notified * before they are disconnected due to inactivity. If users try to reconnect to the * streaming session before the time interval specified in * DisconnectTimeoutInSeconds elapses, they are connected to their * previous session. Users are considered idle when they stop providing keyboard or * mouse input during their streaming session. File uploads and downloads, audio * in, audio out, and pixels changing do not qualify as user activity. If users * continue to be idle after the time interval in * IdleDisconnectTimeoutInSeconds elapses, they are disconnected.

*

To prevent users from being disconnected due to inactivity, specify a value * of 0. Otherwise, specify a value between 60 and 3600. The default value is * 0.

If you enable this feature, we recommend that you specify a * value that corresponds exactly to a whole number of minutes (for example, 60, * 120, and 180). If you don't do this, the value is rounded to the nearest minute. * For example, if you specify a value of 70, users are disconnected after 1 minute * of inactivity. If you specify a value that is at the midpoint between two * different minutes, the value is rounded up. For example, if you specify a value * of 90, users are disconnected after 2 minutes of inactivity.

*/ inline bool IdleDisconnectTimeoutInSecondsHasBeenSet() const { return m_idleDisconnectTimeoutInSecondsHasBeenSet; } /** *

The amount of time that users can be idle (inactive) before they are * disconnected from their streaming session and the * DisconnectTimeoutInSeconds time interval begins. Users are notified * before they are disconnected due to inactivity. If users try to reconnect to the * streaming session before the time interval specified in * DisconnectTimeoutInSeconds elapses, they are connected to their * previous session. Users are considered idle when they stop providing keyboard or * mouse input during their streaming session. File uploads and downloads, audio * in, audio out, and pixels changing do not qualify as user activity. If users * continue to be idle after the time interval in * IdleDisconnectTimeoutInSeconds elapses, they are disconnected.

*

To prevent users from being disconnected due to inactivity, specify a value * of 0. Otherwise, specify a value between 60 and 3600. The default value is * 0.

If you enable this feature, we recommend that you specify a * value that corresponds exactly to a whole number of minutes (for example, 60, * 120, and 180). If you don't do this, the value is rounded to the nearest minute. * For example, if you specify a value of 70, users are disconnected after 1 minute * of inactivity. If you specify a value that is at the midpoint between two * different minutes, the value is rounded up. For example, if you specify a value * of 90, users are disconnected after 2 minutes of inactivity.

*/ inline void SetIdleDisconnectTimeoutInSeconds(int value) { m_idleDisconnectTimeoutInSecondsHasBeenSet = true; m_idleDisconnectTimeoutInSeconds = value; } /** *

The amount of time that users can be idle (inactive) before they are * disconnected from their streaming session and the * DisconnectTimeoutInSeconds time interval begins. Users are notified * before they are disconnected due to inactivity. If users try to reconnect to the * streaming session before the time interval specified in * DisconnectTimeoutInSeconds elapses, they are connected to their * previous session. Users are considered idle when they stop providing keyboard or * mouse input during their streaming session. File uploads and downloads, audio * in, audio out, and pixels changing do not qualify as user activity. If users * continue to be idle after the time interval in * IdleDisconnectTimeoutInSeconds elapses, they are disconnected.

*

To prevent users from being disconnected due to inactivity, specify a value * of 0. Otherwise, specify a value between 60 and 3600. The default value is * 0.

If you enable this feature, we recommend that you specify a * value that corresponds exactly to a whole number of minutes (for example, 60, * 120, and 180). If you don't do this, the value is rounded to the nearest minute. * For example, if you specify a value of 70, users are disconnected after 1 minute * of inactivity. If you specify a value that is at the midpoint between two * different minutes, the value is rounded up. For example, if you specify a value * of 90, users are disconnected after 2 minutes of inactivity.

*/ inline Fleet& WithIdleDisconnectTimeoutInSeconds(int value) { SetIdleDisconnectTimeoutInSeconds(value); return *this;} /** *

The ARN of the IAM role that is applied to the fleet. To assume a role, the * fleet instance calls the AWS Security Token Service (STS) * AssumeRole API operation and passes the ARN of the role to use. The * operation creates a new session with temporary credentials. AppStream 2.0 * retrieves the temporary credentials and creates the * appstream_machine_role credential profile on the instance.

For * more information, see Using * an IAM Role to Grant Permissions to Applications and Scripts Running on * AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 * Administration Guide.

*/ inline const Aws::String& GetIamRoleArn() const{ return m_iamRoleArn; } /** *

The ARN of the IAM role that is applied to the fleet. To assume a role, the * fleet instance calls the AWS Security Token Service (STS) * AssumeRole API operation and passes the ARN of the role to use. The * operation creates a new session with temporary credentials. AppStream 2.0 * retrieves the temporary credentials and creates the * appstream_machine_role credential profile on the instance.

For * more information, see Using * an IAM Role to Grant Permissions to Applications and Scripts Running on * AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 * Administration Guide.

*/ inline bool IamRoleArnHasBeenSet() const { return m_iamRoleArnHasBeenSet; } /** *

The ARN of the IAM role that is applied to the fleet. To assume a role, the * fleet instance calls the AWS Security Token Service (STS) * AssumeRole API operation and passes the ARN of the role to use. The * operation creates a new session with temporary credentials. AppStream 2.0 * retrieves the temporary credentials and creates the * appstream_machine_role credential profile on the instance.

For * more information, see Using * an IAM Role to Grant Permissions to Applications and Scripts Running on * AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 * Administration Guide.

*/ inline void SetIamRoleArn(const Aws::String& value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn = value; } /** *

The ARN of the IAM role that is applied to the fleet. To assume a role, the * fleet instance calls the AWS Security Token Service (STS) * AssumeRole API operation and passes the ARN of the role to use. The * operation creates a new session with temporary credentials. AppStream 2.0 * retrieves the temporary credentials and creates the * appstream_machine_role credential profile on the instance.

For * more information, see Using * an IAM Role to Grant Permissions to Applications and Scripts Running on * AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 * Administration Guide.

*/ inline void SetIamRoleArn(Aws::String&& value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn = std::move(value); } /** *

The ARN of the IAM role that is applied to the fleet. To assume a role, the * fleet instance calls the AWS Security Token Service (STS) * AssumeRole API operation and passes the ARN of the role to use. The * operation creates a new session with temporary credentials. AppStream 2.0 * retrieves the temporary credentials and creates the * appstream_machine_role credential profile on the instance.

For * more information, see Using * an IAM Role to Grant Permissions to Applications and Scripts Running on * AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 * Administration Guide.

*/ inline void SetIamRoleArn(const char* value) { m_iamRoleArnHasBeenSet = true; m_iamRoleArn.assign(value); } /** *

The ARN of the IAM role that is applied to the fleet. To assume a role, the * fleet instance calls the AWS Security Token Service (STS) * AssumeRole API operation and passes the ARN of the role to use. The * operation creates a new session with temporary credentials. AppStream 2.0 * retrieves the temporary credentials and creates the * appstream_machine_role credential profile on the instance.

For * more information, see Using * an IAM Role to Grant Permissions to Applications and Scripts Running on * AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 * Administration Guide.

*/ inline Fleet& WithIamRoleArn(const Aws::String& value) { SetIamRoleArn(value); return *this;} /** *

The ARN of the IAM role that is applied to the fleet. To assume a role, the * fleet instance calls the AWS Security Token Service (STS) * AssumeRole API operation and passes the ARN of the role to use. The * operation creates a new session with temporary credentials. AppStream 2.0 * retrieves the temporary credentials and creates the * appstream_machine_role credential profile on the instance.

For * more information, see Using * an IAM Role to Grant Permissions to Applications and Scripts Running on * AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 * Administration Guide.

*/ inline Fleet& WithIamRoleArn(Aws::String&& value) { SetIamRoleArn(std::move(value)); return *this;} /** *

The ARN of the IAM role that is applied to the fleet. To assume a role, the * fleet instance calls the AWS Security Token Service (STS) * AssumeRole API operation and passes the ARN of the role to use. The * operation creates a new session with temporary credentials. AppStream 2.0 * retrieves the temporary credentials and creates the * appstream_machine_role credential profile on the instance.

For * more information, see Using * an IAM Role to Grant Permissions to Applications and Scripts Running on * AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 * Administration Guide.

*/ inline Fleet& WithIamRoleArn(const char* value) { SetIamRoleArn(value); return *this;} /** *

The AppStream 2.0 view that is displayed to your users when they stream from * the fleet. When APP is specified, only the windows of applications * opened by users display. When DESKTOP is specified, the standard * desktop that is provided by the operating system displays.

The default * value is APP.

*/ inline const StreamView& GetStreamView() const{ return m_streamView; } /** *

The AppStream 2.0 view that is displayed to your users when they stream from * the fleet. When APP is specified, only the windows of applications * opened by users display. When DESKTOP is specified, the standard * desktop that is provided by the operating system displays.

The default * value is APP.

*/ inline bool StreamViewHasBeenSet() const { return m_streamViewHasBeenSet; } /** *

The AppStream 2.0 view that is displayed to your users when they stream from * the fleet. When APP is specified, only the windows of applications * opened by users display. When DESKTOP is specified, the standard * desktop that is provided by the operating system displays.

The default * value is APP.

*/ inline void SetStreamView(const StreamView& value) { m_streamViewHasBeenSet = true; m_streamView = value; } /** *

The AppStream 2.0 view that is displayed to your users when they stream from * the fleet. When APP is specified, only the windows of applications * opened by users display. When DESKTOP is specified, the standard * desktop that is provided by the operating system displays.

The default * value is APP.

*/ inline void SetStreamView(StreamView&& value) { m_streamViewHasBeenSet = true; m_streamView = std::move(value); } /** *

The AppStream 2.0 view that is displayed to your users when they stream from * the fleet. When APP is specified, only the windows of applications * opened by users display. When DESKTOP is specified, the standard * desktop that is provided by the operating system displays.

The default * value is APP.

*/ inline Fleet& WithStreamView(const StreamView& value) { SetStreamView(value); return *this;} /** *

The AppStream 2.0 view that is displayed to your users when they stream from * the fleet. When APP is specified, only the windows of applications * opened by users display. When DESKTOP is specified, the standard * desktop that is provided by the operating system displays.

The default * value is APP.

*/ inline Fleet& WithStreamView(StreamView&& value) { SetStreamView(std::move(value)); return *this;} /** *

The platform of the fleet.

*/ inline const PlatformType& GetPlatform() const{ return m_platform; } /** *

The platform of the fleet.

*/ inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; } /** *

The platform of the fleet.

*/ inline void SetPlatform(const PlatformType& value) { m_platformHasBeenSet = true; m_platform = value; } /** *

The platform of the fleet.

*/ inline void SetPlatform(PlatformType&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); } /** *

The platform of the fleet.

*/ inline Fleet& WithPlatform(const PlatformType& value) { SetPlatform(value); return *this;} /** *

The platform of the fleet.

*/ inline Fleet& WithPlatform(PlatformType&& value) { SetPlatform(std::move(value)); return *this;} /** *

The maximum number of concurrent sessions for the fleet.

*/ inline int GetMaxConcurrentSessions() const{ return m_maxConcurrentSessions; } /** *

The maximum number of concurrent sessions for the fleet.

*/ inline bool MaxConcurrentSessionsHasBeenSet() const { return m_maxConcurrentSessionsHasBeenSet; } /** *

The maximum number of concurrent sessions for the fleet.

*/ inline void SetMaxConcurrentSessions(int value) { m_maxConcurrentSessionsHasBeenSet = true; m_maxConcurrentSessions = value; } /** *

The maximum number of concurrent sessions for the fleet.

*/ inline Fleet& WithMaxConcurrentSessions(int value) { SetMaxConcurrentSessions(value); return *this;} /** *

The USB device filter strings associated with the fleet.

*/ inline const Aws::Vector& GetUsbDeviceFilterStrings() const{ return m_usbDeviceFilterStrings; } /** *

The USB device filter strings associated with the fleet.

*/ inline bool UsbDeviceFilterStringsHasBeenSet() const { return m_usbDeviceFilterStringsHasBeenSet; } /** *

The USB device filter strings associated with the fleet.

*/ inline void SetUsbDeviceFilterStrings(const Aws::Vector& value) { m_usbDeviceFilterStringsHasBeenSet = true; m_usbDeviceFilterStrings = value; } /** *

The USB device filter strings associated with the fleet.

*/ inline void SetUsbDeviceFilterStrings(Aws::Vector&& value) { m_usbDeviceFilterStringsHasBeenSet = true; m_usbDeviceFilterStrings = std::move(value); } /** *

The USB device filter strings associated with the fleet.

*/ inline Fleet& WithUsbDeviceFilterStrings(const Aws::Vector& value) { SetUsbDeviceFilterStrings(value); return *this;} /** *

The USB device filter strings associated with the fleet.

*/ inline Fleet& WithUsbDeviceFilterStrings(Aws::Vector&& value) { SetUsbDeviceFilterStrings(std::move(value)); return *this;} /** *

The USB device filter strings associated with the fleet.

*/ inline Fleet& AddUsbDeviceFilterStrings(const Aws::String& value) { m_usbDeviceFilterStringsHasBeenSet = true; m_usbDeviceFilterStrings.push_back(value); return *this; } /** *

The USB device filter strings associated with the fleet.

*/ inline Fleet& AddUsbDeviceFilterStrings(Aws::String&& value) { m_usbDeviceFilterStringsHasBeenSet = true; m_usbDeviceFilterStrings.push_back(std::move(value)); return *this; } /** *

The USB device filter strings associated with the fleet.

*/ inline Fleet& AddUsbDeviceFilterStrings(const char* value) { m_usbDeviceFilterStringsHasBeenSet = true; m_usbDeviceFilterStrings.push_back(value); return *this; } /** *

The S3 location of the session scripts configuration zip file. This only * applies to Elastic fleets.

*/ inline const S3Location& GetSessionScriptS3Location() const{ return m_sessionScriptS3Location; } /** *

The S3 location of the session scripts configuration zip file. This only * applies to Elastic fleets.

*/ inline bool SessionScriptS3LocationHasBeenSet() const { return m_sessionScriptS3LocationHasBeenSet; } /** *

The S3 location of the session scripts configuration zip file. This only * applies to Elastic fleets.

*/ inline void SetSessionScriptS3Location(const S3Location& value) { m_sessionScriptS3LocationHasBeenSet = true; m_sessionScriptS3Location = value; } /** *

The S3 location of the session scripts configuration zip file. This only * applies to Elastic fleets.

*/ inline void SetSessionScriptS3Location(S3Location&& value) { m_sessionScriptS3LocationHasBeenSet = true; m_sessionScriptS3Location = std::move(value); } /** *

The S3 location of the session scripts configuration zip file. This only * applies to Elastic fleets.

*/ inline Fleet& WithSessionScriptS3Location(const S3Location& value) { SetSessionScriptS3Location(value); return *this;} /** *

The S3 location of the session scripts configuration zip file. This only * applies to Elastic fleets.

*/ inline Fleet& WithSessionScriptS3Location(S3Location&& value) { SetSessionScriptS3Location(std::move(value)); return *this;} private: Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_displayName; bool m_displayNameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_imageName; bool m_imageNameHasBeenSet = false; Aws::String m_imageArn; bool m_imageArnHasBeenSet = false; Aws::String m_instanceType; bool m_instanceTypeHasBeenSet = false; FleetType m_fleetType; bool m_fleetTypeHasBeenSet = false; ComputeCapacityStatus m_computeCapacityStatus; bool m_computeCapacityStatusHasBeenSet = false; int m_maxUserDurationInSeconds; bool m_maxUserDurationInSecondsHasBeenSet = false; int m_disconnectTimeoutInSeconds; bool m_disconnectTimeoutInSecondsHasBeenSet = false; FleetState m_state; bool m_stateHasBeenSet = false; VpcConfig m_vpcConfig; bool m_vpcConfigHasBeenSet = false; Aws::Utils::DateTime m_createdTime; bool m_createdTimeHasBeenSet = false; Aws::Vector m_fleetErrors; bool m_fleetErrorsHasBeenSet = false; bool m_enableDefaultInternetAccess; bool m_enableDefaultInternetAccessHasBeenSet = false; DomainJoinInfo m_domainJoinInfo; bool m_domainJoinInfoHasBeenSet = false; int m_idleDisconnectTimeoutInSeconds; bool m_idleDisconnectTimeoutInSecondsHasBeenSet = false; Aws::String m_iamRoleArn; bool m_iamRoleArnHasBeenSet = false; StreamView m_streamView; bool m_streamViewHasBeenSet = false; PlatformType m_platform; bool m_platformHasBeenSet = false; int m_maxConcurrentSessions; bool m_maxConcurrentSessionsHasBeenSet = false; Aws::Vector m_usbDeviceFilterStrings; bool m_usbDeviceFilterStringsHasBeenSet = false; S3Location m_sessionScriptS3Location; bool m_sessionScriptS3LocationHasBeenSet = false; }; } // namespace Model } // namespace AppStream } // namespace Aws