/** * 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 namespace Aws { namespace AppStream { namespace Model { /** */ class UpdateFleetRequest : public AppStreamRequest { public: AWS_APPSTREAM_API UpdateFleetRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateFleet"; } AWS_APPSTREAM_API Aws::String SerializePayload() const override; AWS_APPSTREAM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

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 UpdateFleetRequest& WithImageName(const Aws::String& value) { SetImageName(value); return *this;} /** *

The name of the image used to create the fleet.

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

The name of the image used to create the fleet.

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

The ARN of the public, private, or shared image to use.

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

The ARN of the public, private, or shared image to use.

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

The ARN of the public, private, or shared image to use.

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

The ARN of the public, private, or shared image to use.

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

The ARN of the public, private, or shared image to use.

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

The ARN of the public, private, or shared image to use.

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

The ARN of the public, private, or shared image to use.

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

The ARN of the public, private, or shared image to use.

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

A unique name for the fleet.

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

A unique name for the fleet.

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

A unique name for the fleet.

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

A unique name for the fleet.

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

A unique name for the fleet.

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

A unique name for the fleet.

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

A unique name for the fleet.

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

A unique name for the fleet.

*/ inline UpdateFleetRequest& WithName(const char* value) { SetName(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.standard.xlarge

  • stream.standard.2xlarge

    *
  • 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

The following * instance types are available for Elastic fleets:

  • *

    stream.standard.small

  • stream.standard.medium

  • *

    stream.standard.large

  • stream.standard.xlarge

  • *

    stream.standard.2xlarge

*/ 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.standard.xlarge

  • stream.standard.2xlarge

    *
  • 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

The following * instance types are available for Elastic fleets:

  • *

    stream.standard.small

  • stream.standard.medium

  • *

    stream.standard.large

  • stream.standard.xlarge

  • *

    stream.standard.2xlarge

*/ 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.standard.xlarge

  • stream.standard.2xlarge

    *
  • 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

The following * instance types are available for Elastic fleets:

  • *

    stream.standard.small

  • stream.standard.medium

  • *

    stream.standard.large

  • stream.standard.xlarge

  • *

    stream.standard.2xlarge

*/ 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.standard.xlarge

  • stream.standard.2xlarge

    *
  • 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

The following * instance types are available for Elastic fleets:

  • *

    stream.standard.small

  • stream.standard.medium

  • *

    stream.standard.large

  • stream.standard.xlarge

  • *

    stream.standard.2xlarge

*/ 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.standard.xlarge

  • stream.standard.2xlarge

    *
  • 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

The following * instance types are available for Elastic fleets:

  • *

    stream.standard.small

  • stream.standard.medium

  • *

    stream.standard.large

  • stream.standard.xlarge

  • *

    stream.standard.2xlarge

*/ 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.standard.xlarge

  • stream.standard.2xlarge

    *
  • 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

The following * instance types are available for Elastic fleets:

  • *

    stream.standard.small

  • stream.standard.medium

  • *

    stream.standard.large

  • stream.standard.xlarge

  • *

    stream.standard.2xlarge

*/ inline UpdateFleetRequest& 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.standard.xlarge

  • stream.standard.2xlarge

    *
  • 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

The following * instance types are available for Elastic fleets:

  • *

    stream.standard.small

  • stream.standard.medium

  • *

    stream.standard.large

  • stream.standard.xlarge

  • *

    stream.standard.2xlarge

*/ inline UpdateFleetRequest& 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.standard.xlarge

  • stream.standard.2xlarge

    *
  • 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

The following * instance types are available for Elastic fleets:

  • *

    stream.standard.small

  • stream.standard.medium

  • *

    stream.standard.large

  • stream.standard.xlarge

  • *

    stream.standard.2xlarge

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

The desired capacity for the fleet. This is not allowed for Elastic * fleets.

*/ inline const ComputeCapacity& GetComputeCapacity() const{ return m_computeCapacity; } /** *

The desired capacity for the fleet. This is not allowed for Elastic * fleets.

*/ inline bool ComputeCapacityHasBeenSet() const { return m_computeCapacityHasBeenSet; } /** *

The desired capacity for the fleet. This is not allowed for Elastic * fleets.

*/ inline void SetComputeCapacity(const ComputeCapacity& value) { m_computeCapacityHasBeenSet = true; m_computeCapacity = value; } /** *

The desired capacity for the fleet. This is not allowed for Elastic * fleets.

*/ inline void SetComputeCapacity(ComputeCapacity&& value) { m_computeCapacityHasBeenSet = true; m_computeCapacity = std::move(value); } /** *

The desired capacity for the fleet. This is not allowed for Elastic * fleets.

*/ inline UpdateFleetRequest& WithComputeCapacity(const ComputeCapacity& value) { SetComputeCapacity(value); return *this;} /** *

The desired capacity for the fleet. This is not allowed for Elastic * fleets.

*/ inline UpdateFleetRequest& WithComputeCapacity(ComputeCapacity&& value) { SetComputeCapacity(std::move(value)); return *this;} /** *

The VPC configuration for the fleet. This is required for Elastic fleets, but * not required for other fleet types. Elastic fleets require that you specify at * least two subnets in different availability zones.

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

The VPC configuration for the fleet. This is required for Elastic fleets, but * not required for other fleet types. Elastic fleets require that you specify at * least two subnets in different availability zones.

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

The VPC configuration for the fleet. This is required for Elastic fleets, but * not required for other fleet types. Elastic fleets require that you specify at * least two subnets in different availability zones.

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

The VPC configuration for the fleet. This is required for Elastic fleets, but * not required for other fleet types. Elastic fleets require that you specify at * least two subnets in different availability zones.

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

The VPC configuration for the fleet. This is required for Elastic fleets, but * not required for other fleet types. Elastic fleets require that you specify at * least two subnets in different availability zones.

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

The VPC configuration for the fleet. This is required for Elastic fleets, but * not required for other fleet types. Elastic fleets require that you specify at * least two subnets in different availability zones.

*/ inline UpdateFleetRequest& WithVpcConfig(VpcConfig&& value) { SetVpcConfig(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 * 432000.

*/ 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 * 432000.

*/ 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 * 432000.

*/ 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 * 432000.

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

The amount of time that a streaming session remains active after users * disconnect. If users 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 users 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 users 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 users 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 UpdateFleetRequest& WithDisconnectTimeoutInSeconds(int value) { SetDisconnectTimeoutInSeconds(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 UpdateFleetRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description to display.

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

The description to display.

*/ inline UpdateFleetRequest& WithDescription(const char* value) { SetDescription(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 UpdateFleetRequest& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} /** *

The fleet name to display.

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

The fleet name to display.

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

Enables or disables default internet access for the fleet.

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

Enables or disables default internet access for the fleet.

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

Enables or disables default internet access for the fleet.

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

Enables or disables default internet access for the fleet.

*/ inline UpdateFleetRequest& 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 UpdateFleetRequest& 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 UpdateFleetRequest& 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 UpdateFleetRequest& WithIdleDisconnectTimeoutInSeconds(int value) { SetIdleDisconnectTimeoutInSeconds(value); return *this;} /** *

The fleet attributes to delete.

*/ inline const Aws::Vector& GetAttributesToDelete() const{ return m_attributesToDelete; } /** *

The fleet attributes to delete.

*/ inline bool AttributesToDeleteHasBeenSet() const { return m_attributesToDeleteHasBeenSet; } /** *

The fleet attributes to delete.

*/ inline void SetAttributesToDelete(const Aws::Vector& value) { m_attributesToDeleteHasBeenSet = true; m_attributesToDelete = value; } /** *

The fleet attributes to delete.

*/ inline void SetAttributesToDelete(Aws::Vector&& value) { m_attributesToDeleteHasBeenSet = true; m_attributesToDelete = std::move(value); } /** *

The fleet attributes to delete.

*/ inline UpdateFleetRequest& WithAttributesToDelete(const Aws::Vector& value) { SetAttributesToDelete(value); return *this;} /** *

The fleet attributes to delete.

*/ inline UpdateFleetRequest& WithAttributesToDelete(Aws::Vector&& value) { SetAttributesToDelete(std::move(value)); return *this;} /** *

The fleet attributes to delete.

*/ inline UpdateFleetRequest& AddAttributesToDelete(const FleetAttribute& value) { m_attributesToDeleteHasBeenSet = true; m_attributesToDelete.push_back(value); return *this; } /** *

The fleet attributes to delete.

*/ inline UpdateFleetRequest& AddAttributesToDelete(FleetAttribute&& value) { m_attributesToDeleteHasBeenSet = true; m_attributesToDelete.push_back(std::move(value)); return *this; } /** *

The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To * assume a role, a 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 Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To * assume a role, a 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 Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To * assume a role, a 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 Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To * assume a role, a 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 Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To * assume a role, a 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 Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To * assume a role, a 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 UpdateFleetRequest& WithIamRoleArn(const Aws::String& value) { SetIamRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To * assume a role, a 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 UpdateFleetRequest& WithIamRoleArn(Aws::String&& value) { SetIamRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To * assume a role, a 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 UpdateFleetRequest& 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 UpdateFleetRequest& 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 UpdateFleetRequest& WithStreamView(StreamView&& value) { SetStreamView(std::move(value)); return *this;} /** *

The platform of the fleet. WINDOWS_SERVER_2019 and AMAZON_LINUX2 are * supported for Elastic fleets.

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

The platform of the fleet. WINDOWS_SERVER_2019 and AMAZON_LINUX2 are * supported for Elastic fleets.

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

The platform of the fleet. WINDOWS_SERVER_2019 and AMAZON_LINUX2 are * supported for Elastic fleets.

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

The platform of the fleet. WINDOWS_SERVER_2019 and AMAZON_LINUX2 are * supported for Elastic fleets.

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

The platform of the fleet. WINDOWS_SERVER_2019 and AMAZON_LINUX2 are * supported for Elastic fleets.

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

The platform of the fleet. WINDOWS_SERVER_2019 and AMAZON_LINUX2 are * supported for Elastic fleets.

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

The maximum number of concurrent sessions for a fleet.

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

The maximum number of concurrent sessions for a fleet.

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

The maximum number of concurrent sessions for a fleet.

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

The maximum number of concurrent sessions for a fleet.

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

The USB device filter strings that specify which USB devices a user can * redirect to the fleet streaming session, when using the Windows native client. * This is allowed but not required for Elastic fleets.

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

The USB device filter strings that specify which USB devices a user can * redirect to the fleet streaming session, when using the Windows native client. * This is allowed but not required for Elastic fleets.

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

The USB device filter strings that specify which USB devices a user can * redirect to the fleet streaming session, when using the Windows native client. * This is allowed but not required for Elastic fleets.

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

The USB device filter strings that specify which USB devices a user can * redirect to the fleet streaming session, when using the Windows native client. * This is allowed but not required for Elastic fleets.

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

The USB device filter strings that specify which USB devices a user can * redirect to the fleet streaming session, when using the Windows native client. * This is allowed but not required for Elastic fleets.

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

The USB device filter strings that specify which USB devices a user can * redirect to the fleet streaming session, when using the Windows native client. * This is allowed but not required for Elastic fleets.

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

The USB device filter strings that specify which USB devices a user can * redirect to the fleet streaming session, when using the Windows native client. * This is allowed but not required for Elastic fleets.

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

The USB device filter strings that specify which USB devices a user can * redirect to the fleet streaming session, when using the Windows native client. * This is allowed but not required for Elastic fleets.

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

The USB device filter strings that specify which USB devices a user can * redirect to the fleet streaming session, when using the Windows native client. * This is allowed but not required for Elastic fleets.

*/ inline UpdateFleetRequest& 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 UpdateFleetRequest& 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 UpdateFleetRequest& WithSessionScriptS3Location(S3Location&& value) { SetSessionScriptS3Location(std::move(value)); return *this;} private: Aws::String m_imageName; bool m_imageNameHasBeenSet = false; Aws::String m_imageArn; bool m_imageArnHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_instanceType; bool m_instanceTypeHasBeenSet = false; ComputeCapacity m_computeCapacity; bool m_computeCapacityHasBeenSet = false; VpcConfig m_vpcConfig; bool m_vpcConfigHasBeenSet = false; int m_maxUserDurationInSeconds; bool m_maxUserDurationInSecondsHasBeenSet = false; int m_disconnectTimeoutInSeconds; bool m_disconnectTimeoutInSecondsHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_displayName; bool m_displayNameHasBeenSet = false; bool m_enableDefaultInternetAccess; bool m_enableDefaultInternetAccessHasBeenSet = false; DomainJoinInfo m_domainJoinInfo; bool m_domainJoinInfoHasBeenSet = false; int m_idleDisconnectTimeoutInSeconds; bool m_idleDisconnectTimeoutInSecondsHasBeenSet = false; Aws::Vector m_attributesToDelete; bool m_attributesToDeleteHasBeenSet = 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