Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.appstream.kotlin.FleetArgs.kt Maven / Gradle / Ivy
Go to download
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.aws.appstream.kotlin
import com.pulumi.aws.appstream.FleetArgs.builder
import com.pulumi.aws.appstream.kotlin.inputs.FleetComputeCapacityArgs
import com.pulumi.aws.appstream.kotlin.inputs.FleetComputeCapacityArgsBuilder
import com.pulumi.aws.appstream.kotlin.inputs.FleetDomainJoinInfoArgs
import com.pulumi.aws.appstream.kotlin.inputs.FleetDomainJoinInfoArgsBuilder
import com.pulumi.aws.appstream.kotlin.inputs.FleetVpcConfigArgs
import com.pulumi.aws.appstream.kotlin.inputs.FleetVpcConfigArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Provides an AppStream fleet.
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
* const testFleet = new aws.appstream.Fleet("test_fleet", {
* name: "test-fleet",
* computeCapacity: {
* desiredInstances: 1,
* },
* description: "test fleet",
* idleDisconnectTimeoutInSeconds: 60,
* displayName: "test-fleet",
* enableDefaultInternetAccess: false,
* fleetType: "ON_DEMAND",
* imageName: "Amazon-AppStream2-Sample-Image-03-11-2023",
* instanceType: "stream.standard.large",
* maxUserDurationInSeconds: 600,
* vpcConfig: {
* subnetIds: ["subnet-06e9b13400c225127"],
* },
* tags: {
* TagName: "tag-value",
* },
* });
* ```
* ```python
* import pulumi
* import pulumi_aws as aws
* test_fleet = aws.appstream.Fleet("test_fleet",
* name="test-fleet",
* compute_capacity={
* "desired_instances": 1,
* },
* description="test fleet",
* idle_disconnect_timeout_in_seconds=60,
* display_name="test-fleet",
* enable_default_internet_access=False,
* fleet_type="ON_DEMAND",
* image_name="Amazon-AppStream2-Sample-Image-03-11-2023",
* instance_type="stream.standard.large",
* max_user_duration_in_seconds=600,
* vpc_config={
* "subnet_ids": ["subnet-06e9b13400c225127"],
* },
* tags={
* "TagName": "tag-value",
* })
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Aws = Pulumi.Aws;
* return await Deployment.RunAsync(() =>
* {
* var testFleet = new Aws.AppStream.Fleet("test_fleet", new()
* {
* Name = "test-fleet",
* ComputeCapacity = new Aws.AppStream.Inputs.FleetComputeCapacityArgs
* {
* DesiredInstances = 1,
* },
* Description = "test fleet",
* IdleDisconnectTimeoutInSeconds = 60,
* DisplayName = "test-fleet",
* EnableDefaultInternetAccess = false,
* FleetType = "ON_DEMAND",
* ImageName = "Amazon-AppStream2-Sample-Image-03-11-2023",
* InstanceType = "stream.standard.large",
* MaxUserDurationInSeconds = 600,
* VpcConfig = new Aws.AppStream.Inputs.FleetVpcConfigArgs
* {
* SubnetIds = new[]
* {
* "subnet-06e9b13400c225127",
* },
* },
* Tags =
* {
* { "TagName", "tag-value" },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appstream"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* _, err := appstream.NewFleet(ctx, "test_fleet", &appstream.FleetArgs{
* Name: pulumi.String("test-fleet"),
* ComputeCapacity: &appstream.FleetComputeCapacityArgs{
* DesiredInstances: pulumi.Int(1),
* },
* Description: pulumi.String("test fleet"),
* IdleDisconnectTimeoutInSeconds: pulumi.Int(60),
* DisplayName: pulumi.String("test-fleet"),
* EnableDefaultInternetAccess: pulumi.Bool(false),
* FleetType: pulumi.String("ON_DEMAND"),
* ImageName: pulumi.String("Amazon-AppStream2-Sample-Image-03-11-2023"),
* InstanceType: pulumi.String("stream.standard.large"),
* MaxUserDurationInSeconds: pulumi.Int(600),
* VpcConfig: &appstream.FleetVpcConfigArgs{
* SubnetIds: pulumi.StringArray{
* pulumi.String("subnet-06e9b13400c225127"),
* },
* },
* Tags: pulumi.StringMap{
* "TagName": pulumi.String("tag-value"),
* },
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.aws.appstream.Fleet;
* import com.pulumi.aws.appstream.FleetArgs;
* import com.pulumi.aws.appstream.inputs.FleetComputeCapacityArgs;
* import com.pulumi.aws.appstream.inputs.FleetVpcConfigArgs;
* import java.util.List;
* import java.util.ArrayList;
* import java.util.Map;
* import java.io.File;
* import java.nio.file.Files;
* import java.nio.file.Paths;
* public class App {
* public static void main(String[] args) {
* Pulumi.run(App::stack);
* }
* public static void stack(Context ctx) {
* var testFleet = new Fleet("testFleet", FleetArgs.builder()
* .name("test-fleet")
* .computeCapacity(FleetComputeCapacityArgs.builder()
* .desiredInstances(1)
* .build())
* .description("test fleet")
* .idleDisconnectTimeoutInSeconds(60)
* .displayName("test-fleet")
* .enableDefaultInternetAccess(false)
* .fleetType("ON_DEMAND")
* .imageName("Amazon-AppStream2-Sample-Image-03-11-2023")
* .instanceType("stream.standard.large")
* .maxUserDurationInSeconds(600)
* .vpcConfig(FleetVpcConfigArgs.builder()
* .subnetIds("subnet-06e9b13400c225127")
* .build())
* .tags(Map.of("TagName", "tag-value"))
* .build());
* }
* }
* ```
* ```yaml
* resources:
* testFleet:
* type: aws:appstream:Fleet
* name: test_fleet
* properties:
* name: test-fleet
* computeCapacity:
* desiredInstances: 1
* description: test fleet
* idleDisconnectTimeoutInSeconds: 60
* displayName: test-fleet
* enableDefaultInternetAccess: false
* fleetType: ON_DEMAND
* imageName: Amazon-AppStream2-Sample-Image-03-11-2023
* instanceType: stream.standard.large
* maxUserDurationInSeconds: 600
* vpcConfig:
* subnetIds:
* - subnet-06e9b13400c225127
* tags:
* TagName: tag-value
* ```
*
* ## Import
* Using `pulumi import`, import `aws_appstream_fleet` using the id. For example:
* ```sh
* $ pulumi import aws:appstream/fleet:Fleet example fleetNameExample
* ```
* @property computeCapacity Configuration block for the desired capacity of the fleet. See below.
* @property description Description to display.
* @property disconnectTimeoutInSeconds Amount of time that a streaming session remains active after users disconnect.
* @property displayName Human-readable friendly name for the AppStream fleet.
* @property domainJoinInfo Configuration block for the name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain. See below.
* @property enableDefaultInternetAccess Enables or disables default internet access for the fleet.
* @property fleetType Fleet type. Valid values are: `ON_DEMAND`, `ALWAYS_ON`
* @property iamRoleArn ARN of the IAM role to apply to the fleet.
* @property idleDisconnectTimeoutInSeconds Amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the `disconnect_timeout_in_seconds` time interval begins. Defaults to `0`. Valid value is between `60` and `3600 `seconds.
* @property imageArn ARN of the public, private, or shared image to use.
* @property imageName Name of the image used to create the fleet.
* @property instanceType Instance type to use when launching fleet instances.
* @property maxSessionsPerInstance The maximum number of user sessions on an instance. This only applies to multi-session fleets.
* @property maxUserDurationInSeconds Maximum amount of time that a streaming session can remain active, in seconds.
* @property name Unique name for the fleet.
* The following arguments are optional:
* @property streamView 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. If not specified, defaults to `APP`.
* @property tags Map of tags to attach to AppStream instances.
* @property vpcConfig Configuration block for the VPC configuration for the image builder. See below.
*/
public data class FleetArgs(
public val computeCapacity: Output? = null,
public val description: Output? = null,
public val disconnectTimeoutInSeconds: Output? = null,
public val displayName: Output? = null,
public val domainJoinInfo: Output? = null,
public val enableDefaultInternetAccess: Output? = null,
public val fleetType: Output? = null,
public val iamRoleArn: Output? = null,
public val idleDisconnectTimeoutInSeconds: Output? = null,
public val imageArn: Output? = null,
public val imageName: Output? = null,
public val instanceType: Output? = null,
public val maxSessionsPerInstance: Output? = null,
public val maxUserDurationInSeconds: Output? = null,
public val name: Output? = null,
public val streamView: Output? = null,
public val tags: Output>? = null,
public val vpcConfig: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.aws.appstream.FleetArgs =
com.pulumi.aws.appstream.FleetArgs.builder()
.computeCapacity(computeCapacity?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.description(description?.applyValue({ args0 -> args0 }))
.disconnectTimeoutInSeconds(disconnectTimeoutInSeconds?.applyValue({ args0 -> args0 }))
.displayName(displayName?.applyValue({ args0 -> args0 }))
.domainJoinInfo(domainJoinInfo?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.enableDefaultInternetAccess(enableDefaultInternetAccess?.applyValue({ args0 -> args0 }))
.fleetType(fleetType?.applyValue({ args0 -> args0 }))
.iamRoleArn(iamRoleArn?.applyValue({ args0 -> args0 }))
.idleDisconnectTimeoutInSeconds(idleDisconnectTimeoutInSeconds?.applyValue({ args0 -> args0 }))
.imageArn(imageArn?.applyValue({ args0 -> args0 }))
.imageName(imageName?.applyValue({ args0 -> args0 }))
.instanceType(instanceType?.applyValue({ args0 -> args0 }))
.maxSessionsPerInstance(maxSessionsPerInstance?.applyValue({ args0 -> args0 }))
.maxUserDurationInSeconds(maxUserDurationInSeconds?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.streamView(streamView?.applyValue({ args0 -> args0 }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.vpcConfig(vpcConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [FleetArgs].
*/
@PulumiTagMarker
public class FleetArgsBuilder internal constructor() {
private var computeCapacity: Output? = null
private var description: Output? = null
private var disconnectTimeoutInSeconds: Output? = null
private var displayName: Output? = null
private var domainJoinInfo: Output? = null
private var enableDefaultInternetAccess: Output? = null
private var fleetType: Output? = null
private var iamRoleArn: Output? = null
private var idleDisconnectTimeoutInSeconds: Output? = null
private var imageArn: Output? = null
private var imageName: Output? = null
private var instanceType: Output? = null
private var maxSessionsPerInstance: Output? = null
private var maxUserDurationInSeconds: Output? = null
private var name: Output? = null
private var streamView: Output? = null
private var tags: Output>? = null
private var vpcConfig: Output? = null
/**
* @param value Configuration block for the desired capacity of the fleet. See below.
*/
@JvmName("hsaeoxokbnsqbtrx")
public suspend fun computeCapacity(`value`: Output) {
this.computeCapacity = value
}
/**
* @param value Description to display.
*/
@JvmName("pbbxrosjvjmghmcv")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value Amount of time that a streaming session remains active after users disconnect.
*/
@JvmName("jtofpkaybdtfhmlb")
public suspend fun disconnectTimeoutInSeconds(`value`: Output) {
this.disconnectTimeoutInSeconds = value
}
/**
* @param value Human-readable friendly name for the AppStream fleet.
*/
@JvmName("hlpsmwfsohangdlc")
public suspend fun displayName(`value`: Output) {
this.displayName = value
}
/**
* @param value Configuration block for the name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain. See below.
*/
@JvmName("lvvgjfqffecfwewc")
public suspend fun domainJoinInfo(`value`: Output) {
this.domainJoinInfo = value
}
/**
* @param value Enables or disables default internet access for the fleet.
*/
@JvmName("rxvetfgyqoxsthfh")
public suspend fun enableDefaultInternetAccess(`value`: Output) {
this.enableDefaultInternetAccess = value
}
/**
* @param value Fleet type. Valid values are: `ON_DEMAND`, `ALWAYS_ON`
*/
@JvmName("ievxvnmfadsnvhnt")
public suspend fun fleetType(`value`: Output) {
this.fleetType = value
}
/**
* @param value ARN of the IAM role to apply to the fleet.
*/
@JvmName("yorctmumxqmpttlq")
public suspend fun iamRoleArn(`value`: Output) {
this.iamRoleArn = value
}
/**
* @param value Amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the `disconnect_timeout_in_seconds` time interval begins. Defaults to `0`. Valid value is between `60` and `3600 `seconds.
*/
@JvmName("moiilfwylnfipqwq")
public suspend fun idleDisconnectTimeoutInSeconds(`value`: Output) {
this.idleDisconnectTimeoutInSeconds = value
}
/**
* @param value ARN of the public, private, or shared image to use.
*/
@JvmName("avwgqbcnjcpyepvd")
public suspend fun imageArn(`value`: Output) {
this.imageArn = value
}
/**
* @param value Name of the image used to create the fleet.
*/
@JvmName("wwappmkskljlkprf")
public suspend fun imageName(`value`: Output) {
this.imageName = value
}
/**
* @param value Instance type to use when launching fleet instances.
*/
@JvmName("cgpdhxmyrmgfaeiv")
public suspend fun instanceType(`value`: Output) {
this.instanceType = value
}
/**
* @param value The maximum number of user sessions on an instance. This only applies to multi-session fleets.
*/
@JvmName("mrocpdqghndbeief")
public suspend fun maxSessionsPerInstance(`value`: Output) {
this.maxSessionsPerInstance = value
}
/**
* @param value Maximum amount of time that a streaming session can remain active, in seconds.
*/
@JvmName("bcmrjyikdatawprg")
public suspend fun maxUserDurationInSeconds(`value`: Output) {
this.maxUserDurationInSeconds = value
}
/**
* @param value Unique name for the fleet.
* The following arguments are optional:
*/
@JvmName("dxkgvtwrhysddaed")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value 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. If not specified, defaults to `APP`.
*/
@JvmName("qvbjumxanxxnfyrx")
public suspend fun streamView(`value`: Output) {
this.streamView = value
}
/**
* @param value Map of tags to attach to AppStream instances.
*/
@JvmName("mgfuftdbjpssugme")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
/**
* @param value Configuration block for the VPC configuration for the image builder. See below.
*/
@JvmName("hdiewgmbqysbakhd")
public suspend fun vpcConfig(`value`: Output) {
this.vpcConfig = value
}
/**
* @param value Configuration block for the desired capacity of the fleet. See below.
*/
@JvmName("itvwhlkgxowcbtoh")
public suspend fun computeCapacity(`value`: FleetComputeCapacityArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.computeCapacity = mapped
}
/**
* @param argument Configuration block for the desired capacity of the fleet. See below.
*/
@JvmName("apuhbhalaaniamwp")
public suspend fun computeCapacity(argument: suspend FleetComputeCapacityArgsBuilder.() -> Unit) {
val toBeMapped = FleetComputeCapacityArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.computeCapacity = mapped
}
/**
* @param value Description to display.
*/
@JvmName("himpnwomxqhefvkn")
public suspend fun description(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.description = mapped
}
/**
* @param value Amount of time that a streaming session remains active after users disconnect.
*/
@JvmName("sdjdjhyikvelwewh")
public suspend fun disconnectTimeoutInSeconds(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.disconnectTimeoutInSeconds = mapped
}
/**
* @param value Human-readable friendly name for the AppStream fleet.
*/
@JvmName("cbxhbqapfbixdmkg")
public suspend fun displayName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.displayName = mapped
}
/**
* @param value Configuration block for the name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain. See below.
*/
@JvmName("sicvvbjstwrlctmj")
public suspend fun domainJoinInfo(`value`: FleetDomainJoinInfoArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.domainJoinInfo = mapped
}
/**
* @param argument Configuration block for the name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain. See below.
*/
@JvmName("cmwfumkrxlyticpu")
public suspend fun domainJoinInfo(argument: suspend FleetDomainJoinInfoArgsBuilder.() -> Unit) {
val toBeMapped = FleetDomainJoinInfoArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.domainJoinInfo = mapped
}
/**
* @param value Enables or disables default internet access for the fleet.
*/
@JvmName("rqfguottxcknvfyh")
public suspend fun enableDefaultInternetAccess(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.enableDefaultInternetAccess = mapped
}
/**
* @param value Fleet type. Valid values are: `ON_DEMAND`, `ALWAYS_ON`
*/
@JvmName("xurbqmoxcinkjkki")
public suspend fun fleetType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.fleetType = mapped
}
/**
* @param value ARN of the IAM role to apply to the fleet.
*/
@JvmName("qorwpjymfjrdedif")
public suspend fun iamRoleArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.iamRoleArn = mapped
}
/**
* @param value Amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the `disconnect_timeout_in_seconds` time interval begins. Defaults to `0`. Valid value is between `60` and `3600 `seconds.
*/
@JvmName("jhnvuugpgkbirqnu")
public suspend fun idleDisconnectTimeoutInSeconds(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.idleDisconnectTimeoutInSeconds = mapped
}
/**
* @param value ARN of the public, private, or shared image to use.
*/
@JvmName("ictblbkttedppehv")
public suspend fun imageArn(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.imageArn = mapped
}
/**
* @param value Name of the image used to create the fleet.
*/
@JvmName("phqioqmtgekyqxvb")
public suspend fun imageName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.imageName = mapped
}
/**
* @param value Instance type to use when launching fleet instances.
*/
@JvmName("bubmfyvvwiecokcp")
public suspend fun instanceType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.instanceType = mapped
}
/**
* @param value The maximum number of user sessions on an instance. This only applies to multi-session fleets.
*/
@JvmName("luqqatbpcekywfcj")
public suspend fun maxSessionsPerInstance(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.maxSessionsPerInstance = mapped
}
/**
* @param value Maximum amount of time that a streaming session can remain active, in seconds.
*/
@JvmName("wnsctvylebvmsknk")
public suspend fun maxUserDurationInSeconds(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.maxUserDurationInSeconds = mapped
}
/**
* @param value Unique name for the fleet.
* The following arguments are optional:
*/
@JvmName("yplowtkwfkxhvhsg")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value 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. If not specified, defaults to `APP`.
*/
@JvmName("iwcmlyburgqdtljj")
public suspend fun streamView(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.streamView = mapped
}
/**
* @param value Map of tags to attach to AppStream instances.
*/
@JvmName("gwymhtiyodspcgap")
public suspend fun tags(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param values Map of tags to attach to AppStream instances.
*/
@JvmName("ndawirwqxvkxhemx")
public fun tags(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param value Configuration block for the VPC configuration for the image builder. See below.
*/
@JvmName("nivcaecmxfdfmmsx")
public suspend fun vpcConfig(`value`: FleetVpcConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vpcConfig = mapped
}
/**
* @param argument Configuration block for the VPC configuration for the image builder. See below.
*/
@JvmName("wjyyiysjuqhlitts")
public suspend fun vpcConfig(argument: suspend FleetVpcConfigArgsBuilder.() -> Unit) {
val toBeMapped = FleetVpcConfigArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.vpcConfig = mapped
}
internal fun build(): FleetArgs = FleetArgs(
computeCapacity = computeCapacity,
description = description,
disconnectTimeoutInSeconds = disconnectTimeoutInSeconds,
displayName = displayName,
domainJoinInfo = domainJoinInfo,
enableDefaultInternetAccess = enableDefaultInternetAccess,
fleetType = fleetType,
iamRoleArn = iamRoleArn,
idleDisconnectTimeoutInSeconds = idleDisconnectTimeoutInSeconds,
imageArn = imageArn,
imageName = imageName,
instanceType = instanceType,
maxSessionsPerInstance = maxSessionsPerInstance,
maxUserDurationInSeconds = maxUserDurationInSeconds,
name = name,
streamView = streamView,
tags = tags,
vpcConfig = vpcConfig,
)
}